Merge remote-tracking branch 'mfoliveira/ppc64el-v2'
authorZoltan Varga <vargaz@gmail.com>
Sun, 30 Nov 2014 01:48:38 +0000 (02:48 +0100)
committerZoltan Varga <vargaz@gmail.com>
Sun, 30 Nov 2014 01:48:38 +0000 (02:48 +0100)
This is a merge of:

https://github.com/mono/mono/pull/1409

691 files changed:
.gitignore
.gitmodules
README.md
configure.ac
docs/Makefile.am
eglib/configure.ac
eglib/src/glib.h
eglib/src/gspawn.c
eglib/winconfig.h
external/referencesource [new submodule]
mcs/Makefile
mcs/build/Makefile
mcs/build/common/SR.cs [new file with mode: 0644]
mcs/build/profiles/basic.make
mcs/build/profiles/build.make
mcs/build/profiles/mobile.make
mcs/build/profiles/mobile_static.make
mcs/build/profiles/monodroid.make
mcs/build/profiles/monotouch.make
mcs/build/profiles/monotouch_runtime.make
mcs/build/profiles/net_2_0.make [deleted file]
mcs/build/profiles/net_3_5.make [deleted file]
mcs/build/profiles/net_4_0.make
mcs/build/profiles/net_4_5.make
mcs/build/profiles/xammac.make
mcs/build/profiles/xbuild_12.make
mcs/build/profiles/xbuild_14.make [new file with mode: 0644]
mcs/class/Accessibility/Accessibility-net_2_0.csproj [deleted file]
mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_2_0.csproj [deleted file]
mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-tests-net_2_0.csproj [deleted file]
mcs/class/Compat.ICSharpCode.SharpZipLib/Compat.ICSharpCode.SharpZipLib-net_2_0.csproj [deleted file]
mcs/class/Cscompmgd/Cscompmgd-net_2_0.csproj [deleted file]
mcs/class/Cscompmgd/Cscompmgd-tests-net_2_0.csproj [deleted file]
mcs/class/CustomMarshalers/CustomMarshalers-net_2_0.csproj [deleted file]
mcs/class/I18N/CJK/I18N.CJK-net_2_0.csproj [deleted file]
mcs/class/I18N/CJK/I18N.CJK-tests-net_2_0.csproj [deleted file]
mcs/class/I18N/Common/I18N-net_2_0.csproj [deleted file]
mcs/class/I18N/MidEast/I18N.MidEast-net_2_0.csproj [deleted file]
mcs/class/I18N/MidEast/I18N.MidEast-tests-net_2_0.csproj [deleted file]
mcs/class/I18N/Other/I18N.Other-net_2_0.csproj [deleted file]
mcs/class/I18N/Rare/I18N.Rare-net_2_0.csproj [deleted file]
mcs/class/I18N/West/I18N.West-net_2_0.csproj [deleted file]
mcs/class/I18N/West/I18N.West-tests-net_2_0.csproj [deleted file]
mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_2_0.csproj [deleted file]
mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_2_0.csproj [deleted file]
mcs/class/Makefile
mcs/class/Managed.Windows.Forms/System.Windows.Forms-net_2_0.csproj [deleted file]
mcs/class/Managed.Windows.Forms/System.Windows.Forms-tests-net_2_0.csproj [deleted file]
mcs/class/Managed.Windows.Forms/System.Windows.Forms/DataGridView.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/DataGridViewRowCollection.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ListView.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/TextRenderer.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/DataGridViewTest.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/Consts.cs
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-tests-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-tests-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/CopyTest.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-tests-net_2_0.csproj [deleted file]
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs
mcs/class/Microsoft.Build/Microsoft.Build.Evaluation/ProjectCollection.cs
mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_2_0.csproj [deleted file]
mcs/class/Mono.C5/Mono.C5-net_2_0.csproj [deleted file]
mcs/class/Mono.C5/Mono.C5-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.CSharp/Mono.CSharp-net_2_0.csproj [deleted file]
mcs/class/Mono.CSharp/Mono.CSharp-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.CSharp/Test/Evaluator/ExpressionsTest.cs
mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs
mcs/class/Mono.Cairo/Mono.Cairo-net_2_0.csproj [deleted file]
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_2_0.csproj [deleted file]
mcs/class/Mono.Cecil/Makefile
mcs/class/Mono.Cecil/Mono.Cecil-net_2_0.csproj [deleted file]
mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_2_0.csproj [deleted file]
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_2_0.csproj [deleted file]
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_2_0.csproj [deleted file]
mcs/class/Mono.Data.Tds/Mono.Data.Tds-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_2_0.csproj [deleted file]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StackFrame.cs
mcs/class/Mono.Debugger.Soft/Test/dtest.cs
mcs/class/Mono.Http/Mono.Http-net_2_0.csproj [deleted file]
mcs/class/Mono.Management/Mono.Management-net_2_0.csproj [deleted file]
mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_2_0.csproj [deleted file]
mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Messaging/Mono.Messaging-net_2_0.csproj [deleted file]
mcs/class/Mono.Messaging/Mono.Messaging-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Options/Mono.Options-net_2_0.csproj [deleted file]
mcs/class/Mono.Options/Mono.Options-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Posix/Mono.Posix-net_2_0.csproj [deleted file]
mcs/class/Mono.Posix/Mono.Posix-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Posix/Mono.Unix.Native/NativeConvert.cs
mcs/class/Mono.Posix/Mono.Unix/UnixFileSystemInfo.cs
mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_2_0.csproj [deleted file]
mcs/class/Mono.Security/Mono.Security-net_2_0.csproj [deleted file]
mcs/class/Mono.Security/Mono.Security-tests-net_2_0.csproj [deleted file]
mcs/class/Mono.Simd/Makefile
mcs/class/Mono.Simd/Mono.Simd-net_2_0.csproj [deleted file]
mcs/class/Mono.Tasklets/Mono.Tasklets-net_2_0.csproj [deleted file]
mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_2_0.csproj [deleted file]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj [deleted file]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj [deleted file]
mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_2_0.csproj [deleted file]
mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-tests-net_2_0.csproj [deleted file]
mcs/class/Npgsql/Npgsql-net_2_0.csproj [deleted file]
mcs/class/Npgsql/Npgsql-tests-net_2_0.csproj [deleted file]
mcs/class/PEAPI/PEAPI-net_2_0.csproj [deleted file]
mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_2_0.csproj [deleted file]
mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_2_0.csproj [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/DataAnnotationsResources.cs [new file with mode: 0644]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_2_0.csproj [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-tests-net_2_0.csproj [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ColumnAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ComplexTypeAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedOption.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ForeignKeyAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/InversePropertyAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/NotMappedAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/TableAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.dll.sources
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypePropertyDescriptor.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptionProvider.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptor.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociationAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ChangeLog [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CompareAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ConcurrencyCheckAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ControlParameters.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CreditCardAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CustomValidationAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataType.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataTypeAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayColumnAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayFormatAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EditableAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EmailAddressAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EnumDataTypeAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FileExtensionsAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FilterUIHintAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/IValidatableObject.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/KeyAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MaxLengthAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MetadataTypeAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MinLengthAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/PhoneAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RangeAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RegularExpressionAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RequiredAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldColumnAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldTableAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/StringLengthAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/TimestampAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UIHintAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UrlAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttribute.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttributeCollectionExtensions.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationContext.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationException.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationResult.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/Validator.cs [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/CreditCardAttributeTest.cs
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/DisplayAttributeTest.cs
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/EmailAddressAttributeTest.cs
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/RegularExpressionAttributeTest.cs
mcs/class/System.ComponentModel.DataAnnotations/mobile_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/mobile_static_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/monotouch_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/net_4_0_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/net_4_5_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.ComponentModel.DataAnnotations/xammac_System.ComponentModel.DataAnnotations.dll.sources [deleted file]
mcs/class/System.Configuration.Install/System.Configuration.Install-net_2_0.csproj [deleted file]
mcs/class/System.Configuration/System.Configuration-net_2_0.csproj [deleted file]
mcs/class/System.Configuration/System.Configuration-tests-net_2_0.csproj [deleted file]
mcs/class/System.Core/Makefile
mcs/class/System.Core/ReferenceSources/SR.cs [new file with mode: 0644]
mcs/class/System.Core/ReferenceSources/Set.cs [new file with mode: 0644]
mcs/class/System.Core/System.Core-net_2_0.csproj [deleted file]
mcs/class/System.Core/System.Core-plaincore-net_2_0.csproj [deleted file]
mcs/class/System.Core/System.Core-tests-net_2_0.csproj [deleted file]
mcs/class/System.Core/System.Linq/Enumerable.cs
mcs/class/System.Core/System/TimeZoneInfo.cs
mcs/class/System.Core/Test/System.Linq/EnumerableMoreTest.cs
mcs/class/System.Core/Test/System.Linq/ParallelEnumerableTests.cs
mcs/class/System.Core/Test/System.Threading/ReaderWriterLockSlimTest.cs
mcs/class/System.Core/mobile_common_System.Core.dll.sources
mcs/class/System.Core/net_4_0_System.Core.dll.sources
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_2_0.csproj [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-tests-net_2_0.csproj [deleted file]
mcs/class/System.Data.Linq/Makefile
mcs/class/System.Data.Linq/System.Data.Linq-net_2_0.csproj [deleted file]
mcs/class/System.Data.Linq/System.Data.Linq-tests-net_2_0.csproj [deleted file]
mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_2_0.csproj [deleted file]
mcs/class/System.Data.OracleClient/System.Data.OracleClient-tests-net_2_0.csproj [deleted file]
mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_2_0.csproj [deleted file]
mcs/class/System.Data.Services/System.Data.Services-net_2_0.csproj [deleted file]
mcs/class/System.Data.Services/System.Data.Services-tests-net_2_0.csproj [deleted file]
mcs/class/System.Data/Makefile
mcs/class/System.Data/System.Data-net_2_0.csproj [deleted file]
mcs/class/System.Data/System.Data-tests-net_2_0.csproj [deleted file]
mcs/class/System.Data/System.Data.Common/DbEnumerator.cs
mcs/class/System.Design/System.Design-net_2_0.csproj [deleted file]
mcs/class/System.Design/System.Design-tests-net_2_0.csproj [deleted file]
mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_2_0.csproj [deleted file]
mcs/class/System.DirectoryServices/System.DirectoryServices-net_2_0.csproj [deleted file]
mcs/class/System.DirectoryServices/System.DirectoryServices-tests-net_2_0.csproj [deleted file]
mcs/class/System.Drawing.Design/System.Drawing.Design-net_2_0.csproj [deleted file]
mcs/class/System.Drawing/System.Drawing-net_2_0.csproj [deleted file]
mcs/class/System.Drawing/System.Drawing-tests-net_2_0.csproj [deleted file]
mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_2_0.csproj [deleted file]
mcs/class/System.IdentityModel.Selectors/Makefile
mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_2_0.csproj [deleted file]
mcs/class/System.IdentityModel/Makefile
mcs/class/System.IdentityModel/System.IdentityModel-net_2_0.csproj [deleted file]
mcs/class/System.IdentityModel/System.IdentityModel-tests-net_2_0.csproj [deleted file]
mcs/class/System.Json/System.Json-net_2_0.csproj [deleted file]
mcs/class/System.Json/System.Json-tests-net_2_0.csproj [deleted file]
mcs/class/System.Management/System.Management-net_2_0.csproj [deleted file]
mcs/class/System.Messaging/System.Messaging-net_2_0.csproj [deleted file]
mcs/class/System.Messaging/System.Messaging-tests-net_2_0.csproj [deleted file]
mcs/class/System.Net.Http/System.Net.Http.Headers/ContentDispositionHeaderValue.cs
mcs/class/System.Net.Http/System.Net.Http.Headers/Lexer.cs
mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs
mcs/class/System.Net.Http/System.Net.Http/HttpRequestMessage.cs
mcs/class/System.Net.Http/Test/System.Net.Http.Headers/ContentDispositionHeaderValueTest.cs
mcs/class/System.Net.Http/Test/System.Net.Http.Headers/NameValueHeaderValueTest.cs
mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs
mcs/class/System.Net.Http/Test/System.Net.Http/HttpRequestMessageTest.cs
mcs/class/System.Net/System.Net-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-tests-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-tests-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-tests-net_2_0.csproj [deleted file]
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization/SerializationMap.cs
mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs
mcs/class/System.Security/Makefile
mcs/class/System.Security/Mono.Xml/XmlCanonicalizer.cs
mcs/class/System.Security/System.Security-net_2_0.csproj [deleted file]
mcs/class/System.Security/System.Security-tests-net_2_0.csproj [deleted file]
mcs/class/System.Security/Test/System.Security.Cryptography.Xml/SignedXmlTest.cs
mcs/class/System.Security/Test/System.Security.Cryptography.Xml/XmlDsigC14NTransformTest.cs
mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_2_0.csproj [deleted file]
mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-tests-net_2_0.csproj [deleted file]
mcs/class/System.ServiceModel/System.ServiceModel-net_2_0.csproj [deleted file]
mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_2_0.csproj [deleted file]
mcs/class/System.ServiceModel/System.ServiceModel-tests-net_2_0.csproj [deleted file]
mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug652331Test.cs
mcs/class/System.ServiceProcess/System.ServiceProcess-net_2_0.csproj [deleted file]
mcs/class/System.ServiceProcess/System.ServiceProcess-tests-net_2_0.csproj [deleted file]
mcs/class/System.Transactions/System.Transactions-net_2_0.csproj [deleted file]
mcs/class/System.Transactions/System.Transactions-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web.Abstractions/Makefile
mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_2_0.csproj [deleted file]
mcs/class/System.Web.Abstractions/System.Web.Abstractions-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web.Abstractions/System.Web/HttpContextWrapper.cs
mcs/class/System.Web.Abstractions/System.Web/HttpRequestBase.cs
mcs/class/System.Web.Abstractions/System.Web/HttpRequestWrapper.cs
mcs/class/System.Web.Abstractions/System.Web/HttpResponseBase.cs
mcs/class/System.Web.Abstractions/System.Web/HttpResponseWrapper.cs
mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_2_0.csproj [deleted file]
mcs/class/System.Web.DynamicData/Makefile
mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_2_0.csproj [deleted file]
mcs/class/System.Web.DynamicData/System.Web.DynamicData-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_2_0.csproj [deleted file]
mcs/class/System.Web.Extensions.Design_1.0/System.Web.Extensions.Design_1.0-net_2_0.csproj [deleted file]
mcs/class/System.Web.Extensions/System.Web.Extensions-net_2_0.csproj [deleted file]
mcs/class/System.Web.Extensions/System.Web.Extensions-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web.Extensions_1.0/System.Web.Extensions_1.0-net_2_0.csproj [deleted file]
mcs/class/System.Web.Mvc/System.Web.Mvc-net_2_0.csproj [deleted file]
mcs/class/System.Web.Mvc2/System.Web.Mvc2-net_2_0.csproj [deleted file]
mcs/class/System.Web.Routing/Makefile
mcs/class/System.Web.Routing/System.Web.Routing-net_2_0.csproj [deleted file]
mcs/class/System.Web.Routing/System.Web.Routing-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web.Services/System.Web.Services-net_2_0.csproj [deleted file]
mcs/class/System.Web.Services/System.Web.Services-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web/Makefile
mcs/class/System.Web/System.Web-net_2_0.csproj [deleted file]
mcs/class/System.Web/System.Web-net_4_5.csproj
mcs/class/System.Web/System.Web-plainweb-net_2_0.csproj [deleted file]
mcs/class/System.Web/System.Web-plainweb-net_4_5.csproj
mcs/class/System.Web/System.Web-tests-net_2_0.csproj [deleted file]
mcs/class/System.Web/System.Web-tests-net_4_5.csproj
mcs/class/System.Web/System.Web.Security/MembershipPasswordAttribute.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/EventHandlerTaskAsyncHelper.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/HttpRequest.cs
mcs/class/System.Web/System.Web/HttpTaskAsyncHandler.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/TaskAsyncResult.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/TaskEventHandler.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/UnvalidatedRequestValues.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/UnvalidatedRequestValuesBase.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web/UnvalidatedRequestValuesWrapper.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web_test.dll.sources
mcs/class/System.Web/Test/System.Web.Security/MembershipPasswordAttributeTest.cs [new file with mode: 0644]
mcs/class/System.Web/Test/System.Web/EventHandlerTaskAsyncHelperTest.cs [new file with mode: 0644]
mcs/class/System.Web/Test/System.Web/HttpTaskAsyncHandlerTest.cs [new file with mode: 0644]
mcs/class/System.Web/Test/System.Web/TaskAsyncResultTest.cs [new file with mode: 0644]
mcs/class/System.Web/UplevelHelperDefinitions.xml
mcs/class/System.Web/net_4_5_System.Web.dll.sources
mcs/class/System.XML/System.Xml-bare-net_2_0.csproj [deleted file]
mcs/class/System.XML/System.Xml-net_2_0.csproj [deleted file]
mcs/class/System.XML/System.Xml-tests-net_2_0.csproj [deleted file]
mcs/class/System.XML/System.Xml/XmlElement.cs
mcs/class/System.Xml.Linq/System.Xml.Linq-net_2_0.csproj [deleted file]
mcs/class/System.Xml.Linq/System.Xml.Linq-tests-net_2_0.csproj [deleted file]
mcs/class/System/Makefile
mcs/class/System/SR.cs [new file with mode: 0644]
mcs/class/System/System-bare-net_2_0.csproj [deleted file]
mcs/class/System/System-bare-net_4_5.csproj
mcs/class/System/System-net_2_0.csproj [deleted file]
mcs/class/System/System-net_4_5.csproj
mcs/class/System/System-secxml-net_2_0.csproj [deleted file]
mcs/class/System/System-secxml-net_4_5.csproj
mcs/class/System/System-tests-net_2_0.csproj [deleted file]
mcs/class/System/System.Diagnostics/Process.cs
mcs/class/System/System.Diagnostics/ProcessStartInfo.cs
mcs/class/System/System.Net.NetworkInformation/NetworkInterface.cs
mcs/class/System/System.Net.WebSockets/ClientWebSocket.cs
mcs/class/System/System.Net/HttpListenerRequest.cs
mcs/class/System/System.Net/WebClient.cs
mcs/class/System/System.Text.RegularExpressions/BaseMachine.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/CILCompiler.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/Capture.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/CaptureCollection.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/ChangeLog [deleted file]
mcs/class/System/System.Text.RegularExpressions/Group.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/GroupCollection.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/JvmReMachineFactory.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/Match.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/MatchCollection.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/MatchEvaluator.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/Regex.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RegexCompilationInfo.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RegexMatchTimeoutException.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RegexRunner.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RegexRunnerFactory.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RxCompiler.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RxInterpreter.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/RxOp.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/arch.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/cache.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/category.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/compiler.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/debug.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/gen-interp.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/interpreter.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/interval.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/notes.txt [deleted file]
mcs/class/System/System.Text.RegularExpressions/parser.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/quicksearch.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/replace.cs [deleted file]
mcs/class/System/System.Text.RegularExpressions/syntax.cs [deleted file]
mcs/class/System/System.dll.sources
mcs/class/System/System/Platform.cs
mcs/class/System/System_test.dll.sources
mcs/class/System/Test/System.Collections.Concurrent/ConcurrentBagTests.cs
mcs/class/System/Test/System.Diagnostics/ProcessStartInfoTest.cs
mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs
mcs/class/System/Test/System.Net/HttpListenerTest.cs
mcs/class/System/Test/System.Text.RegularExpressions/RegexBugs.cs
mcs/class/System/Test/System.Text.RegularExpressions/RegexBugs_Long.cs [new file with mode: 0644]
mcs/class/System/Test/System.Text.RegularExpressions/RegexTest.cs
mcs/class/System/basic_System.dll.sources
mcs/class/System/mobile_System.dll.sources
mcs/class/SystemWebTestShim/SystemWebTestShim-net_2_0.csproj [deleted file]
mcs/class/WindowsBase/WindowsBase-net_2_0.csproj [deleted file]
mcs/class/WindowsBase/WindowsBase-tests-net_2_0.csproj [deleted file]
mcs/class/corlib/DateTime.Now_Test.sh
mcs/class/corlib/Makefile
mcs/class/corlib/ReferenceSources/Array.cs [new file with mode: 0644]
mcs/class/corlib/ReferenceSources/Environment.cs [new file with mode: 0644]
mcs/class/corlib/ReferenceSources/ExecutionContext.cs [new file with mode: 0644]
mcs/class/corlib/ReferenceSources/Helpers.cs [new file with mode: 0644]
mcs/class/corlib/System.Collections.Generic/List.cs
mcs/class/corlib/System.Globalization/CultureInfo.cs
mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder.cs
mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder_T.cs
mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs
mcs/class/corlib/System.Runtime.Remoting.Messaging/CallContext.cs
mcs/class/corlib/System.Threading.Tasks/CyclicDeque.cs
mcs/class/corlib/System.Threading.Tasks/Parallel.cs
mcs/class/corlib/System.Threading.Tasks/Task.cs
mcs/class/corlib/System.Threading.Tasks/TaskContinuation.cs
mcs/class/corlib/System.Threading.Tasks/TaskExceptionSlot.cs
mcs/class/corlib/System.Threading/ExecutionContext.cs
mcs/class/corlib/System.Threading/ExecutionContextSwitcher.cs [deleted file]
mcs/class/corlib/System.Threading/Monitor.cs
mcs/class/corlib/System.Threading/Thread.cs
mcs/class/corlib/System.Threading/Timeout.cs
mcs/class/corlib/System.Threading/Volatile.cs
mcs/class/corlib/System/AggregateException.cs
mcs/class/corlib/Test/System.Collections.Generic/ListTest.cs
mcs/class/corlib/Test/System.Reflection.Emit/DynamicMethodTest.cs
mcs/class/corlib/Test/System.Runtime.CompilerServices/AsyncTaskMethodBuilderTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Runtime.CompilerServices/TaskAwaiterTest_T.cs
mcs/class/corlib/Test/System.Threading.Tasks/ParallelTests.cs
mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs
mcs/class/corlib/Test/System.Threading/ManualResetEventSlimTests.cs
mcs/class/corlib/basic_corlib.dll.sources [new file with mode: 0644]
mcs/class/corlib/corlib-net_2_0.csproj [deleted file]
mcs/class/corlib/corlib-net_4_5.csproj
mcs/class/corlib/corlib-tests-net_2_0.csproj [deleted file]
mcs/class/corlib/corlib.dll.sources
mcs/class/corlib/corlib_test.dll.sources
mcs/errors/CS0165-51-lib.cs [new file with mode: 0644]
mcs/errors/CS1993-corlib.cs [new file with mode: 0644]
mcs/errors/Makefile
mcs/errors/cs0103-13.cs
mcs/errors/cs0103-14.cs
mcs/errors/cs0111-12.cs
mcs/errors/cs0121-26.cs [new file with mode: 0644]
mcs/errors/cs0136-18.cs
mcs/errors/cs0136-19.cs
mcs/errors/cs0165-50.cs [new file with mode: 0644]
mcs/errors/cs0165-51.cs [new file with mode: 0644]
mcs/errors/cs0170.cs
mcs/errors/cs0177-99.cs
mcs/errors/cs0188-9.cs [deleted file]
mcs/errors/cs0200-4.cs [new file with mode: 0644]
mcs/errors/cs0200-5.cs [new file with mode: 0644]
mcs/errors/cs0200-6.cs [new file with mode: 0644]
mcs/errors/cs0411-24.cs
mcs/errors/cs0657-23.cs
mcs/errors/cs0815-7.cs
mcs/errors/cs0841-5.cs
mcs/errors/cs0843-2.cs [deleted file]
mcs/errors/cs0843-3.cs [deleted file]
mcs/errors/cs1503-17.cs
mcs/errors/cs1525-56.cs [new file with mode: 0644]
mcs/errors/cs1615-3.cs
mcs/errors/cs1692.cs
mcs/errors/cs1993.cs
mcs/errors/cs7048.cs [new file with mode: 0644]
mcs/errors/cs8036.cs
mcs/errors/cs8037.cs
mcs/errors/cs8038.cs
mcs/errors/cs8039.cs
mcs/errors/cs8043.cs
mcs/errors/cs8046.cs
mcs/errors/cs8047.cs
mcs/errors/cs8049.cs
mcs/errors/cs8051.cs
mcs/errors/cs8052.cs
mcs/errors/cs8053.cs [deleted file]
mcs/errors/cs8079.cs [new file with mode: 0644]
mcs/errors/cs8800.cs
mcs/mcs/anonymous.cs
mcs/mcs/assembly.cs
mcs/mcs/assign.cs
mcs/mcs/async.cs
mcs/mcs/attribute.cs
mcs/mcs/class.cs
mcs/mcs/context.cs
mcs/mcs/cs-parser.jay
mcs/mcs/cs-tokenizer.cs
mcs/mcs/decl.cs
mcs/mcs/delegate.cs
mcs/mcs/ecore.cs
mcs/mcs/eval.cs
mcs/mcs/expression.cs
mcs/mcs/field.cs
mcs/mcs/flowanalysis.cs
mcs/mcs/ikvm.cs
mcs/mcs/membercache.cs
mcs/mcs/namespace.cs
mcs/mcs/property.cs
mcs/mcs/statement.cs
mcs/nunit24/ClientUtilities/util/Makefile
mcs/nunit24/ConsoleRunner/nunit-console/ConsoleUi.cs
mcs/nunit24/ConsoleRunner/nunit-console/Makefile
mcs/nunit24/NUnitCore/core/Makefile
mcs/nunit24/NUnitCore/interfaces/Makefile
mcs/nunit24/NUnitExtensions/core/Makefile
mcs/nunit24/NUnitExtensions/framework/Makefile
mcs/nunit24/NUnitFramework/framework/Makefile
mcs/nunit24/NUnitMocks/mocks/Makefile
mcs/tests/Makefile
mcs/tests/gtest-409.cs
mcs/tests/gtest-626.cs [new file with mode: 0644]
mcs/tests/gtest-627.cs [new file with mode: 0644]
mcs/tests/gtest-autoproperty-11.cs [new file with mode: 0644]
mcs/tests/gtest-autoproperty-12.cs [new file with mode: 0644]
mcs/tests/gtest-autoproperty-13.cs [new file with mode: 0644]
mcs/tests/gtest-autoproperty-14.cs [new file with mode: 0644]
mcs/tests/gtest-named-06.cs [new file with mode: 0644]
mcs/tests/test-695.cs
mcs/tests/test-814.cs
mcs/tests/test-868.cs
mcs/tests/test-908.cs [new file with mode: 0644]
mcs/tests/test-909.cs [new file with mode: 0644]
mcs/tests/test-910.cs [new file with mode: 0644]
mcs/tests/test-async-76.cs [new file with mode: 0644]
mcs/tests/test-decl-expr-01.cs
mcs/tests/test-decl-expr-02.cs [new file with mode: 0644]
mcs/tests/test-primary-ctor-02.cs
mcs/tests/test-primary-ctor-03.cs
mcs/tests/test-primary-ctor-04.cs
mcs/tests/test-primary-ctor-05.cs
mcs/tests/test-primary-ctor-06.cs
mcs/tests/test-primary-ctor-08.cs
mcs/tests/test-primary-ctor-09.cs
mcs/tests/ver-il-net_4_5.xml
mcs/tools/Makefile
mcs/tools/corcompare/mono-api-html/ApiChange.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/ApiDiff.cs
mcs/tools/corcompare/mono-api-html/AssemblyComparer.cs
mcs/tools/corcompare/mono-api-html/ClassComparer.cs
mcs/tools/corcompare/mono-api-html/Comparer.cs
mcs/tools/corcompare/mono-api-html/ConstructorComparer.cs
mcs/tools/corcompare/mono-api-html/EventComparer.cs
mcs/tools/corcompare/mono-api-html/FieldComparer.cs
mcs/tools/corcompare/mono-api-html/Helpers.cs
mcs/tools/corcompare/mono-api-html/MemberComparer.cs
mcs/tools/corcompare/mono-api-html/NamespaceComparer.cs
mcs/tools/corcompare/mono-api-html/PropertyComparer.cs
mcs/tools/corcompare/mono-api-html/mono-api-html.csproj
mcs/tools/linker/Descriptors/System.xml
mcs/tools/mdoc/Test/en.expected.importecmadoc/System/Action`1.xml
mcs/tools/mdoc/Test/en.expected.importecmadoc/System/Array.xml
mcs/tools/mdoc/Test/en.expected.importecmadoc/System/AsyncCallback.xml
mcs/tools/mdoc/Test/en.expected.importecmadoc/System/Environment.xml
mcs/tools/resgen/Makefile
mcs/tools/xbuild/Makefile
mcs/tools/xbuild/SolutionParser.cs
mcs/tools/xbuild/XBuildConsts.cs
mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets [new file with mode: 0644]
mcs/tools/xbuild/data/14.0/Microsoft.Common.targets [new file with mode: 0644]
mcs/tools/xbuild/data/14.0/Microsoft.Common.tasks [new file with mode: 0644]
mcs/tools/xbuild/xbuild.make
mcs/tools/xbuild/xbuild_test.make
mono/arch/sparc/Makefile.am
mono/arch/sparc/tramp.c [deleted file]
mono/io-layer/handles.c
mono/metadata/Makefile.am
mono/metadata/appdomain.c
mono/metadata/boehm-gc.c
mono/metadata/class-internals.h
mono/metadata/class.c
mono/metadata/console-unix.c
mono/metadata/domain.c
mono/metadata/gc-internal.h
mono/metadata/gc.c
mono/metadata/icall.c
mono/metadata/image.c
mono/metadata/loader.c
mono/metadata/loader.h
mono/metadata/lock-tracer.h
mono/metadata/marshal.c
mono/metadata/marshal.h
mono/metadata/mempool.c
mono/metadata/metadata-internals.h
mono/metadata/metadata.c
mono/metadata/monitor.c
mono/metadata/mono-debug-debugger.c [deleted file]
mono/metadata/mono-debug-debugger.h
mono/metadata/mono-debug.c
mono/metadata/mono-perfcounters.c
mono/metadata/mono-perfcounters.h
mono/metadata/monodiet.c [deleted file]
mono/metadata/null-gc.c
mono/metadata/object-internals.h
mono/metadata/object.c
mono/metadata/pedump.c
mono/metadata/profiler-private.h
mono/metadata/profiler.c
mono/metadata/profiler.h
mono/metadata/reflection.c
mono/metadata/remoting.c [new file with mode: 0644]
mono/metadata/remoting.h [new file with mode: 0644]
mono/metadata/sgen-alloc.c
mono/metadata/sgen-cardtable.c
mono/metadata/sgen-conf.h
mono/metadata/sgen-copy-object.h
mono/metadata/sgen-debug.c
mono/metadata/sgen-descriptor.c
mono/metadata/sgen-descriptor.h
mono/metadata/sgen-fin-weak-hash.c
mono/metadata/sgen-gc.c
mono/metadata/sgen-gc.h
mono/metadata/sgen-gray.c
mono/metadata/sgen-gray.h
mono/metadata/sgen-hash-table.c
mono/metadata/sgen-internal.c
mono/metadata/sgen-los.c
mono/metadata/sgen-major-copy-object.h
mono/metadata/sgen-major-scan-object.h [deleted file]
mono/metadata/sgen-marksweep-drain-gray-stack.h [new file with mode: 0644]
mono/metadata/sgen-marksweep-scan-object-concurrent.h [new file with mode: 0644]
mono/metadata/sgen-marksweep.c
mono/metadata/sgen-memory-governor.c
mono/metadata/sgen-minor-copy-object.h
mono/metadata/sgen-minor-scan-object.h
mono/metadata/sgen-pinning.c
mono/metadata/sgen-pointer-queue.c
mono/metadata/sgen-pointer-queue.h
mono/metadata/sgen-protocol.c
mono/metadata/sgen-protocol.h
mono/metadata/sgen-scan-object.h
mono/metadata/sgen-stw.c
mono/metadata/sgen-tagged-pointer.h
mono/metadata/sgen-workers.c
mono/metadata/sgen-workers.h
mono/metadata/socket-io.c
mono/metadata/threads.c
mono/metadata/verify.c
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c
mono/mini/debug-mini.c
mono/mini/debugger-agent.c
mono/mini/driver.c
mono/mini/dwarfwriter.c
mono/mini/exceptions-amd64.c
mono/mini/exceptions-arm.c
mono/mini/exceptions-mips.c
mono/mini/exceptions-ppc.c
mono/mini/exceptions-s390x.c
mono/mini/exceptions-x86.c
mono/mini/ir-emit.h
mono/mini/method-to-ir.c
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini-arm.c
mono/mini/mini-arm.h
mono/mini/mini-exceptions.c
mono/mini/mini-gc.c
mono/mini/mini-ia64.h
mono/mini/mini-llvm.c
mono/mini/mini-llvm.h
mono/mini/mini-mips.h
mono/mini/mini-posix.c
mono/mini/mini-ppc.h
mono/mini/mini-s390x.h
mono/mini/mini-sparc.h
mono/mini/mini-unwind.h
mono/mini/mini-x86.c
mono/mini/mini-x86.h
mono/mini/mini.c
mono/mini/mini.h
mono/mini/ssa.c
mono/mini/tramp-arm.c
mono/profiler/decode.c
mono/profiler/proflog.c
mono/profiler/proflog.h
mono/tests/Makefile.am
mono/tests/classinit3.cs [new file with mode: 0644]
mono/tests/monitor-resurrection.cs [new file with mode: 0644]
mono/tests/synchronized.cs
mono/utils/mach-support.c
mono/utils/mono-compiler.h
mono/utils/mono-context.c
mono/utils/mono-counters.c
mono/utils/mono-counters.h
mono/utils/mono-dl.c
mono/utils/mono-dl.h
mono/utils/mono-io-portability.c
mono/utils/mono-linked-list-set.h
mono/utils/mono-mmap.c
mono/utils/mono-proclib.c
mono/utils/mono-proclib.h
mono/utils/mono-threads-mach.c
mono/utils/mono-threads-posix.c
mono/utils/mono-threads-windows.c
mono/utils/mono-threads.c
mono/utils/mono-threads.h
msvc/eglib.vcxproj
msvc/genmdesc.vcxproj
msvc/libgc.vcxproj
msvc/libmonoruntime.vcxproj
msvc/mono.def
msvc/monoposixhelper.vcxproj
msvc/monosgen.def
msvc/winsetup.bat
runtime/Makefile.am
scripts/Makefile.am
scripts/dmcs.in
scripts/gmcs.in
tools/sgen/gcpausevis.py
tools/sgen/sgen-grep-binprot.c
winconfig.h

index ea48a9e7fb97074a8d4e78730d00394afbf64e44..55a955ec624e0e86ba27aba53940285245c10261 100644 (file)
@@ -69,6 +69,7 @@ config.status
 config.sub
 configure
 configure.scan
+cygconfig.h
 depcomp
 install-sh
 libtool
index 4dbffc0de0772efe0c91a3c1baf708decd7aeda8..f81b6c6dc718351485fe148349f9182a299bac38 100644 (file)
@@ -25,3 +25,6 @@
 [submodule "external/ikdasm"]
        path = external/ikdasm
        url = git://github.com/mono/ikdasm.git
+[submodule "external/referencesource"]
+       path = external/referencesource
+       url = git://github.com/mono/referencesource
index b061956eee24f682e087c6d01b78bf1fad95dd74..bb5b98a76c729f95eac8d59f0771fd35543f991e 100644 (file)
--- a/README.md
+++ b/README.md
 Mono is a software platform designed to allow developers to easily create cross platform applications.
-Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.
+It is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.
 
-[![Build Status](http://jenkins.mono-project.com/job/test-mono-mainline/badge/icon/)](http://jenkins.mono-project.com/job/test-mono-mainline/)
-
-1. [Installation](#compilation-and-installation)
+1. [Compilation and Installation](#compilation-and-installation)
 2. [Using Mono](#using-mono)
 3. [Directory Roadmap](#directory-roadmap)
-4. [Contributing to Mono] (#contributing-to-mono) 
-5. [Git submodules maintenance](#git-submodules-maintenance)
-6. [Reporting bugs](#reporting-bugs)
+4. [Contributing to Mono](#contributing-to-mono)
+5. [Reporting bugs](#reporting-bugs)
+6. [Configuration Options](#configuration-options)
+
+**Build Status**
+
+| debian-amd64 | debian-i386 | centos-s390x | windows-amd64 |
+|:------------:|:-----------:|:------------:|:-------------:|
+| [![debian-amd64](http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/badge/icon)](http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/) | [![debian-i386](http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/badge/icon)](http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/) | [![centos-s390x](http://jenkins.mono-project.com/job/test-mono-mainline/label=centos-s390x/badge/icon)](http://jenkins.mono-project.com/job/test-mono-mainline/label=centos-s390x/) | [![windows-amd64](https://ci.appveyor.com/api/projects/status/1e61ebdfpbiei58v/branch/master?svg=true)](https://ci.appveyor.com/project/ajlennon/mono-817/branch/master) |
 
 Compilation and Installation
 ============================
 
-a. Build Requirements
+Building the Software
 ---------------------
 
-* On Itanium, you must obtain libunwind: http://www.hpl.hp.com/research/linux/libunwind/download.php4
-
-* On Solaris
-
- 1. Make sure that you used GNU tar to unpack this package, as
- Solaris tar will not unpack this correctly, and you will get strange errors.
+Please see our guides for building Mono on
+[Mac OS X](http://www.mono-project.com/docs/compiling-mono/mac/),
+[Linux](http://www.mono-project.com/docs/compiling-mono/linux/) and 
+[Windows](http://www.mono-project.com/docs/compiling-mono/windows/).
 
- 2. Make sure that you use the GNU toolchain to build the software.
+Note that building from Git assumes that you already have Mono installed,
+so please download and [install the latest Mono release](http://www.mono-project.com/download/)
+before trying to build from Git. This is required because the Mono build
+relies on a working Mono C# compiler to compile itself
+(also known as [bootstrapping](http://en.wikipedia.org/wiki/Bootstrapping_(compilers))).
 
- 3. Optional dependencies
+If you don't have a working Mono installation
+---------------------------------------------
 
-  * libgdiplus - Required for System.Drawing. This library in turn requires glib and pkg-config
+If you don't have a working Mono installation, you can try a slightly
+more risky approach: getting the latest version of the 'monolite' distribution,
+which contains just enough to run the 'mcs' compiler. You do this with:
 
-  * pkg-config - Available at: http://www.freedesktop.org/Software/pkgconfig
+    # Run the following line after ./autogen.sh
+    make get-monolite-latest
 
-  * glib 2.4 - Available at: http://www.gtk.org/
+This will download and place the files appropriately so that you can then
+just run:
 
-  * libzlib - This library and the development headers are required for compression
-file support in the 2.0 profile.
+    make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/basic.exe
 
- 4. Mono is required to build Mono. Use a system package or monolite (explained further below)
- 5. If you have a system Mono (not monolite), you will need to read this: http://mono-project.com/Parallel_Mono_Environments#Setting_up_a_Build_Environment
+The build will then use the files downloaded by `make get-monolite-latest`.
 
-b. Building the Software
+Testing and Installation
 ------------------------
 
-If you obtained this package as an officially released tarball,
-this is very simple, use configure and make:
+You can run the mono and mcs test suites with the command: `make check`.
 
-`./configure --prefix=/usr/local ; make ; make install`
+Expect to find a few test suite failures. As a sanity check, you
+can compare the failures you got with [https://wrench.mono-project.com/Wrench/](https://wrench.mono-project.com/Wrench/)
+and [http://jenkins.mono-project.com/](http://jenkins.mono-project.com/).
 
-Mono supports a JIT engine on x86, SPARC, SPARCv9, S/390,
-S/390x, AMD64, ARM and PowerPC systems.   
+You can now install mono with: `make install`
 
-If you obtained this as a snapshot, you will need an existing
-Mono installation.  To upgrade your installation, unpack both
-mono and mcs:
+You can verify your installation by using the mono-test-install
+script, it can diagnose some common problems with Mono's install.
+Failure to follow these steps may result in a broken installation. 
 
-       tar xzf mcs-XXXX.tar.gz
-       tar xzf mono-XXXX.tar.gz
-       mv mono-XXX mono
-       mv mcs-XXX mcs
-       cd mono
-       ./autogen.sh --prefix=/usr/local
-       make
+Using Mono
+==========
 
-The Mono build system is silent for most compilation commands.
-To enable a more verbose compile (for example, to pinpoint
-problems in your makefiles or your system) pass the V=1 flag to make, like this:
+Once you have installed the software, you can run a few programs:
 
-` make V=1`
+* `mono program.exe` runtime engine
 
+* `mcs program.cs` C# compiler 
 
-c. Building the software from GIT
----------------------------------
+* `monodis program.exe` CIL Disassembler
 
-If you are building the software from GIT, make sure that you
-have up-to-date mcs and mono sources:
+See the man pages for mono(1), mcs(1) and monodis(1) for further details.
 
- * If you are an anonymous user: `git clone git://github.com/mono/mono.git`
+Directory Roadmap
+=================
 
- * If you are a Mono contributor with read/write privileges: `git clone git@github.com:mono/mono.git`
+* `data/` - Configuration files installed as part of the Mono runtime.
 
-Then, go into the mono directory, and configure:
+* `docs/` - Technical documents about the Mono runtime.
 
-       cd mono
-       ./autogen.sh --prefix=/usr/local
-       make
+* `external/` - Git submodules for external libraries (Newtonsoft.Json, ikvm, etc).
 
-For people with non-standard installations of the auto* utils and of
-pkg-config (common on misconfigured OSX and windows boxes), you could get
-an error like this:
+* `man/` - Manual pages for the various Mono commands and programs.
 
-       ./configure: line 19176: syntax error near unexpected token 'PKG_CHECK_MODULES(BASE_DEPENDENCIES,' ...
+* `mcs/` - The class libraries, compiler and tools
 
-This means that you need to set the ACLOCAL_FLAGS environment variable
-when invoking autogen.sh, like this: 
+  * `class/` - The class libraries (like System.*, Microsoft.Build, etc.)
 
-        ACLOCAL_FLAGS="-I $acprefix/share/aclocal" ./autogen.sh --prefix=/usr/local
+  * `mcs/` - The Mono C# compiler written in C#
 
-where $acprefix is the prefix where aclocal has been installed.
-This will automatically go into the mcs/ tree and build the
-binaries there.
+  * `tools/` - Tools like gacutil, ikdasm, mdoc, etc.
 
-This assumes that you have a working mono installation, and that
-there's a C# compiler named 'mcs', and a corresponding IL
-runtime called 'mono'.  You can use two make variables
-EXTERNAL_MCS and EXTERNAL_RUNTIME to override these.  e.g., you
-can say:
+* `mono/` - The core of the Mono Runtime.
 
-       make EXTERNAL_MCS=/foo/bar/mcs EXTERNAL_RUNTIME=/somewhere/else/mono
+  * `arch/` - Architecture specific portions.
 
-If you don't have a working Mono installation
----------------------------------------------
+  * `cil/` - Common Intermediate Representation, XML
+definition of the CIL bytecodes.
 
-If you don't have a working Mono installation, an obvious choice
-is to install the latest released packages of 'mono' for your
-distribution and running `autogen.sh; make; make install` in the
-mono module directory.
+  * `dis/` - CIL executable Disassembler
 
-You can also try a slightly more risky approach: this may not work,
-so start from the released tarball as detailed above.
+  * `io-layer/` - The I/O layer and system abstraction for 
+emulating the .NET IO model.
 
-This works by first getting the latest version of the 'monolite'
-distribution, which contains just enough to run the 'mcs'
-compiler. You do this with:
+  * `metadata/` - The object system and metadata reader.
 
-       # Run the following line after ./autogen.sh
-       make get-monolite-latest
+  * `mini/` - The Just in Time Compiler.
 
-This will download and automatically gunzip and untar the
-tarball, and place the files appropriately so that you can then
-just run: `make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/gmcs.exe`
+* `runtime/` - A directory that contains the Makefiles that link the
+mono/ and mcs/ build systems.
 
-That will use the files downloaded by 'make get-monolite-latest.
+* `samples/` -Some simple sample programs on uses of the Mono
+runtime as an embedded library.   
 
-Testing and Installation
-------------------------
+* `scripts/` - Scripts used to invoke Mono and the corresponding program.
 
-You can run *(part of)* the mono and mcs test suites with the command: `make check`.
-All tests should pass.  
+* `../olive/` - Incubation code from [Olive](https://github.com/mono/olive).
 
-If you want more *extensive* tests, including those that test the
-class libraries, you need to re-run 'configure' with the
-'--enable-nunit-tests' flag, and try: `make -k check`
+  * If the directory ../olive is present (as an
+independent checkout) from the Mono module, that
+directory is automatically configured to share the
+same prefix than this module gets.
 
-Expect to find a few test suite failures. As a sanity check, you
-can compare the failures you got with
+Contributing to Mono
+====================
 
-    https://wrench.mono-project.com/Wrench/
+Before submitting changes to Mono, please review the [contribution guidelines](http://www.mono-project.com/community/contributing/).
+Please pay particular attention to the [Important Rules](http://www.mono-project.com/community/contributing/#important-rules) section.
 
-You can now install mono with: `make install`
+Reporting bugs
+==============
 
-You can verify your installation by using the mono-test-install
-script, it can diagnose some common problems with Mono's install.
-Failure to follow these steps may result in a broken installation. 
+To submit bug reports, please use [Xamarin's Bugzilla](https://bugzilla.xamarin.com/)
 
-d. Configuration Options
-------------------------
+Please use the search facility to ensure the same bug hasn't already
+been submitted and follow our [guidelines](http://www.mono-project.com/community/bugs/make-a-good-bug-report/)
+on how to make a good bug report.
+
+Configuration Options
+=====================
 
 The following are the configuration options that someone
 building Mono might want to use:
@@ -164,17 +151,16 @@ building Mono might want to use:
 compilation of a Mono runtime with the SGen garbage collector.
 
   * On platforms that support it, after building Mono, you will have
-both a mono binary and a mono-sgen binary.  Mono uses Boehm, while
-mono-sgen uses the Simple Generational GC.
+both a `mono` binary and a `mono-sgen` binary. `mono` uses Boehm, while
+`mono-sgen` uses the Simple Generational GC.
 
-* `--with-gc=[boehm, included, sgen, none]` - Selects the default Boehm garbage
+* `--with-gc=[included, boehm,  none]` - Selects the default Boehm garbage
 collector engine to use.
 
   * *included*: (*slighty modified Boehm GC*)
-This is the default value, and its
-the most feature complete, it will allow Mono
-to use typed allocations and support the
-debugger.
+This is the default value for the Boehm GC, and it's 
+the most feature complete, it will allow Mono 
+to use typed allocations and support the debugger. 
 
   * *boehm*:
 This is used to use a system-install Boehm GC,
@@ -267,30 +253,6 @@ and runtime.
 
   * This defaults to `yes`.
 
-* `--with-moonlight=yes,no`
-
-  * Whether you want to generate the Silverlight/Moonlight
-libraries and toolchain in addition to the default
-(1.1 and 2.0 APIs).
-
-  * This will produce the `smcs` compiler which will reference
-the Silverlight modified assemblies (mscorlib.dll,
-System.dll, System.Code.dll and System.Xml.Core.dll) and turn
-on the LINQ extensions for the compiler.
-
-* `--with-moon-gc=boehm,sgen` - Select the GC to use for Moonlight.
-
-  * *boehm*:
-Selects the Boehm Garbage Collector, with the same flags
-as the regular Mono build. This is the default.
-
-  * *sgen*:
-Selects the new SGen Garbage Collector, which provides
-Generational GC support, using the same flags as the
-mono-sgen build.
-
-  * This defaults to `boehm`.
-
 * `--with-libgdiplus=installed,sibling,<path>` - Configure where Mono
 searches for libgdiplus when running System.Drawing tests.
 
@@ -298,7 +260,7 @@ searches for libgdiplus when running System.Drawing tests.
 library is available to Mono through the regular
 system setup.
 
-  * `sibling' can be used to specify that a libgdiplus
+  * `sibling` can be used to specify that a libgdiplus
 that resides as a sibling of this directory (mono)
 should be used.
 
@@ -405,13 +367,13 @@ for Mono.  The LLVM code generator and optimizer will be
 used instead of Mono's built-in code generator for both
 Just in Time and Ahead of Time compilations.
 
-  * See the http://www.mono-project.com/Mono_LLVM for the 
+  * See http://www.mono-project.com/docs/advanced/mono-llvm/ for the 
 full details and up-to-date information on this feature.
 
   * You will need to have an LLVM built that Mono can link
 against.
 
-  * The --enable-loadedllvm variant will make the LLVM backend
+  * The `--enable-loadedllvm` variant will make the LLVM backend
 into a runtime-loadable module instead of linking it directly
 into the main mono binary.
 
@@ -445,7 +407,6 @@ not done much testing with Mono.
 runtime that contains DTrace probes and can
 participate in the system profiling using DTrace.
 
-
 * `--disable-dev-random`
 
   * Mono uses /dev/random to obtain good random data for
@@ -464,85 +425,3 @@ http://code.google.com/p/nativeclient/
 
   * Currently this is used with Mono's AOT engine as
 Native Client does not support JIT engines yet.
-
-Using Mono
-==========
-
-Once you have installed the software, you can run a few programs:
-
-* `mono program.exe` runtime engine
-
-* `mcs program.cs` C# compiler 
-
-* `monodis program.exe` CIL Disassembler
-
-See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
-for further details.
-
-Directory Roadmap
-=================
-
-* `docs/` - Technical documents about the Mono runtime.
-
-* `data/` - Configuration files installed as part of the Mono runtime.
-
-* `mono/` - The core of the Mono Runtime.
-
-  * `metadata/` - The object system and metadata reader.
-
-  * `mini/` - The Just in Time Compiler.
-
-  * `dis/` - CIL executable Disassembler
-
-  * `io-layer/` - The I/O layer and system abstraction for 
-emulating the .NET IO model.
-
-  * `cil/` - Common Intermediate Representation, XML
-definition of the CIL bytecodes.
-
- * `arch/` - Architecture specific portions.
-
-* `man/` - Manual pages for the various Mono commands and programs.
-
-* `samples/` -Some simple sample programs on uses of the Mono
-runtime as an embedded library.   
-
-* `scripts/` - Scripts used to invoke Mono and the corresponding program.
-
-* `runtime/` - A directory that contains the Makefiles that link the
-mono/ and mcs/ build systems.
-
-* `../olive/`
-
-  * If the directory ../olive is present (as an
-independent checkout) from the Mono module, that
-directory is automatically configured to share the
-same prefix than this module gets.
-
-Contributing to Mono
-====================
-Before submitting changes to Mono, please review the contribution guidelines at http://mono-project.com/Contributing. Please pay particular attention to the [Important Rules](http://mono-project.com/Contributing#Important_Rules) section.
-
-
-Git submodules maintenance
-==========================
-
-Read documentation at http://mono-project.com/Git_Submodule_Maintenance
-
-Maintainer
-==========
-
-Mono is maintained by miguel@xamarin.com
-
-Reporting bugs
-==============
-
-To submit bug reports, please use Xamarin's Bugzilla:
-
-https://bugzilla.xamarin.com/
-
-Please use the search facility to ensure the same bug hasn't already
-been submitted and follow our guidelines on how to make a good bug
-report:
-
-http://mono-project.com/Bugs#How_to_make_a_good_bug_report
index 2bc3c0d08f50253386858ba297895eadfae6e96f..2e3078be9a4066b3fca12fbc465cc38d3170629c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 #AC_PREREQ([2.62])
 
-AC_INIT(mono, [3.12.1],
+AC_INIT(mono, [3.99.0],
         [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
 
 AC_CONFIG_SRCDIR([README.md])
@@ -2299,9 +2299,6 @@ fi
 
 AC_ARG_ENABLE(bcl-opt, [  --disable-bcl-opt    BCL is compiled with no optimizations (allows accurate BCL debugging)], test_bcl_opt=$enableval, test_bcl_opt=yes)
 
-AC_ARG_ENABLE(nunit-tests, [  --enable-nunit-tests     Run the nunit tests of the class library on 'make check'])
-AM_CONDITIONAL(ENABLE_NUNIT_TESTS, [test x$enable_nunit_tests = xyes])
-
 AC_MSG_CHECKING([if big-arrays are to be enabled])
 AC_ARG_ENABLE(big-arrays,  [  --enable-big-arrays      Enable the allocation and indexing of arrays greater than Int32.MaxValue], enable_big_arrays=$enableval, enable_big_arrays=no)
 if test "x$enable_big_arrays" = "xyes" ; then
@@ -2799,7 +2796,18 @@ if test "x$host" != "x$target"; then
                # in mono-compiler.h            
                with_tls=pthread
                target_mach=no
-               ;;                      
+               ;;
+   aarch64*-linux-*)
+               TARGET=ARM64;
+               arch_target=arm64;
+               AC_DEFINE(TARGET_ARM64, 1, [...])
+               AC_DEFINE(TARGET_ANDROID, 1, [...])
+               CPPFLAGS="$CPPFLAGS"
+               # Can't use tls, since it depends on the runtime detection of tls offsets
+               # in mono-compiler.h
+               with_tls=pthread
+               target_mach=no
+               ;;
        aarch64-*)
                TARGET=ARM64
                ;;
@@ -3199,7 +3207,7 @@ case "x$libgc" in
                ;;
 esac
 
-AC_ARG_WITH(profile2,  [  --with-profile2=yes,no          If you want to install the 2.0/3.5 FX (defaults to yes)],            [], [with_profile2=yes])
+AC_ARG_WITH(profile2,  [  --with-profile2=yes,no          If you want to install the 2.0/3.5 FX (defaults to yes)],            [], [with_profile2=no])
 AC_ARG_WITH(profile4,  [  --with-profile4=yes,no          If you want to install the 4.0 FX (defaults to yes)],                [], [with_profile4=yes])
 AC_ARG_WITH(profile4_5,[  --with-profile4_5=yes,no        If you want to install the 4.5 FX (defaults to yes)],                [], [with_profile4_5=yes])
 AC_ARG_WITH(monodroid, [  --with-monodroid=yes,no         If you want to build the MonoDroid assemblies (defaults to no)],     [], [with_monodroid=no])
@@ -3275,7 +3283,6 @@ dnl Consistency settings
 dnl
 if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then
    DISABLE_MCS_DOCS=yes
-   with_profile2=no
    with_profile4=no
    with_profile4_5=no
    with_monodroid=no
@@ -3299,7 +3306,6 @@ AC_SUBST(OPROFILE_LIBS)
 
 libmono_ldflags="$libmono_ldflags $LIBS"
 
-AM_CONDITIONAL(INSTALL_2_0, [test "x$with_profile2" = xyes])
 AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes])
 AM_CONDITIONAL(INSTALL_4_5, [test "x$with_profile4_5" = xyes])
 AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" != "xno"])
@@ -3744,7 +3750,6 @@ echo "
        LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
 
    Libraries:
-       .NET 2.0/3.5:  $with_profile2
        .NET 4.0:      $with_profile4
        .NET 4.5:      $with_profile4_5
        MonoDroid:     $with_monodroid
index 39527b5f8ebdf9682216e6e52a3bbcaf7e52de59..811955257bb529eb63ef9261c61089e99af5ad81 100644 (file)
@@ -99,14 +99,14 @@ mono-file-formats.tree: $(srcdir)/docs.make $(srcdir)/Makefile.am $(srcdir)/depl
 deploy/.stamp: convert.exe Makefile.am 
        $(mkdir_p) html
        runtimedir=`cd ../runtime && pwd`; export runtimedir; \
-       MONO_PATH=../mcs/class/lib/net_2_0 perl $(srcdir)/exdoc -h $(srcdir) -t . $(srcdir)/../mono/*/*.c
+       MONO_PATH=../mcs/class/lib/net_4_5 perl $(srcdir)/exdoc -h $(srcdir) -t . $(srcdir)/../mono/*/*.c
        touch $@
 
 extract: deploy/.stamp
 
 convert.exe: convert.cs AgilityPack.dll
-       $(TOOL_MAKE) PROFILE=net_2_0 convert.exe
+       $(TOOL_MAKE) PROFILE=net_4_5 convert.exe
 
 AgilityPack.dll: 
-       $(TOOL_MAKE) PROFILE=net_2_0 AgilityPack.dll
+       $(TOOL_MAKE) PROFILE=net_4_5 AgilityPack.dll
 
index 1ff6c42ff28d5247e052e7e68b34c72e9a43f8eb..5281419c00bcffd42155da17f705895cd7232e29 100644 (file)
@@ -135,6 +135,7 @@ AC_CHECK_SIZEOF(void *)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)
 AC_CHECK_FUNCS(strlcpy stpcpy strtok_r rewinddir vasprintf)
+AC_CHECK_FUNCS(getrlimit)
 
 #
 # Mono currently supports 10.6, but strndup is not available prior to 10.7; avoiding
@@ -179,7 +180,7 @@ if test "x$have_iso_varargs" = "xyes"; then
 fi
 AC_SUBST(G_HAVE_ISO_VARARGS)
 
-AC_CHECK_HEADERS(getopt.h sys/select.h sys/time.h sys/wait.h pwd.h langinfo.h iconv.h localcharset.h sys/types.h)
+AC_CHECK_HEADERS(getopt.h sys/select.h sys/time.h sys/wait.h pwd.h langinfo.h iconv.h localcharset.h sys/types.h sys/resource.h)
 AC_CHECK_HEADER(alloca.h, [HAVE_ALLOCA_H=1], [HAVE_ALLOCA_H=0])
 AC_SUBST(HAVE_ALLOCA_H)
 
index 533c84116c3a449c582103327a47e0b2b40fc3b6..d23e32a534c5428173f371e531ee61c8a4a82826 100644 (file)
@@ -176,7 +176,6 @@ typedef struct _GMemChunk GMemChunk;
 /*
  * Misc.
  */
-#define g_atexit(func) ((void) atexit (func))
 
 const gchar *    g_getenv(const gchar *variable);
 gboolean         g_setenv(const gchar *variable, const gchar *value, gboolean overwrite);
index 836e6f2aa9c6c551113692c2da65059b72e92a37..449a724be9d40b1482d2cd877f9a0eb5e13efc72 100644 (file)
 #include <sys/wait.h>
 #endif
 
+#ifdef HAVE_SYS_RESOURCE_H
+#  include <sys/resource.h>
+#endif
+
 #ifdef G_OS_WIN32
 #include <io.h>
 #include <winsock2.h>
@@ -213,6 +217,23 @@ write_all (int fd, const void *vbuf, size_t n)
        return nwritten;
 }
 
+#ifndef G_OS_WIN32
+static int
+g_getdtablesize (void)
+{
+#ifdef HAVE_GETRLIMIT
+       struct rlimit limit;
+       int res;
+
+       res = getrlimit (RLIMIT_NOFILE, &limit);
+       g_assert (res == 0);
+       return limit.rlim_cur;
+#else
+       return getdtablesize ();
+#endif
+}
+#endif
+
 gboolean
 g_spawn_command_line_sync (const gchar *command_line,
                                gchar **standard_output,
@@ -256,7 +277,7 @@ g_spawn_command_line_sync (const gchar *command_line,
                        close (stderr_pipe [0]);
                        dup2 (stderr_pipe [1], STDERR_FILENO);
                }
-               for (i = getdtablesize () - 1; i >= 3; i--)
+               for (i = g_getdtablesize () - 1; i >= 3; i--)
                        close (i);
 
                /* G_SPAWN_SEARCH_PATH is always enabled for g_spawn_command_line_sync */
@@ -417,7 +438,7 @@ g_spawn_async_with_pipes (const gchar *working_directory,
                        }
 
                        if ((flags & G_SPAWN_LEAVE_DESCRIPTORS_OPEN) != 0) {
-                               for (i = getdtablesize () - 1; i >= 3; i--)
+                               for (i = g_getdtablesize () - 1; i >= 3; i--)
                                        close (i);
                        }
 
index fdab3ddae63efbe05fcb1e812cb18facc35c9146..04e8d4075ce134087eb22387b8b0da242f4ab482 100755 (executable)
@@ -1,6 +1,10 @@
 /* config.h.  Generated by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+#ifndef _MSC_VER
+#include "cygconfig.h"
+#else
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define HAVE_DLFCN_H 1
 
@@ -74,3 +78,4 @@
 #define VERSION "0.1"
 
 #define HAVE_STRTOK_R 1
+#endif
diff --git a/external/referencesource b/external/referencesource
new file mode 160000 (submodule)
index 0000000..b5edab1
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit b5edab1e7af2a54758bc184899d2ca24a7954cee
index 9bcf32ea2fbfbe292037fee9077a50c53ba86ec8..4f8d588c34cdc354825214a7f2b174cbc6834d5e 100644 (file)
@@ -6,17 +6,16 @@ SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
 
 basic_SUBDIRS := build jay mcs class
 build_SUBDIRS := build class mcs class/aot-compiler tools
-net_2_0_SUBDIRS := build class nunit24 ilasm tools tests errors docs
 monodroid_SUBDIRS := build class
 monotouch_SUBDIRS := build class
 monotouch_runtime_SUBDIRS := build class
 xammac_SUBDIRS := build class
 mobile_SUBDIRS := build class
 mobile_static_SUBDIRS := build class
-net_3_5_SUBDIRS := build class tools/xbuild
 net_4_0_SUBDIRS := build class
 net_4_5_SUBDIRS := build mcs class nunit24 ilasm tools tests errors docs
 xbuild_12_SUBDIRS := build class tools/xbuild
+xbuild_14_SUBDIRS := build class tools/xbuild
 
 # List of test subdirs that should pass 100%
 centum_tests := \
@@ -87,7 +86,7 @@ dir-check:
 
 # fun specialty targets
 
-PROFILES = net_2_0 net_3_5 net_4_0 net_4_5 xbuild_12
+PROFILES = net_3_5 net_4_0 net_4_5 xbuild_12 xbuild_14
 
 .PHONY: all-profiles $(STD_TARGETS:=-profiles)
 all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--%
@@ -106,17 +105,16 @@ profiles-do--run-test:
 
 # Orchestrate the bootstrap here.
 _boot_ = all clean install
+$(_boot_:%=profile-do--xbuild_14--%):         profile-do--xbuild_14--%:         profile-do--net_4_5--%
 $(_boot_:%=profile-do--xbuild_12--%):         profile-do--xbuild_12--%:         profile-do--net_4_5--%
 $(_boot_:%=profile-do--net_4_5--%):           profile-do--net_4_5--%:           profile-do--build--%
 $(_boot_:%=profile-do--net_4_0--%):           profile-do--net_4_0--%:           profile-do--build--%
-$(_boot_:%=profile-do--net_3_5--%):           profile-do--net_3_5--%:           profile-do--net_2_0--%
 $(_boot_:%=profile-do--monodroid--%):         profile-do--monodroid--%:         profile-do--build--%
 $(_boot_:%=profile-do--monotouch--%):         profile-do--monotouch--%:         profile-do--build--%
 $(_boot_:%=profile-do--monotouch_runtime--%):  profile-do--monotouch_runtime--%:  profile-do--build--%
 $(_boot_:%=profile-do--xammac--%):            profile-do--xammac--%:            profile-do--build--%
 $(_boot_:%=profile-do--mobile--%):            profile-do--mobile--%:         profile-do--build--%
 $(_boot_:%=profile-do--mobile_static--%):     profile-do--mobile_static--%:     profile-do--build--%
-$(_boot_:%=profile-do--net_2_0--%):           profile-do--net_2_0--%:           profile-do--build--%
 $(_boot_:%=profile-do--build--%):             profile-do--build--%:             profile-do--basic--%
 
 testcorlib:
index ce026ae275fd57a1ad44b124c96abf5fd35b5f6b..fbb173f862588aacfa6708c3e53cc440b72e3282 100644 (file)
@@ -18,17 +18,17 @@ PLATFORMS = darwin linux win32
 PROFILES = \
        basic \
        build \
-       net_2_0 \
-       net_3_5 \
        net_4_0 \
        net_4_5 \
-       xbuild_12
+       xbuild_12 \
+       xbuild_14
 
 COMMON_SRCS = \
        Consts.cs.in                    \
        Locale.cs                       \
        MonoTODOAttribute.cs \
-       basic-profile-check.cs
+       basic-profile-check.cs          \
+       SR.cs
 
 DISTFILES = \
        README.makefiles                \
diff --git a/mcs/build/common/SR.cs b/mcs/build/common/SR.cs
new file mode 100644 (file)
index 0000000..18c58b3
--- /dev/null
@@ -0,0 +1,38 @@
+using System.Globalization;
+
+internal sealed class AssemblyRef
+{
+       // FIXME
+       internal const string SystemConfiguration = "System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, ProcessorArchitecture=MSIL";
+       internal const string System = "System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL";
+       internal const string SystemWeb = "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
+}
+
+static partial class SR
+{
+       internal static string GetString(string name, params object[] args)
+       {
+               return GetString (CultureInfo.InvariantCulture, name, args);
+       }
+
+       internal static string GetString(CultureInfo culture, string name, params object[] args)
+       {
+               return string.Format (culture, name, args);
+       }
+
+       internal static string GetString(string name)
+       {
+               return name;
+       }
+
+       internal static string GetString(CultureInfo culture, string name)
+       {
+               return name;
+       }
+}
+
+namespace System.Runtime.CompilerServices
+{
+       class FriendAccessAllowed : Attribute
+       { }
+}
index 12f6c82cff2c8f05c225231d8d3769a19760335d..9fa24ccb47b6e4a74b0d0d1dc7d1f3e6d858adc4 100644 (file)
@@ -18,7 +18,7 @@ endif
 
 MCS = $(with_mono_path) $(INTERNAL_GMCS)
 
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:BOOTSTRAP_BASIC -nowarn:1699
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:BOOTSTRAP_BASIC -nowarn:1699 -d:MONO -d:DISABLE_CAS_USE
 NO_SIGN_ASSEMBLY = yes
 NO_TEST = yes
 NO_INSTALL = yes
index b09a441a03fffa49ed8548963e5e41500fbc6553..850d17e8a8fddedc816dedf4afe15c366c5528a9 100644 (file)
@@ -13,7 +13,7 @@ profile-check:
        @:
 
 DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES)
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES)
 
 NO_SIGN_ASSEMBLY = yes
 NO_TEST = yes
index 117ac6051512b75ac1cbf8b82af38c9185e86339..75611d8cda4d649e058bd4b1b7b45d0e42eb5931 100644 (file)
@@ -22,6 +22,8 @@ PROFILE_MCS_FLAGS = \
        -d:NET_3_5 \
        -d:NET_4_0 \
        -d:NET_4_5 \
+       -d:MONO \
+       -d:DISABLE_CAS_USE \
        -nowarn:1699 \
        -nostdlib \
        -lib:$(topdir)/class/lib/$(PROFILE) \
index b789823519463da50495b379d55a7837c5c7e188..2fef29aa96fa90d710635c67579bc0d2dff22e9d 100644 (file)
@@ -20,6 +20,8 @@ PROFILE_MCS_FLAGS = \
        -d:NET_3_5 \
        -d:NET_4_0 \
        -d:NET_4_5 \
+       -d:MONO \
+       -d:DISABLE_CAS_USE \
        -d:MOBILE \
        -d:FULL_AOT_RUNTIME \
        -d:DISABLE_REMOTING \
index c14f61c6087ffe40bcc4dc05ea6eec4846d16d99..28698ca63d60e12ef05cb049a0a42d237871acc1 100644 (file)
@@ -20,6 +20,8 @@ PROFILE_MCS_FLAGS = \
        -d:NET_3_5 \
        -d:NET_4_0 \
        -d:NET_4_5 \
+       -d:MONO \
+       -d:DISABLE_CAS_USE \
        -d:MOBILE \
        -d:MOBILE_DYNAMIC \
        -d:MONODROID \
index 706463d748cd4c1021e2dd5b4bca32c4c99f4ae3..c60d9398ffa190805439342211e43aae899fa056 100644 (file)
@@ -21,6 +21,8 @@ PROFILE_MCS_FLAGS = \
        -d:NET_4_0 \
        -d:NET_4_5 \
        -d:MOBILE \
+       -d:MONO \
+       -d:DISABLE_CAS_USE \
        -d:MONOTOUCH \
        -d:DISABLE_REMOTING \
        -d:DISABLE_COM \
index f438e805f0d054115e869b8e7042725b92c83b2b..59c7df4c31cd4366c9a4f6d65807c6056643938c 100644 (file)
@@ -14,7 +14,7 @@ profile-check:
        @:
 
 DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_2_1 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -d:MOBILE -d:MONOTOUCH -D:DISABLE_REMOTING -d:DISABLE_COM -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_2_1 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE  -d:MOBILE -d:MONOTOUCH -D:DISABLE_REMOTING -d:DISABLE_COM -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
 
 FRAMEWORK_VERSION = 2.1
 
diff --git a/mcs/build/profiles/net_2_0.make b/mcs/build/profiles/net_2_0.make
deleted file mode 100644 (file)
index e3be2c8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- makefile -*-
-
-BOOTSTRAP_PROFILE = build
-BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
-MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
-
-# nuttzing!
-
-profile-check:
-       @:
-
-DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
-
-FRAMEWORK_VERSION = 2.0
-XBUILD_VERSION = 2.0
diff --git a/mcs/build/profiles/net_3_5.make b/mcs/build/profiles/net_3_5.make
deleted file mode 100644 (file)
index 9717689..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- makefile -*-
-
-BOOTSTRAP_PROFILE = build
-
-MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
-
-# nuttzing!
-
-profile-check:
-       @:
-
-DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_5 -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) -lib:$(topdir)/class/lib/net_2_0 $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
-
-FRAMEWORK_VERSION = 3.5
-XBUILD_VERSION = 3.5
-
-TEST_HARNESS = $(topdir)/class/lib/net_2_0/nunit-console.exe
-TEST_MONO_PATH = $(topdir)/class/lib/net_2_0
-
index 99782bd526a783bd31c1e88598150f2fcc09a979..7081318194a3524ade3503704768016c3c2dae7d 100644 (file)
@@ -11,7 +11,7 @@ profile-check:
        @:
 
 DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES)
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -d:MONO -d:DISABLE_CAS_USE  -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES)
 
 FRAMEWORK_VERSION = 4.0
 XBUILD_VERSION = 4.0
index ad921e705ea23954807e40962b2e6cef80d3875b..7c37b2c89d644fb8b025c8db6b6a4d8ed47d03a7 100644 (file)
@@ -11,7 +11,7 @@ profile-check:
        @:
 
 DEFAULT_REFERENCES = -r:mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
+PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE  -nowarn:1699 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
 
 FRAMEWORK_VERSION = 4.5
 XBUILD_VERSION = 4.0
index d463a0fe943f580ecb05e81aaaf4d91ec6768853..3a91b7620e2960a986b6fd3eb54cf34335945190 100644 (file)
@@ -18,6 +18,8 @@ PROFILE_MCS_FLAGS = \
        -d:NET_3_5 \
        -d:NET_4_0 \
        -d:NET_4_5 \
+       -d:MONO \
+       -d:DISABLE_CAS_USE  \
        -d:MOBILE \
        -d:MOBILE_DYNAMIC \
        -d:XAMMAC \
index d3aff7e92e6645311ea9ba4b7d4b27ee8a8d98f0..4e0f9940dfeb23af2f1e773605a5e5abe7f804a7 100644 (file)
@@ -2,6 +2,6 @@
 
 include $(topdir)/build/profiles/net_4_5.make
 
-PROFILE_MCS_FLAGS := $(PROFILE_MCS_FLAGS) -d:XBUILD_12 -lib:$(topdir)/class/lib/net_4_5
+PROFILE_MCS_FLAGS := $(PROFILE_MCS_FLAGS) -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE  -lib:$(topdir)/class/lib/net_4_5
 
 XBUILD_VERSION = 12.0
diff --git a/mcs/build/profiles/xbuild_14.make b/mcs/build/profiles/xbuild_14.make
new file mode 100644 (file)
index 0000000..eeff408
--- /dev/null
@@ -0,0 +1,7 @@
+# -*- makefile -*-
+
+include $(topdir)/build/profiles/net_4_5.make
+
+PROFILE_MCS_FLAGS := $(PROFILE_MCS_FLAGS) -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE  -lib:$(topdir)/class/lib/net_4_5
+
+XBUILD_VERSION = 14.0
diff --git a/mcs/class/Accessibility/Accessibility-net_2_0.csproj b/mcs/class/Accessibility/Accessibility-net_2_0.csproj
deleted file mode 100644 (file)
index af67d34..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{43A23ADA-35D9-4A48-BCE5-C21C081C6676}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Accessibility</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Accessibility\IAccessible.cs" />\r
-    <Compile Include="Accessibility\IAccessibleHandler.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_2_0.csproj b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_2_0.csproj
deleted file mode 100644 (file)
index 7c10932..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2B2412A6-4397-4DA7-94A6-D1AFEBCFA563}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Commons.Xml.Relaxng</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlBuiltInValidationProvider.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlCompileContext.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlConfig.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlException.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlFilteredXmlReader.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlReader.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlRelaxngSupport.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlSimplified.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlStructures.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlValidatingReader.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlValidationProvider.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlValidator.cs" />\r
-    <Compile Include="Commons.Xml.Nvdl\NvdlXsdSupport.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpContentType.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpNameClasses.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpObjects.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpPatterns.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Derivative\Util.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Inference\RelaxngInference.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Rnc\RncTokenizer.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Rnc\RncWriter.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Rnc\XmlChar.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\Misc.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngDatatype.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngDatatypeProvider.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngDefaultDatatypes.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngException.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngGrammar.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngMergedProvider.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngNameClass.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngPattern.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngPatternType.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngReader.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\RelaxngValidatingReader.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng\XsdDatatypeProvider.cs" />\r
-    <Compile Include="Commons.Xml\XmlDefaultReader.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Rnc\RncParser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/relaxng.rng">\r
-      <LogicalName>relaxng.rng</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-tests-net_2_0.csproj b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 726cbf6..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{0CCD9F77-53C4-4E1A-92C5-0A237C034C00}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Commons.Xml.Relaxng-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Commons.Xml.Relaxng_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\NvdlValidatingReaderTests.cs" />\r
-    <Compile Include="Test\RdpPatternTests.cs" />\r
-    <Compile Include="Test\RelaxngDatatypeProviderTests.cs" />\r
-    <Compile Include="Test\RelaxngReaderTests.cs" />\r
-    <Compile Include="Test\RelaxngValidatingReaderTests.cs" />\r
-    <Compile Include="Test\RncTests.cs" />\r
-    <Compile Include="Test\XsdDatatypeTests.cs" />\r
-    <Compile Include="Commons.Xml.Relaxng.Rnc\RncParser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Commons.Xml.Relaxng\Commons.Xml.Relaxng-net_2_0.csproj">\r
-      <Project>{2B2412A6-4397-4DA7-94A6-D1AFEBCFA563}</Project>\r
-      <Name>Commons.Xml.Relaxng\Commons.Xml.Relaxng-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/relaxng.rng">\r
-      <LogicalName>relaxng.rng</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Compat.ICSharpCode.SharpZipLib/Compat.ICSharpCode.SharpZipLib-net_2_0.csproj b/mcs/class/Compat.ICSharpCode.SharpZipLib/Compat.ICSharpCode.SharpZipLib-net_2_0.csproj
deleted file mode 100644 (file)
index 14e8e98..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8F572B12-CBD2-48F8-8234-41A876C57364}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/compat/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>ICSharpCode.SharpZipLib</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\AssemblyInfo.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\BZip2\BZip2.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\BZip2\BZip2Constants.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\BZip2\BZip2OutputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Checksums\Adler32.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Checksums\Crc32.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Checksums\IChecksum.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Checksums\StrangeCrc.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\GZip\GZipConstants.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\GZip\GZipInputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\GZip\GZipOutputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\InvalidHeaderException.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarArchive.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarBuffer.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarEntry.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarHeader.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarInputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Tar\TarOutputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Deflater.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\DeflaterConstants.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\DeflaterEngine.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\DeflaterHuffman.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\DeflaterPending.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Inflater.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\InflaterDynHeader.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\InflaterHuffmanTree.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\PendingBuffer.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Streams\DeflaterOutputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Streams\InflaterInputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Streams\OutputWindow.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\Compression\Streams\StreamManipulator.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\ZipConstants.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\ZipEntry.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\ZipFile.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\ZipInputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\Zip\ZipOutputStream.cs" />\r
-    <Compile Include=".\ICSharpCode.SharpZipLib\ZipException.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Cscompmgd/Cscompmgd-net_2_0.csproj b/mcs/class/Cscompmgd/Cscompmgd-net_2_0.csproj
deleted file mode 100644 (file)
index c828993..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C010783F-1EAC-480C-B1D4-A289426D3F8F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>cscompmgd</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.CSharp\Compiler.cs" />\r
-    <Compile Include="Microsoft.CSharp\CompilerError.cs" />\r
-    <Compile Include="Microsoft.CSharp\ErrorLevel.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Cscompmgd/Cscompmgd-tests-net_2_0.csproj b/mcs/class/Cscompmgd/Cscompmgd-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2ecba67..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{B3E7EE0C-3AB6-4578-844E-FF72C5807953}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Cscompmgd-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Cscompmgd_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Microsoft.CSharp\CompilerTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Cscompmgd\Cscompmgd-net_2_0.csproj">\r
-      <Project>{C010783F-1EAC-480C-B1D4-A289426D3F8F}</Project>\r
-      <Name>Cscompmgd\Cscompmgd-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/CustomMarshalers/CustomMarshalers-net_2_0.csproj b/mcs/class/CustomMarshalers/CustomMarshalers-net_2_0.csproj
deleted file mode 100644 (file)
index 367270e..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{81062FC0-B86A-4707-9BC3-F67FDFB47AF4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>CustomMarshalers</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\EnumerableToDispatchMarshaler.cs" />\r
-    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\EnumeratorToEnumVariantMarshaler.cs" />\r
-    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\ExpandoToDispatchExMarshaler.cs" />\r
-    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\TypeToTypeInfoMarshaler.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/CJK/I18N.CJK-net_2_0.csproj b/mcs/class/I18N/CJK/I18N.CJK-net_2_0.csproj
deleted file mode 100644 (file)
index 73a2654..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9C753AD5-56C6-46F8-976E-3AD3A4481626}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.CJK</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="CodeTable.cs" />\r
-    <Compile Include="CP51932.cs" />\r
-    <Compile Include="CP932.cs" />\r
-    <Compile Include="CP936.cs" />\r
-    <Compile Include="CP949.cs" />\r
-    <Compile Include="CP950.cs" />\r
-    <Compile Include="DbcsConvert.cs" />\r
-    <Compile Include="DbcsEncoding.cs" />\r
-    <Compile Include="GB18030Encoding.cs" />\r
-    <Compile Include="GB18030Source.cs" />\r
-    <Compile Include="ISO2022JP.cs" />\r
-    <Compile Include="JISConvert.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="big5.table">\r
-      <LogicalName>big5.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="gb2312.table">\r
-      <LogicalName>gb2312.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="jis.table">\r
-      <LogicalName>jis.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="ks.table">\r
-      <LogicalName>ks.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="gb18030.table">\r
-      <LogicalName>gb18030.table</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/CJK/I18N.CJK-tests-net_2_0.csproj b/mcs/class/I18N/CJK/I18N.CJK-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2f53e58..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{53F4354D-AEFA-4AB8-AF76-89012BB8FEB3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\I18N.CJK-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.CJK_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\I18N.CJK.Test.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\CJK\I18N.CJK-net_2_0.csproj">\r
-      <Project>{9C753AD5-56C6-46F8-976E-3AD3A4481626}</Project>\r
-      <Name>CJK\I18N.CJK-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="big5.table">\r
-      <LogicalName>big5.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="gb2312.table">\r
-      <LogicalName>gb2312.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="jis.table">\r
-      <LogicalName>jis.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="ks.table">\r
-      <LogicalName>ks.table</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="gb18030.table">\r
-      <LogicalName>gb18030.table</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/Common/I18N-net_2_0.csproj b/mcs/class/I18N/Common/I18N-net_2_0.csproj
deleted file mode 100644 (file)
index 4c71f89..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>DISABLE_UNSAFE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="ByteEncoding.cs" />\r
-    <Compile Include="ByteSafeEncoding.cs" />\r
-    <Compile Include="Handlers.cs" />\r
-    <Compile Include="Manager.cs" />\r
-    <Compile Include="MonoEncoding.cs" />\r
-    <Compile Include="MonoSafeEncoding.cs" />\r
-    <Compile Include="Strings.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/MidEast/I18N.MidEast-net_2_0.csproj b/mcs/class/I18N/MidEast/I18N.MidEast-net_2_0.csproj
deleted file mode 100644 (file)
index f02ffb3..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{81E84AE7-FF9C-499B-9CA1-02E438C233C6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.MidEast</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="CP1254.cs" />\r
-    <Compile Include="CP1255.cs" />\r
-    <Compile Include="CP1256.cs" />\r
-    <Compile Include="CP28596.cs" />\r
-    <Compile Include="CP28598.cs" />\r
-    <Compile Include="CP28599.cs" />\r
-    <Compile Include="CP38598.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/MidEast/I18N.MidEast-tests-net_2_0.csproj b/mcs/class/I18N/MidEast/I18N.MidEast-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 1a204a2..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{6BC73CD0-ADAF-461D-B190-F1458D439314}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\I18N.MidEast-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.MidEast_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\I18N.MidEast.Test.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\MidEast\I18N.MidEast-net_2_0.csproj">\r
-      <Project>{81E84AE7-FF9C-499B-9CA1-02E438C233C6}</Project>\r
-      <Name>MidEast\I18N.MidEast-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/Other/I18N.Other-net_2_0.csproj b/mcs/class/I18N/Other/I18N.Other-net_2_0.csproj
deleted file mode 100644 (file)
index 1886f5c..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F77F18AA-4F63-456F-8FC4-6A2DFD8F9D54}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.Other</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="CP1251.cs" />\r
-    <Compile Include="CP1257.cs" />\r
-    <Compile Include="CP1258.cs" />\r
-    <Compile Include="CP20866.cs" />\r
-    <Compile Include="CP21866.cs" />\r
-    <Compile Include="CP28594.cs" />\r
-    <Compile Include="CP28595.cs" />\r
-    <Compile Include="CP57002.cs" />\r
-    <Compile Include="CP874.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/Rare/I18N.Rare-net_2_0.csproj b/mcs/class/I18N/Rare/I18N.Rare-net_2_0.csproj
deleted file mode 100644 (file)
index 0ba3a61..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{83015125-AD39-4160-B723-677CB4F1EF3D}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.Rare</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="CP1026.cs" />\r
-    <Compile Include="CP1047.cs" />\r
-    <Compile Include="CP1140.cs" />\r
-    <Compile Include="CP1141.cs" />\r
-    <Compile Include="CP1142.cs" />\r
-    <Compile Include="CP1143.cs" />\r
-    <Compile Include="CP1144.cs" />\r
-    <Compile Include="CP1145.cs" />\r
-    <Compile Include="CP1146.cs" />\r
-    <Compile Include="CP1147.cs" />\r
-    <Compile Include="CP1148.cs" />\r
-    <Compile Include="CP1149.cs" />\r
-    <Compile Include="CP20273.cs" />\r
-    <Compile Include="CP20277.cs" />\r
-    <Compile Include="CP20278.cs" />\r
-    <Compile Include="CP20280.cs" />\r
-    <Compile Include="CP20284.cs" />\r
-    <Compile Include="CP20285.cs" />\r
-    <Compile Include="CP20290.cs" />\r
-    <Compile Include="CP20297.cs" />\r
-    <Compile Include="CP20420.cs" />\r
-    <Compile Include="CP20424.cs" />\r
-    <Compile Include="CP20871.cs" />\r
-    <Compile Include="CP21025.cs" />\r
-    <Compile Include="CP37.cs" />\r
-    <Compile Include="CP500.cs" />\r
-    <Compile Include="CP708.cs" />\r
-    <Compile Include="CP852.cs" />\r
-    <Compile Include="CP855.cs" />\r
-    <Compile Include="CP857.cs" />\r
-    <Compile Include="CP858.cs" />\r
-    <Compile Include="CP862.cs" />\r
-    <Compile Include="CP864.cs" />\r
-    <Compile Include="CP866.cs" />\r
-    <Compile Include="CP869.cs" />\r
-    <Compile Include="CP870.cs" />\r
-    <Compile Include="CP875.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/West/I18N.West-net_2_0.csproj b/mcs/class/I18N/West/I18N.West-net_2_0.csproj
deleted file mode 100644 (file)
index f877f6d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{AA988ADC-FBBB-4168-B8E4-83B6C6D543EC}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.West</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="CP10000.cs" />\r
-    <Compile Include="CP10079.cs" />\r
-    <Compile Include="CP1250.cs" />\r
-    <Compile Include="CP1252.cs" />\r
-    <Compile Include="CP1253.cs" />\r
-    <Compile Include="CP28592.cs" />\r
-    <Compile Include="CP28593.cs" />\r
-    <Compile Include="CP28597.cs" />\r
-    <Compile Include="CP28605.cs" />\r
-    <Compile Include="CP437.cs" />\r
-    <Compile Include="CP850.cs" />\r
-    <Compile Include="CP860.cs" />\r
-    <Compile Include="CP861.cs" />\r
-    <Compile Include="CP863.cs" />\r
-    <Compile Include="CP865.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/I18N/West/I18N.West-tests-net_2_0.csproj b/mcs/class/I18N/West/I18N.West-tests-net_2_0.csproj
deleted file mode 100644 (file)
index d0558bc..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C1E0F01D-878A-4343-A283-8864D7D8956E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\I18N.West-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>I18N.West_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\I18N.West.Test.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\Common\I18N-net_2_0.csproj">\r
-      <Project>{90D1493C-4092-4A53-BBC1-5E79DFEF9AD1}</Project>\r
-      <Name>Common\I18N-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\I18N\West\I18N.West-net_2_0.csproj">\r
-      <Project>{AA988ADC-FBBB-4168-B8E4-83B6C6D543EC}</Project>\r
-      <Name>West\I18N.West-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_2_0.csproj b/mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_2_0.csproj
deleted file mode 100644 (file)
index ee2f07a..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{47BD9179-658F-4881-85D3-4883B11BCE12}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>IBM.Data.DB2</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2ClientUtils.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2CLIWrapper.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Command.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2CommandBuilder.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Connection.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2ConnectionPool.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2ConnectionSettings.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Constants.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2DataAdapter.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2DataReader.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Environment.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Error.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2ErrorCollection.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Exception.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2InfoMessageEventHandler.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2OpenConnection.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Parameter.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2ParameterCollection.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatedEventArgs.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatedEventHandler.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatingEventArgs.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatingEventHandler.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Transaction.cs" />\r
-    <Compile Include=".\IBM.Data.DB2\DB2Type.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_2_0.csproj b/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_2_0.csproj
deleted file mode 100644 (file)
index bd79d3c..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9E123979-3457-435B-A081-8432EEBA134A}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>ICSharpCode.SharpZipLib</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="ICSharpCode.SharpZipLib\AssemblyInfo.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2Constants.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2Exception.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2OutputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Checksums\Adler32.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Checksums\CRC32.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Checksums\IChecksum.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Checksums\StrangeCRC.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Core\FileSystemScanner.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Core\INameTransform.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Core\NameFilter.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Core\PathFilter.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Encryption\PkzipClassic.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\GZip\GZIPConstants.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\GZip\GZipException.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\GZip\GzipInputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\GZip\GzipOutputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Main.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\SharpZipBaseException.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\InvalidHeaderException.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarArchive.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarBuffer.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarEntry.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarException.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarHeader.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarInputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarOutputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Deflater.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterConstants.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterEngine.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterHuffman.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterPending.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Inflater.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\InflaterDynHeader.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\InflaterHuffmanTree.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\PendingBuffer.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\DeflaterOutputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\InflaterInputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\OutputWindow.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\StreamManipulator.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\FastZip.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipConstants.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipEntry.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipException.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipFile.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipInputStream.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipNameTransform.cs" />\r
-    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipOutputStream.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 8ca914dca5373d0df05d5f3c483ae2bccc3d8ba6..fc0d9dad96333f15c94a0b47c69a7b32575dd8d0 100644 (file)
@@ -33,6 +33,7 @@ net_2_0_dirs := \
        System.EnterpriseServices       \
        Mono.Data.Tds                   \
        System.Data                     \
+       System.ComponentModel.DataAnnotations   \
        Accessibility                   \
        Mono.WebBrowser                 \
        System.Runtime.Serialization.Formatters.Soap \
@@ -81,7 +82,6 @@ net_2_0_dirs := \
        System.ServiceModel             \
        System.Web.Extensions           \
        System.Web.Extensions.Design    \
-       System.ComponentModel.DataAnnotations   \
        System.Web.DynamicData          \
        System.Web.Mvc2                 \
        Mono.C5                         \
@@ -231,17 +231,16 @@ xbuild_4_0_dirs := \
        $(xbuild_2_0_dirs)      \
        Microsoft.Build
 
-net_2_0_SUBDIRS := $(net_2_0_dirs) $(net_2_0_only_dirs) $(xbuild_2_0_dirs) aot-compiler
 monodroid_SUBDIRS := $(monodroid_dirs)
 monotouch_SUBDIRS := $(monotouch_dirs)
 monotouch_runtime_SUBDIRS := $(monotouch_runtime_dirs)
 mobile_static_SUBDIRS := $(mobile_static_dirs)
 mobile_SUBDIRS := $(mobile_dynamic_dirs)
 xammac_SUBDIRS := $(xammac_dirs)
-net_3_5_SUBDIRS := $(xbuild_2_0_dirs)
 net_4_0_SUBDIRS := $(net_2_0_dirs) $(net_4_0_dirs) $(net_4_0_only_dirs) $(xbuild_4_0_dirs)
 net_4_5_SUBDIRS := $(net_2_0_dirs) $(net_4_0_dirs) $(net_4_5_dirs) $(xbuild_4_0_dirs) aot-compiler
 xbuild_12_SUBDIRS := $(xbuild_4_0_dirs)
+xbuild_14_SUBDIRS := $(xbuild_4_0_dirs)
 
 include ../build/rules.make
 
diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms-net_2_0.csproj b/mcs/class/Managed.Windows.Forms/System.Windows.Forms-net_2_0.csproj
deleted file mode 100644 (file)
index 2144ea5..0000000
+++ /dev/null
@@ -1,1193 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612,809</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Windows.Forms</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612,809</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612,809</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Assembly\Locale.cs" />\r
-    <Compile Include="System.Resources\ByteArrayFromResXHandler.cs" />\r
-    <Compile Include="System.Resources\FileRefHandler.cs" />\r
-    <Compile Include="System.Resources\InMemoryHandler.cs" />\r
-    <Compile Include="System.Resources\NullRefHandler.cs" />\r
-    <Compile Include="System.Resources\ResXDataNode.cs" />\r
-    <Compile Include="System.Resources\ResXDataNodeHandler.cs" />\r
-    <Compile Include="System.Resources\ResXFileRef.cs" />\r
-    <Compile Include="System.Resources\ResXNullRef.cs" />\r
-    <Compile Include="System.Resources\ResXResourceReader.cs" />\r
-    <Compile Include="System.Resources\ResXResourceSet.cs" />\r
-    <Compile Include="System.Resources\ResXResourceWriter.cs" />\r
-    <Compile Include="System.Resources\SerializedFromResXHandler.cs" />\r
-    <Compile Include="System.Resources\TypeConverterFromResXHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\ApplicationHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\ControlHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\Cursor.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\Dnd.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\Enums.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\EventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\EventHandlerBase.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\HIObjectHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\IEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\KeyboardHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\MouseHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\Pasteboard.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\Structs.cs" />\r
-    <Compile Include="System.Windows.Forms.CarbonInternal\WindowHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ComponentEditorForm.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ComponentEditorPage.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\EventsTab.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IUIService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IWindowsFormsEditorService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\PropertyTab.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ToolStripItemDesignerAvailability.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ToolStripItemDesignerAvailabilityAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\WindowsFormsComponentEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Internal\Accessor.cs" />\r
-    <Compile Include="System.Windows.Forms.Internal\DebugHelper.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\ArrangedElementCollection.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\DefaultLayout.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\FlowLayout.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\LayoutEngine.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\TableLayout.cs" />\r
-    <Compile Include="System.Windows.Forms.Layout\TableLayoutSettingsTypeConverter.cs" />\r
-    <Compile Include="System.Windows.Forms.PropertyGridInternal\PropertiesTab.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Charcode.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Charset.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\CharsetFlags.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\CharsetType.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\ClassDelegate.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Color.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\DestinationDelegate.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Font.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\KeysInit.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\KeyStruct.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Major.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Minor.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Picture.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\RTF.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\RTFException.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\StandardCharCode.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\StandardCharName.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\Style.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\StyleElement.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\StyleType.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\TextMap.cs" />\r
-    <Compile Include="System.Windows.Forms.RTF\TokenClass.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\ButtonPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\CheckBoxPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\LabelPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\LinkLabelPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\RadioButtonPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\TabControlPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\Default\ToolStripPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\ThemeElements.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\ThemeElementsDefault.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\ThemeElementsVisualStyles.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\VisualStyles\CheckBoxPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\VisualStyles\RadioButtonPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\VisualStyles\TabControlPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.Theming\VisualStyles\ToolStripPainter.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\BackgroundType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\BooleanProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\BorderType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\CheckBoxState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ColorProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ComboBoxState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ContentAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\EdgeEffects.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\Edges.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\EdgeStyle.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\EnumProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\FilenameProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\FillType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\FontProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\GlyphFontSizingType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\GlyphType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\GroupBoxState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\GtkPlus.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\HitTestCode.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\HitTestOptions.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\HorizontalAlign.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\IconEffect.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ImageOrientation.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ImageSelectType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\IntegerProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\IVisualStyles.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\MarginProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\OffsetType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\PointProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\PushButtonState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\RadioButtonState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarArrowButtonState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarSizeBoxState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\SizingType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\StringProperty.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TabItemState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TextBoxState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TextMetrics.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TextMetricsCharacterSet.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TextMetricsPitchAndFamilyValues.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TextShadowType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ThemeSizeType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\ToolBarState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TrackBarThumbState.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\TrueSizeScalingType.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\UXTheme.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VerticalAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleElement.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleInformation.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesEngine.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesGtkPlus.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesNative.cs" />\r
-    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleState.cs" />\r
-    <Compile Include="System.Windows.Forms.WebBrowserDialogs\AlertCheck.cs" />\r
-    <Compile Include="System.Windows.Forms.WebBrowserDialogs\ConfirmCheck.cs" />\r
-    <Compile Include="System.Windows.Forms.WebBrowserDialogs\Generic.cs" />\r
-    <Compile Include="System.Windows.Forms.WebBrowserDialogs\Prompt.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleEvents.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleNavigation.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleObject.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleRole.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleSelection.cs" />\r
-    <Compile Include="System.Windows.Forms\AccessibleStates.cs" />\r
-    <Compile Include="System.Windows.Forms\AmbientProperties.cs" />\r
-    <Compile Include="System.Windows.Forms\AnchorStyles.cs" />\r
-    <Compile Include="System.Windows.Forms\Appearance.cs" />\r
-    <Compile Include="System.Windows.Forms\Application.cs" />\r
-    <Compile Include="System.Windows.Forms\ApplicationContext.cs" />\r
-    <Compile Include="System.Windows.Forms\ArrangeDirection.cs" />\r
-    <Compile Include="System.Windows.Forms\ArrangeStartingPosition.cs" />\r
-    <Compile Include="System.Windows.Forms\ArrowDirection.cs" />\r
-    <Compile Include="System.Windows.Forms\AsyncMethodData.cs" />\r
-    <Compile Include="System.Windows.Forms\AsyncMethodResult.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoCompleteMode.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoCompleteSource.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoCompleteStringCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoScaleMode.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoSizeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\AutoValidate.cs" />\r
-    <Compile Include="System.Windows.Forms\AxHost.cs" />\r
-    <Compile Include="System.Windows.Forms\BaseCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\BatteryChargeStatus.cs" />\r
-    <Compile Include="System.Windows.Forms\Binding.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingCompleteContext.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingCompleteEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingCompleteEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingCompleteState.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingContext.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingManagerBase.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingManagerDataErrorEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingManagerDataErrorEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingMemberInfo.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingNavigator.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingsCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\BindingSource.cs" />\r
-    <Compile Include="System.Windows.Forms\BootMode.cs" />\r
-    <Compile Include="System.Windows.Forms\Border3DSide.cs" />\r
-    <Compile Include="System.Windows.Forms\Border3DStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\BorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\BoundsSpecified.cs" />\r
-    <Compile Include="System.Windows.Forms\Button.cs" />\r
-    <Compile Include="System.Windows.Forms\ButtonBase.cs" />\r
-    <Compile Include="System.Windows.Forms\ButtonBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ButtonRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ButtonState.cs" />\r
-    <Compile Include="System.Windows.Forms\CacheVirtualItemsEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\CacheVirtualItemsEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\CaptionButton.cs" />\r
-    <Compile Include="System.Windows.Forms\CategoryGridEntry.cs" />\r
-    <Compile Include="System.Windows.Forms\CharacterCasing.cs" />\r
-    <Compile Include="System.Windows.Forms\CheckBox.cs" />\r
-    <Compile Include="System.Windows.Forms\CheckBoxRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\CheckedListBox.cs" />\r
-    <Compile Include="System.Windows.Forms\CheckState.cs" />\r
-    <Compile Include="System.Windows.Forms\Clipboard.cs" />\r
-    <Compile Include="System.Windows.Forms\CloseReason.cs" />\r
-    <Compile Include="System.Windows.Forms\ColorDepth.cs" />\r
-    <Compile Include="System.Windows.Forms\ColorDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnHeader.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnHeaderAutoResizeStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnHeaderConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnHeaderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnReorderedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnReorderedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnWidthChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnWidthChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnWidthChangingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ColumnWidthChangingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ComboBox.cs" />\r
-    <Compile Include="System.Windows.Forms\ComboBoxRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ComboBoxStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\CommonDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\ComponentModel.cs" />\r
-    <Compile Include="System.Windows.Forms\ContainerControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ContentsResizedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ContentsResizedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ContextMenu.cs" />\r
-    <Compile Include="System.Windows.Forms\ContextMenuStrip.cs" />\r
-    <Compile Include="System.Windows.Forms\Control.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlBindingsCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlPaint.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlStyles.cs" />\r
-    <Compile Include="System.Windows.Forms\ControlUpdateMode.cs" />\r
-    <Compile Include="System.Windows.Forms\ConvertEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ConvertEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\CreateParams.cs" />\r
-    <Compile Include="System.Windows.Forms\CurrencyManager.cs" />\r
-    <Compile Include="System.Windows.Forms\Cursor.cs" />\r
-    <Compile Include="System.Windows.Forms\CursorConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\Cursors.cs" />\r
-    <Compile Include="System.Windows.Forms\DataFormats.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGrid.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridBoolColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridColumnStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridLineStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridParentRowsLabelStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridPreferredColumnWidthTypeConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridTableStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridTextBoxColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridView.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAdvancedBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAdvancedCellBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnModeEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnModeEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsModeEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsModeEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeModeEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeModeEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeRowMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeRowsMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewBand.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewBindingCompleteEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewBindingCompleteEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewButtonCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewButtonColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellCancelEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellCancelEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellContextMenuStripNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellContextMenuStripNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellErrorTextNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellErrorTextNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellFormattingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellFormattingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellMouseEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellMouseEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellPaintingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellPaintingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellParsingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellParsingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStateChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStateChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStyleContentChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStyleContentChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStyleConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellStyleScopes.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellToolTipTextNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellToolTipTextNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellValidatingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellValidatingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellValueEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCellValueEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCheckBoxCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewCheckBoxColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewClipboardCopyMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnDesignTimeVisibleAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnDividerDoubleClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnDividerDoubleClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnHeaderCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnHeadersHeightSizeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnSortMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnStateChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewColumnStateChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewComboBoxCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewComboBoxColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewComboBoxDisplayStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewComboBoxEditingControl.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewContentAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewDataErrorContexts.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewDataErrorEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewDataErrorEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewEditingControlShowingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewEditingControlShowingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewEditMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewElement.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewElementStates.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewHeaderBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewHeaderCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewHitTestType.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewImageCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewImageCellLayout.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewImageColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewLinkCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewLinkColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewPaintParts.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRow.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowCancelEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowCancelEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowContextMenuStripNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowContextMenuStripNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowDividerDoubleClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowDividerDoubleClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowErrorTextNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowErrorTextNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeaderCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeadersWidthSizeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoNeededEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoNeededEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoPushedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoPushedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowPostPaintEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowPostPaintEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowPrePaintEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowPrePaintEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowsAddedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowsAddedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowsRemovedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowsRemovedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowStateChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewRowStateChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSelectedCellCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSelectedColumnCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSelectedRowCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSelectionMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSortCompareEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewSortCompareEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewTextBoxCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewTextBoxColumn.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewTextBoxEditingControl.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewTopLeftHeaderCell.cs" />\r
-    <Compile Include="System.Windows.Forms\DataGridViewTriState.cs" />\r
-    <Compile Include="System.Windows.Forms\DataObject.cs" />\r
-    <Compile Include="System.Windows.Forms\DataSourceUpdateMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DateBoldEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DateBoldEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DateRangeEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DateRangeEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DateTimePicker.cs" />\r
-    <Compile Include="System.Windows.Forms\DateTimePickerFormat.cs" />\r
-    <Compile Include="System.Windows.Forms\Day.cs" />\r
-    <Compile Include="System.Windows.Forms\DialogResult.cs" />\r
-    <Compile Include="System.Windows.Forms\DockingAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\DockingBehavior.cs" />\r
-    <Compile Include="System.Windows.Forms\DockStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\DomainUpDown.cs" />\r
-    <Compile Include="System.Windows.Forms\DragAction.cs" />\r
-    <Compile Include="System.Windows.Forms\DragDropEffects.cs" />\r
-    <Compile Include="System.Windows.Forms\DragEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DragEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawItemState.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewColumnHeaderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewColumnHeaderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewSubItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawListViewSubItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawMode.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawToolTipEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawToolTipEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawTreeNodeEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\DrawTreeNodeEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ErrorBlinkStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ErrorIconAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\ErrorProvider.cs" />\r
-    <Compile Include="System.Windows.Forms\FeatureSupport.cs" />\r
-    <Compile Include="System.Windows.Forms\FileDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\FileDialogCustomPlace.cs" />\r
-    <Compile Include="System.Windows.Forms\FileDialogCustomPlacesCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\FixedPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\FixedSizeTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\FlatButtonAppearance.cs" />\r
-    <Compile Include="System.Windows.Forms\FlatStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\FlowDirection.cs" />\r
-    <Compile Include="System.Windows.Forms\FlowLayoutPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\FlowLayoutSettings.cs" />\r
-    <Compile Include="System.Windows.Forms\FolderBrowserDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\FontDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\Form.cs" />\r
-    <Compile Include="System.Windows.Forms\FormBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\FormClosedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\FormClosedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\FormClosingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\FormClosingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\FormCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\FormStartPosition.cs" />\r
-    <Compile Include="System.Windows.Forms\FormWindowManager.cs" />\r
-    <Compile Include="System.Windows.Forms\FormWindowState.cs" />\r
-    <Compile Include="System.Windows.Forms\FrameStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\GetChildAtPointSkip.cs" />\r
-    <Compile Include="System.Windows.Forms\GiveFeedbackEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\GiveFeedbackEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\GridColumnStylesCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\GridEntry.cs" />\r
-    <Compile Include="System.Windows.Forms\GridItem.cs" />\r
-    <Compile Include="System.Windows.Forms\GridItemCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\GridItemType.cs" />\r
-    <Compile Include="System.Windows.Forms\GridTablesFactory.cs" />\r
-    <Compile Include="System.Windows.Forms\GridTableStylesCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\GroupBox.cs" />\r
-    <Compile Include="System.Windows.Forms\GroupBoxRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\HandledMouseEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\Help.cs" />\r
-    <Compile Include="System.Windows.Forms\HelpEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\HelpEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\HelpNavigator.cs" />\r
-    <Compile Include="System.Windows.Forms\HelpProvider.cs" />\r
-    <Compile Include="System.Windows.Forms\HorizontalAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\HScrollBar.cs" />\r
-    <Compile Include="System.Windows.Forms\HScrollProperties.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlDocument.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElement.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementErrorEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementErrorEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlElementInsertionOrientation.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlHistory.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlWindow.cs" />\r
-    <Compile Include="System.Windows.Forms\HtmlWindowCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\Hwnd.cs" />\r
-    <Compile Include="System.Windows.Forms\IBindableComponent.cs" />\r
-    <Compile Include="System.Windows.Forms\IBounds.cs" />\r
-    <Compile Include="System.Windows.Forms\IButtonControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ICommandExecutor.cs" />\r
-    <Compile Include="System.Windows.Forms\IComponentEditorPageSite.cs" />\r
-    <Compile Include="System.Windows.Forms\IContainerControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ICurrencyManagerProvider.cs" />\r
-    <Compile Include="System.Windows.Forms\IDataGridColumnStyleEditingNotificationService.cs" />\r
-    <Compile Include="System.Windows.Forms\IDataGridEditingService.cs" />\r
-    <Compile Include="System.Windows.Forms\IDataGridViewEditingCell.cs" />\r
-    <Compile Include="System.Windows.Forms\IDataGridViewEditingControl.cs" />\r
-    <Compile Include="System.Windows.Forms\IDataObject.cs" />\r
-    <Compile Include="System.Windows.Forms\IDropTarget.cs" />\r
-    <Compile Include="System.Windows.Forms\IFeatureSupport.cs" />\r
-    <Compile Include="System.Windows.Forms\IFileReaderService.cs" />\r
-    <Compile Include="System.Windows.Forms\IKeyFilter.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageIndexConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageKeyConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageLayout.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageList.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageListConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ImageListStreamer.cs" />\r
-    <Compile Include="System.Windows.Forms\ImeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\IMessageFilter.cs" />\r
-    <Compile Include="System.Windows.Forms\ImplicitHScrollBar.cs" />\r
-    <Compile Include="System.Windows.Forms\ImplicitVScrollBar.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguage.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguageChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguageChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguageChangingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguageChangingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\InputLanguageCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\InsertKeyMode.cs" />\r
-    <Compile Include="System.Windows.Forms\InternalWindowManager.cs" />\r
-    <Compile Include="System.Windows.Forms\InvalidateEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\InvalidateEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\IRootGridEntry.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemActivation.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemBoundsPortion.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemCheckedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemCheckedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemCheckEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemCheckEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemDragEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ItemDragEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\IToolStripData.cs" />\r
-    <Compile Include="System.Windows.Forms\IWin32Window.cs" />\r
-    <Compile Include="System.Windows.Forms\IWindowTarget.cs" />\r
-    <Compile Include="System.Windows.Forms\KeyboardLayouts.cs" />\r
-    <Compile Include="System.Windows.Forms\KeyEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\KeyEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\KeyPressEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\KeyPressEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\Keys.cs" />\r
-    <Compile Include="System.Windows.Forms\KeysConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\Label.cs" />\r
-    <Compile Include="System.Windows.Forms\LabelEditEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\LabelEditEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\LabelEditTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\LayoutEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\LayoutEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\LayoutSettings.cs" />\r
-    <Compile Include="System.Windows.Forms\LeftRightAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\Line.cs" />\r
-    <Compile Include="System.Windows.Forms\LineTag.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkArea.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkBehavior.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkClickedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkClickedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkLabel.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkLabelLinkClickedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkLabelLinkClickedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\LinkState.cs" />\r
-    <Compile Include="System.Windows.Forms\ListBindingConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ListBindingHelper.cs" />\r
-    <Compile Include="System.Windows.Forms\ListBox.cs" />\r
-    <Compile Include="System.Windows.Forms\ListControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ListControlConvertEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ListControlConvertEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ListView.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewGroup.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewGroupCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewHitTestInfo.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewHitTestLocations.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewInsertionMark.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItem.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemMouseHoverEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemMouseHoverEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemSelectionChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemSelectionChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewItemStates.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewVirtualItemsSelectionRangeChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ListViewVirtualItemsSelectionRangeChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\MainMenu.cs" />\r
-    <Compile Include="System.Windows.Forms\MaskedTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\MaskFormat.cs" />\r
-    <Compile Include="System.Windows.Forms\MaskInputRejectedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\MaskInputRejectedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\MdiClient.cs" />\r
-    <Compile Include="System.Windows.Forms\MdiControlStrip.cs" />\r
-    <Compile Include="System.Windows.Forms\MdiLayout.cs" />\r
-    <Compile Include="System.Windows.Forms\MdiWindowManager.cs" />\r
-    <Compile Include="System.Windows.Forms\MeasureItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\MeasureItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\Menu.cs" />\r
-    <Compile Include="System.Windows.Forms\MenuAPI.cs" />\r
-    <Compile Include="System.Windows.Forms\MenuGlyph.cs" />\r
-    <Compile Include="System.Windows.Forms\MenuItem.cs" />\r
-    <Compile Include="System.Windows.Forms\MenuMerge.cs" />\r
-    <Compile Include="System.Windows.Forms\MenuStrip.cs" />\r
-    <Compile Include="System.Windows.Forms\MergeAction.cs" />\r
-    <Compile Include="System.Windows.Forms\Message.cs" />\r
-    <Compile Include="System.Windows.Forms\MessageBox.cs" />\r
-    <Compile Include="System.Windows.Forms\MessageBoxButtons.cs" />\r
-    <Compile Include="System.Windows.Forms\MessageBoxDefaultButton.cs" />\r
-    <Compile Include="System.Windows.Forms\MessageBoxIcon.cs" />\r
-    <Compile Include="System.Windows.Forms\MessageBoxOptions.cs" />\r
-    <Compile Include="System.Windows.Forms\MethodInvoker.cs" />\r
-    <Compile Include="System.Windows.Forms\Mime.cs" />\r
-    <Compile Include="System.Windows.Forms\MimeIcon.cs" />\r
-    <Compile Include="System.Windows.Forms\MonthCalendar.cs" />\r
-    <Compile Include="System.Windows.Forms\MouseButtons.cs" />\r
-    <Compile Include="System.Windows.Forms\MouseEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\MouseEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\MWFCategoryAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\MWFDescriptionAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\NativeWindow.cs" />\r
-    <Compile Include="System.Windows.Forms\NavigateEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\NavigateEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\NodeLabelEditEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\NodeLabelEditEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\NotifyIcon.cs" />\r
-    <Compile Include="System.Windows.Forms\NumericTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\NumericUpDown.cs" />\r
-    <Compile Include="System.Windows.Forms\NumericUpDownAcceleration.cs" />\r
-    <Compile Include="System.Windows.Forms\NumericUpDownAccelerationCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\OpacityConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\OpenFileDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\OpenTreeNodeEnumerator.cs" />\r
-    <Compile Include="System.Windows.Forms\Orientation.cs" />\r
-    <Compile Include="System.Windows.Forms\OSFeature.cs" />\r
-    <Compile Include="System.Windows.Forms\OwnerDrawPropertyBag.cs" />\r
-    <Compile Include="System.Windows.Forms\Padding.cs" />\r
-    <Compile Include="System.Windows.Forms\PaddingConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\PageSetupDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\PaintEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\PaintEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\Panel.cs" />\r
-    <Compile Include="System.Windows.Forms\PictureBox.cs" />\r
-    <Compile Include="System.Windows.Forms\PictureBoxSizeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\PopupEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\PopupEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\PowerLineStatus.cs" />\r
-    <Compile Include="System.Windows.Forms\PowerState.cs" />\r
-    <Compile Include="System.Windows.Forms\PowerStatus.cs" />\r
-    <Compile Include="System.Windows.Forms\PreProcessControlState.cs" />\r
-    <Compile Include="System.Windows.Forms\PreviewKeyDownEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\PreviewKeyDownEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\PrintControllerWithStatusDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\PrintDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\PrintPreviewControl.cs" />\r
-    <Compile Include="System.Windows.Forms\PrintPreviewDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\ProfessionalColors.cs" />\r
-    <Compile Include="System.Windows.Forms\ProfessionalColorTable.cs" />\r
-    <Compile Include="System.Windows.Forms\ProgressBar.cs" />\r
-    <Compile Include="System.Windows.Forms\ProgressBarRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ProgressBarStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyGrid.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyGridCommands.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyGridTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyGridView.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyManager.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertySort.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyTabChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyTabChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyValueChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\PropertyValueChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\QueryAccessibilityHelpEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\QueryAccessibilityHelpEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\QueryContinueDragEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\QueryContinueDragEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\QuestionEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\QuestionEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\RadioButton.cs" />\r
-    <Compile Include="System.Windows.Forms\RadioButtonRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\RelatedCurrencyManager.cs" />\r
-    <Compile Include="System.Windows.Forms\RelatedImageListAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\RelatedPropertyManager.cs" />\r
-    <Compile Include="System.Windows.Forms\RetrieveVirtualItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\RetrieveVirtualItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxFinds.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxLanguageOptions.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxScrollBars.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxSelectionAttribute.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxSelectionTypes.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxStreamType.cs" />\r
-    <Compile Include="System.Windows.Forms\RichTextBoxWordPunctuations.cs" />\r
-    <Compile Include="System.Windows.Forms\RightToLeft.cs" />\r
-    <Compile Include="System.Windows.Forms\RootGridEntry.cs" />\r
-    <Compile Include="System.Windows.Forms\RowStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\SaveFileDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\Screen.cs" />\r
-    <Compile Include="System.Windows.Forms\ScreenOrientation.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollableControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollBar.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollBarRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollBars.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollEventType.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollOrientation.cs" />\r
-    <Compile Include="System.Windows.Forms\ScrollProperties.cs" />\r
-    <Compile Include="System.Windows.Forms\SearchDirectionHint.cs" />\r
-    <Compile Include="System.Windows.Forms\SearchForVirtualItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\SearchForVirtualItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\SecurityIDType.cs" />\r
-    <Compile Include="System.Windows.Forms\SelectedGridItemChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\SelectedGridItemChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\SelectionMode.cs" />\r
-    <Compile Include="System.Windows.Forms\SelectionRange.cs" />\r
-    <Compile Include="System.Windows.Forms\SelectionRangeConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\SendKeys.cs" />\r
-    <Compile Include="System.Windows.Forms\Shortcut.cs" />\r
-    <Compile Include="System.Windows.Forms\SizeGrip.cs" />\r
-    <Compile Include="System.Windows.Forms\SizeGripStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\SizeType.cs" />\r
-    <Compile Include="System.Windows.Forms\SortOrder.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitContainer.cs" />\r
-    <Compile Include="System.Windows.Forms\Splitter.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitterCancelEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitterCancelEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitterEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitterEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\SplitterPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBar.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarDrawItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarDrawItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanelAutoSize.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanelBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanelClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanelClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusBarPanelStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\StatusStrip.cs" />\r
-    <Compile Include="System.Windows.Forms\StructFormat.cs" />\r
-    <Compile Include="System.Windows.Forms\SystemInformation.cs" />\r
-    <Compile Include="System.Windows.Forms\SystemParameter.cs" />\r
-    <Compile Include="System.Windows.Forms\TabAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\TabAppearance.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControl.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControlAction.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControlCancelEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControlCancelEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControlEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TabControlEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TabDrawMode.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutCellPaintEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutCellPaintEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutColumnStyleCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutControlCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutPanelCellBorderStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutPanelCellPosition.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutPanelGrowStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutRowStyleCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutSettings.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\TableLayoutStyleCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\TabPage.cs" />\r
-    <Compile Include="System.Windows.Forms\TabRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\TabSizeMode.cs" />\r
-    <Compile Include="System.Windows.Forms\TextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\TextBoxBase.cs" />\r
-    <Compile Include="System.Windows.Forms\TextBoxRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\TextBoxTextRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\TextControl.cs" />\r
-    <Compile Include="System.Windows.Forms\TextDataFormat.cs" />\r
-    <Compile Include="System.Windows.Forms\TextFormatFlags.cs" />\r
-    <Compile Include="System.Windows.Forms\TextImageRelation.cs" />\r
-    <Compile Include="System.Windows.Forms\TextRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\Theme.cs" />\r
-    <Compile Include="System.Windows.Forms\ThemeEngine.cs" />\r
-    <Compile Include="System.Windows.Forms\ThemeVisualStyles.cs" />\r
-    <Compile Include="System.Windows.Forms\ThemeWin32Classic.cs" />\r
-    <Compile Include="System.Windows.Forms\ThreadExceptionDialog.cs" />\r
-    <Compile Include="System.Windows.Forms\TickStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\Timer.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBar.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarAppearance.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarButtonClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarButtonClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarButtonStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolBarTextAlign.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStrip.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripArrowRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripArrowRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripComboBox.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripContainer.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripContentPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripContentPanelRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripContentPanelRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripControlHost.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDown.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownClosedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownClosedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownCloseReason.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownClosingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownClosingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownDirection.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownItem.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownItemAccessibleObject.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripDropDownMenu.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripGripDisplayStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripGripRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripGripRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripGripStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItem.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemAlignment.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemClickedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemClickedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemDisplayStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemEventType.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemImageRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemImageRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemImageScaling.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemOverflow.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemPlacement.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemTextRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripItemTextRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripLabel.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripLayoutStyle.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripManager.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripManagerRenderMode.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripMenuItem.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripOverflow.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripOverflowButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripPanel.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripPanelRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripPanelRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripPanelRow.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripProfessionalRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripProgressBar.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripRenderMode.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSeparator.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSeparatorRenderEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSeparatorRenderEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSplitButton.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSplitStackLayout.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripStatusLabel.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripStatusLabelBorderSides.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripSystemRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripTextBox.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolStripTextDirection.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolTip.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolTipIcon.cs" />\r
-    <Compile Include="System.Windows.Forms\ToolWindowManager.cs" />\r
-    <Compile Include="System.Windows.Forms\TrackBar.cs" />\r
-    <Compile Include="System.Windows.Forms\TrackBarRenderer.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNode.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeCollection.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeMouseClickEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeMouseClickEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeMouseHoverEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeMouseHoverEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeNodeStates.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeView.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewAction.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewCancelEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewCancelEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewDrawMode.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewHitTestInfo.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewHitTestLocations.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewImageIndexConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\TreeViewImageKeyConverter.cs" />\r
-    <Compile Include="System.Windows.Forms\TypeValidationEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\TypeValidationEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\UICues.cs" />\r
-    <Compile Include="System.Windows.Forms\UICuesEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\UICuesEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\UnhandledExceptionMode.cs" />\r
-    <Compile Include="System.Windows.Forms\UpDownBase.cs" />\r
-    <Compile Include="System.Windows.Forms\UpDownEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\UpDownEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\UserControl.cs" />\r
-    <Compile Include="System.Windows.Forms\ValidationConstraints.cs" />\r
-    <Compile Include="System.Windows.Forms\View.cs" />\r
-    <Compile Include="System.Windows.Forms\VScrollBar.cs" />\r
-    <Compile Include="System.Windows.Forms\VScrollProperties.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowser.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserBase.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserDocumentCompletedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserDocumentCompletedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserEncryptionLevel.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserNavigatedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserNavigatedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserNavigatingEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserNavigatingEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserReadyState.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserRefreshOption.cs" />\r
-    <Compile Include="System.Windows.Forms\WebBrowserSiteBase.cs" />\r
-    <Compile Include="System.Windows.Forms\Win32DnD.cs" />\r
-    <Compile Include="System.Windows.Forms\WindowsFormsSection.cs" />\r
-    <Compile Include="System.Windows.Forms\WindowsFormsSynchronizationContext.cs" />\r
-    <Compile Include="System.Windows.Forms\X11Clipboard.cs" />\r
-    <Compile Include="System.Windows.Forms\X11DesktopColors.cs" />\r
-    <Compile Include="System.Windows.Forms\X11Dnd.cs" />\r
-    <Compile Include="System.Windows.Forms\X11Keyboard.cs" />\r
-    <Compile Include="System.Windows.Forms\X11Structs.cs" />\r
-    <Compile Include="System.Windows.Forms\XEventQueue.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUI.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUICarbon.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUIDriver.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUIStructs.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUIWin32.cs" />\r
-    <Compile Include="System.Windows.Forms\XplatUIX11.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Accessibility\Accessibility-net_2_0.csproj">\r
-      <Project>{43A23ADA-35D9-4A48-BCE5-C21C081C6676}</Project>\r
-      <Name>Accessibility\Accessibility-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.WebBrowser\Mono.WebBrowser-net_2_0.csproj">\r
-      <Project>{F46C8C89-6CD0-432D-8BEF-C962DB694CDB}</Project>\r
-      <Name>Mono.WebBrowser\Mono.WebBrowser-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/SplitterNS.cur">\r
-      <LogicalName>System.Windows.Forms.SplitterNS.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SplitterWE.cur">\r
-      <LogicalName>System.Windows.Forms.SplitterWE.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/NESW.cur">\r
-      <LogicalName>System.Windows.Forms.NESW.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/NWSE.cur">\r
-      <LogicalName>System.Windows.Forms.NWSE.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DnDNo.cur">\r
-      <LogicalName>System.Windows.Forms.DnDNo.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DnDCopy.cur">\r
-      <LogicalName>System.Windows.Forms.DnDCopy.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DnDLink.cur">\r
-      <LogicalName>System.Windows.Forms.DnDLink.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DnDMove.cur">\r
-      <LogicalName>System.Windows.Forms.DnDMove.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/keyboards.resources">\r
-      <LogicalName>keyboards.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_computer.png">\r
-      <LogicalName>16_computer.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_computer.png">\r
-      <LogicalName>32_computer.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/computer.png">\r
-      <LogicalName>computer.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_document-open.png">\r
-      <LogicalName>16_document-open.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_document-open.png">\r
-      <LogicalName>32_document-open.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/document-open.png">\r
-      <LogicalName>document-open.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_folder.png">\r
-      <LogicalName>16_folder.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder-new.png">\r
-      <LogicalName>folder-new.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder.png">\r
-      <LogicalName>folder.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_folder-remote.png">\r
-      <LogicalName>16_folder-remote.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_folder-remote.png">\r
-      <LogicalName>32_folder-remote.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder-remote.png">\r
-      <LogicalName>folder-remote.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/go-previous.png">\r
-      <LogicalName>go-previous.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/go-top.png">\r
-      <LogicalName>go-top.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/22_page-magnifier.png">\r
-      <LogicalName>22_page-magnifier.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/preferences-system-windows.png">\r
-      <LogicalName>preferences-system-windows.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_printer.png">\r
-      <LogicalName>16_printer.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_printer.png">\r
-      <LogicalName>32_printer.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/text-x-generic.png">\r
-      <LogicalName>text-x-generic.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_user-desktop.png">\r
-      <LogicalName>16_user-desktop.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_user-desktop.png">\r
-      <LogicalName>32_user-desktop.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/user-desktop.png">\r
-      <LogicalName>user-desktop.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_user-home.png">\r
-      <LogicalName>16_user-home.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/32_user-home.png">\r
-      <LogicalName>32_user-home.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/user-home.png">\r
-      <LogicalName>user-home.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_dialog-error.png">\r
-      <LogicalName>16_dialog-error.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_dialog-information.png">\r
-      <LogicalName>16_dialog-information.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/16_dialog-warning.png">\r
-      <LogicalName>16_dialog-warning.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/1-up.png">\r
-      <LogicalName>1-up.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/2-up.png">\r
-      <LogicalName>2-up.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/3-up.png">\r
-      <LogicalName>3-up.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/4-up.png">\r
-      <LogicalName>4-up.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/6-up.png">\r
-      <LogicalName>6-up.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_delete.png">\r
-      <LogicalName>nav_delete.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_end.png">\r
-      <LogicalName>nav_end.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_first.png">\r
-      <LogicalName>nav_first.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_next.png">\r
-      <LogicalName>nav_next.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_plus.png">\r
-      <LogicalName>nav_plus.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/nav_previous.png">\r
-      <LogicalName>nav_previous.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/image-missing.png">\r
-      <LogicalName>image-missing.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/image-x-generic.png">\r
-      <LogicalName>image-x-generic.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/propertygrid-alphabetical.png">\r
-      <LogicalName>System.Windows.Forms.propertygrid-alphabetical.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/propertygrid-categorized.png">\r
-      <LogicalName>System.Windows.Forms.propertygrid-categorized.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/propertygrid-propertypages.png">\r
-      <LogicalName>System.Windows.Forms.propertygrid-propertypages.png</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/EventsTab.bmp">\r
-      <LogicalName>System.Windows.Forms.Design.EventsTab.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/PropertiesTab.bmp">\r
-      <LogicalName>System.Windows.Forms.PropertyGridInternal.PropertiesTab.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/mono.ico">\r
-      <LogicalName>mono.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/errorProvider.ico">\r
-      <LogicalName>errorProvider.ico</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms-tests-net_2_0.csproj b/mcs/class/Managed.Windows.Forms/System.Windows.Forms-tests-net_2_0.csproj
deleted file mode 100644 (file)
index e55d961..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{4A3A8DC3-F8A2-47E9-96F5-1C8F7E4C3D77}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <OutputPath>bin\Debug\System.Windows.Forms-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Windows.Forms_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Test\System.Resources\CompatTest.cs" />\r
-    <Compile Include="Test\System.Resources\CultureTest.cs" />\r
-    <Compile Include="Test\System.Resources\HelperClasses_ITRS.cs" />\r
-    <Compile Include="Test\System.Resources\HelperClasses_Resources.cs" />\r
-    <Compile Include="Test\System.Resources\ResourcesTestHelper.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeAliasTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeByteArrayTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeFileRefGetValueTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeFileRefGetValueTypeNameTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeSerialisedGetValueTypeNameTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeSerializedGetValueTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeTypeConverterGetValueTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeTypeConverterGetValueTypeNameTests.cs" />\r
-    <Compile Include="Test\System.Resources\ResXDataNodeWriteBehavior.cs" />\r
-    <Compile Include="Test\System.Resources\ResXFileRefTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResXResourceReaderTest.cs" />\r
-    <Compile Include="Test\System.Resources\WriterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms.Layout\ArrangedElementCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms.Layout\TableLayoutSettingsTypeConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ApplicationContextTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ApplicationTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\AutoCompleteStringCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingContextTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingManagerBaseTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingMemberInfoTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingNavigatorTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingsCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingSourceTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\BindingTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ButtonBaseTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ButtonTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CheckBoxEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CheckBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CheckedListBoxEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CheckedListBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ClipboardTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ColumnClickEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ColumnHeaderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ColumnStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ComboBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\Common.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CommonDialogsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ContainerControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ContextMenuTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlBindingsCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlBindingsConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlHandleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlLogger.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlLogger2.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlPaintTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlPropertyEventsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CurrencyManagerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\CursorTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataBindingTests.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridColumnStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridTableStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridTextBoxColumnTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridTextBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewAdvancedBorderStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewBandTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewButtonCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewCellCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewCellStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewCheckBoxCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewClipboardHeaderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewClipboardTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewColumnCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewColumnHeaderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewColumnTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewComboBoxCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewCommon.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewDataBindingTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewElementTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewImageCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewLinkCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewRowCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewRowHeaderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewRowTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewTextBoxCellTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataGridViewTextBoxColumnTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DataObjectTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DateTimePickerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DefaultLayoutTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\DragEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ErrorProviderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\EventArgsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\EventLogger.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FlowPanelTests.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FocusTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FolderBrowserDialogTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FormEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FormHandleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\FormTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\GridColumnStylesCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\GridTableStylesCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\GroupBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\HelpProviderTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\HScrollPropertiesTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ImageKeyConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ImageListStreamerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ImageListTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\InputLanguageTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\KeyEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\KeysConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\LabelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\LinkAreaTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\LinkConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\LinkLabelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListBindingHelperTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListBoxEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewCollectionsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewEventTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewGroupCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewGroupTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewItemTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ListViewTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MaskedTextBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MdiFormHandleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MdiFormTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MenuItemTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MenuStripTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MenuTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MessageTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\MonthCalendarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\NotifyIconTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\NumericUpDownTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PaddingConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PaddingTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PaintEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PanelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PictureBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PrintDialogTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ProgressBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PropertyGridTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\PropertyManagerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\RadioButtonTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\RichTextBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\RowStyleTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SaveFileDialogTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ScrollableControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ScrollBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SelectionRangeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SendKeysTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SplitContainerTests.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SplitterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\StatusBarPanelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\StatusBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\StatusStripTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\SystemInformationTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TabControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TableLayoutTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TestHelper.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TestImageIndexConverter.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TextBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TimerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolBarButtonTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripButtonTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripComboBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripContainerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripContentPanelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripControlHostTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripDropDownItemTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripDropDownTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripItemCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripItemTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripLabelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripManagerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripMenuItemTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripOverflowButtonTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripOverflowTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripPanelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripProgressBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripSeparatorTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripStatusLabelTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolStripTextBoxTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\ToolTipTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TrackBarTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeNodeCollectionTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeNodeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeViewEventsTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeViewHitTestInfoTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeViewImageIndexConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeViewImageKeyConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\TreeViewTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\UpDownTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\UserControlTest.cs" />\r
-    <Compile Include="Test\System.Windows.Forms\VScrollPropertiesTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Accessibility\Accessibility-net_2_0.csproj">\r
-      <Project>{43A23ADA-35D9-4A48-BCE5-C21C081C6676}</Project>\r
-      <Name>Accessibility\Accessibility-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Test/resources/a.cur">\r
-      <LogicalName>a.cur</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/32x32.ico">\r
-      <LogicalName>32x32.ico</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 393d5cba9aebfd3d0da99fd14f52067b5b2f70e6..3ce4ab7b5741a9728bb3e05cf1ee6e332633f94e 100644 (file)
@@ -5133,7 +5133,17 @@ namespace System.Windows.Forms {
                                        SetSelectedRowCore (rowIndex, false);
                        }
 
-                       if (Rows.Count - e.RowCount <= 0) {
+                       int RowsLeft = Rows.Count - e.RowCount;
+                       if (RowsLeft < 0)
+                               RowsLeft = 0;
+
+                       if (first_row_index > RowsLeft - 1)
+                               first_row_index = RowsLeft - 1;
+
+                       if (first_row_index < 0)
+                               first_row_index = 0;
+
+                       if (RowsLeft == 0) {
                                MoveCurrentCell (-1, -1, true, false, false, true);
                                hover_cell = null;
                        } else if (Columns.Count == 0) {
@@ -5141,8 +5151,8 @@ namespace System.Windows.Forms {
                                hover_cell = null;
                        } else if (currentCell != null && currentCell.RowIndex == e.RowIndex) {
                                int nextRowIndex = e.RowIndex;
-                               if (nextRowIndex >= Rows.Count - e.RowCount)
-                                       nextRowIndex = Rows.Count - 1 - e.RowCount;
+                               if (nextRowIndex >= RowsLeft)
+                                       nextRowIndex = RowsLeft - 1;
                                MoveCurrentCell (currentCell != null ? currentCell.ColumnIndex : 0, nextRowIndex, 
                                                 true, false, false, true);
                                if (hover_cell != null && hover_cell.RowIndex >= e.RowIndex)
index 8261f1f87562ca1964c1110362ff798af0a9224e..24aa28797bae7e2a4c5f49760fe3469c2161e9e8 100644 (file)
@@ -261,14 +261,14 @@ namespace System.Windows.Forms
 
                        for (int i = 0; i < total; i++) {
                                DataGridViewRow row = (DataGridViewRow)list[0];
-                               
+                               row.SetIndex(0);
+
                                // We can exit because the NewRow is always last
                                if (row.IsNewRow)
                                        break;
 
                                row.SetDataGridView (null);
                                list.Remove (row);
-                               ReIndex ();
                        }
 
                        DataGridView.OnRowsPostRemovedInternal (new DataGridViewRowsRemovedEventArgs (0, total));
index 3af4684710ade1ef9420d2e56c7319fc0e32c4cd..d46cfb22718d1f97b82c306d20ea5c4b16629ecf 100644 (file)
@@ -1031,6 +1031,7 @@ namespace System.Windows.Forms
 
                                virtual_list_size = value;
                                if (virtual_mode) {
+                                       focused_item_index = -1;
                                        selected_indices.Reset ();
                                        Redraw (true);
                                }
index bda5da96f78d996a6c4122998e5c19a7568cdba0..b82629a04837a1a14e4d29c976331378722f1ac5 100644 (file)
@@ -492,9 +492,6 @@ namespace System.Windows.Forms
                                r.X += 2;
                                r.Width -= 2;
                        }
-                       if ((flags & TextFormatFlags.WordEllipsis) == TextFormatFlags.WordEllipsis || (flags & TextFormatFlags.EndEllipsis) == TextFormatFlags.EndEllipsis || (flags & TextFormatFlags.WordBreak) == TextFormatFlags.WordBreak) {
-                               r.Width -= 4;
-                       }
                        if ((flags & TextFormatFlags.VerticalCenter) == TextFormatFlags.VerticalCenter && XplatUI.RunningOnUnix) {
                                r.Y -= 1;
                        }
index 29921942b4eddbcd9cdbc0b9c29b4e12a60804a8..26edaf80995a6925f7a1a87323ebabe359610479 100644 (file)
@@ -369,22 +369,24 @@ namespace System.Windows.Forms
                        Image image = button.Image;
                        string text = button.Text;
                        Rectangle content_rect = button.PaddingClientRectangle;
-                       Size text_size = TextRenderer.MeasureTextInternal (g, text, button.Font, content_rect.Size, button.TextFormatFlags | TextFormatFlags.NoPadding, button.UseCompatibleTextRendering);
+                       Size text_size = TextRenderer.MeasureTextInternal (g, text, button.Font, content_rect.Size, button.TextFormatFlags, button.UseCompatibleTextRendering);
                        Size image_size = image == null ? Size.Empty : image.Size;
 
                        textRectangle = Rectangle.Inflate (content_rect, -4, -4);
                        imageRectangle = Rectangle.Empty;
                        
+                       bool displayEllipsis = (button.TextFormatFlags & (TextFormatFlags.EndEllipsis | TextFormatFlags.PathEllipsis | TextFormatFlags.WordEllipsis)) != 0;
+
                        switch (button.TextImageRelation) {
                                case TextImageRelation.Overlay:
                                        // Overlay is easy, text always goes here
 
+                                       // Image is dependent on ImageAlign
+                                       if (image == null) {
                                                if (button.Pressed)
                                                        textRectangle.Offset (1, 1);
-                                               
-                                       // Image is dependent on ImageAlign
-                                       if (image == null)
                                                return;
+                                       }
                                                
                                        int image_x = 0;
                                        int image_y = 0;
@@ -437,10 +439,10 @@ namespace System.Windows.Forms
                                        imageRectangle = new Rectangle (image_x, image_y, image_width, image_height);
                                        break;
                                case TextImageRelation.ImageAboveText:
-                                       LayoutTextAboveOrBelowImage (textRectangle, false, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
+                                       LayoutTextAboveOrBelowImage (textRectangle, false, text_size, image_size, button.TextAlign, button.ImageAlign, displayEllipsis, out textRectangle, out imageRectangle);
                                        break;
                                case TextImageRelation.TextAboveImage:
-                                       LayoutTextAboveOrBelowImage (textRectangle, true, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
+                                       LayoutTextAboveOrBelowImage (textRectangle, true, text_size, image_size, button.TextAlign, button.ImageAlign, displayEllipsis, out textRectangle, out imageRectangle);
                                        break;
                                case TextImageRelation.ImageBeforeText:
                                        LayoutTextBeforeOrAfterImage (textRectangle, false, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
@@ -449,6 +451,8 @@ namespace System.Windows.Forms
                                        LayoutTextBeforeOrAfterImage (textRectangle, true, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
                                        break;
                        }
+                       if (button.Pressed)
+                               textRectangle.Offset (1, 1);
                }
 
                private void LayoutTextBeforeOrAfterImage (Rectangle totalArea, bool textFirst, Size textSize, Size imageSize, System.Drawing.ContentAlignment textAlign, System.Drawing.ContentAlignment imageAlign, out Rectangle textRect, out Rectangle imageRect)
@@ -496,7 +500,7 @@ namespace System.Windows.Forms
                        imageRect = final_image_rect;
                }
 
-               private void LayoutTextAboveOrBelowImage (Rectangle totalArea, bool textFirst, Size textSize, Size imageSize, System.Drawing.ContentAlignment textAlign, System.Drawing.ContentAlignment imageAlign, out Rectangle textRect, out Rectangle imageRect)
+               private void LayoutTextAboveOrBelowImage (Rectangle totalArea, bool textFirst, Size textSize, Size imageSize, System.Drawing.ContentAlignment textAlign, System.Drawing.ContentAlignment imageAlign, bool displayEllipsis, out Rectangle textRect, out Rectangle imageRect)
                {
                        int element_spacing = 0;        // Spacing between the Text and the Image
                        int total_height = textSize.Height + element_spacing + imageSize.Height;
@@ -545,6 +549,12 @@ namespace System.Windows.Forms
                                        final_text_rect.Y = totalArea.Top;
                        }
 
+                       if (displayEllipsis) {
+                               // Don't use more space than is available otherwise ellipsis won't show
+                               if (final_text_rect.Height > totalArea.Bottom)
+                                       final_text_rect.Height = totalArea.Bottom - final_text_rect.Top;
+                       }
+
                        textRect = final_text_rect;
                        imageRect = final_image_rect;
                }
@@ -1092,11 +1102,11 @@ namespace System.Windows.Forms
                                        break;
                                case TextImageRelation.ImageAboveText:
                                        content_rect.Inflate (-4, -4);
-                                       LayoutTextAboveOrBelowImage (content_rect, false, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
+                                       LayoutTextAboveOrBelowImage (content_rect, false, text_size, image_size, button.TextAlign, button.ImageAlign, false, out textRectangle, out imageRectangle);
                                        break;
                                case TextImageRelation.TextAboveImage:
                                        content_rect.Inflate (-4, -4);
-                                       LayoutTextAboveOrBelowImage (content_rect, true, text_size, image_size, button.TextAlign, button.ImageAlign, out textRectangle, out imageRectangle);
+                                       LayoutTextAboveOrBelowImage (content_rect, true, text_size, image_size, button.TextAlign, button.ImageAlign, false, out textRectangle, out imageRectangle);
                                        break;
                                case TextImageRelation.ImageBeforeText:
                                        content_rect.Inflate (-4, -4);
index 666bd7a6fecc52a679e6f7c0b43dc86512b32f24..e973b2b923217e51104d7ecea4808522a4f37bf9 100644 (file)
@@ -2569,6 +2569,42 @@ namespace MonoTests.System.Windows.Forms
                                Assert.AreEqual (30, dgv.Rows [0].MinimumHeight);
                        }
                }
+
+               [Test] // Xamarin bug #24372
+               public void Bug24372_first_row_index ()
+               {
+                       Form form = new Form ();
+                       DataGridView24372 dgv = new DataGridView24372 ();
+                       dgv.Parent = form;
+                       dgv.ColumnCount = 1;
+                       dgv.RowCount = 100;
+                       dgv.CurrentCell = dgv[0,50];
+                       dgv.Focus ();
+                       form.Show ();
+
+                       dgv.Rows.Clear ();
+                       form.Refresh ();
+                       Application.DoEvents ();
+
+                       if (dgv.HasException)
+                               Assert.Fail("#A1");
+
+                       form.Dispose ();
+               }
+
+               class DataGridView24372 : DataGridView
+               {
+                       public bool HasException { get; private set; }
+                       protected override void OnPaint (PaintEventArgs e)
+                       {
+                               HasException = false;
+                               try {
+                                       base.OnPaint(e);
+                               } catch (ArgumentOutOfRangeException ex) {
+                                       HasException = true;
+                               }
+                       }
+               }
        }
        
        [TestFixture]
index 25c04e1aab33037a5e50658e47050579161581ca..ea0d322b3a652a3b8103a025fe8eb9f58869c79e 100644 (file)
@@ -560,11 +560,13 @@ namespace Microsoft.Build.BuildEngine {
                        get {
                                // This is used as the fall back version if the
                                // project can't find a version to use
-                               // Hard-coded to 2.0, so it allows even vs2005 projects
-                               // to build correctly, as they won't have a ToolsVersion
-                               // set!
                                return String.IsNullOrEmpty (defaultToolsVersion)
-                                               ? "2.0"
+                                               ?
+#if NET_4_0                                            
+                                                "4.0"
+#else
+                                               "2.0"
+#endif                                         
                                                : defaultToolsVersion;
                        }
                        set {
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_2_0.csproj b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_2_0.csproj
deleted file mode 100644 (file)
index c0b32ab..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{6A56A8BD-4228-4865-8112-9D31C6829638}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Engine</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\..\tools\xbuild\SolutionParser.cs" />\r
-    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
-    <Compile Include="..\Microsoft.Build.Framework\Mono.XBuild.Framework\AssemblyLoadInfo.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\ReservedNameUtils.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BatchingImplBase.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildChoose.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildEngine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItem.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroupCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildProperty.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroupCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildSettings.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItem.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItemGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskPropertyGroup.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\BuildWhen.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ChangeType.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ColorResetter.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ColorSetter.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionAndExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionFactorExpresion.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionFunctionExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionNotExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionOrExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionParser.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionRelationalExpression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConditionTokenizer.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ConsoleLogger.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Engine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\EventSource.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Expression.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionEvaluationException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ExpressionParseException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\FileLogger.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\GroupingCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\IBuildTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Import.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ImportCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ImportedProject.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\InternalLoggerException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\InvalidProjectFileException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\IReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ItemReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\LogExtensions.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\MetadataReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Project.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ProjectLoadSettings.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\PropertyPosition.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\PropertyReference.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Target.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TargetBatchingImpl.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TargetCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskBatchingImpl.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskDatabase.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\TaskEngine.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Token.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Toolset.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ToolsetCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\ToolsetDefinitionLocations.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UnknownToolsVersionException.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UsingTask.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\UsingTaskCollection.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\Utilities.cs" />\r
-    <Compile Include="Microsoft.Build.BuildEngine\WriteHandler.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0.csproj">\r
-      <Project>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_2_0.csproj b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-tests-net_2_0.csproj
deleted file mode 100644 (file)
index d08f9a6..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{750EAC81-53A4-41F4-9713-16B07578B170}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Microsoft.Build.Engine-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Engine_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\Microsoft.Build.Tasks\Test\Microsoft.Build.Tasks\TestMessageLogger.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildChooseTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemGroupCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemGroupTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildItemTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyGroupCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyGroupTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildPropertyTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\BuildTaskTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ConsoleLoggerTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\Consts.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\EngineTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ImportCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ImportTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\InternalLoggerExceptionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\InvalidProjectFileExceptionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\ProjectTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TargetCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TargetTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\TestNamespaceManager.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UsingTaskCollectionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UsingTaskTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.BuildEngine\UtilitiesTest.cs" />\r
-    <Compile Include="Test\various\Build.cs" />\r
-    <Compile Include="Test\various\Conditions.cs" />\r
-    <Compile Include="Test\various\DefaultTasks.cs" />\r
-    <Compile Include="Test\various\EvaluationOrder.cs" />\r
-    <Compile Include="Test\various\Items.cs" />\r
-    <Compile Include="Test\various\ProjectElement.cs" />\r
-    <Compile Include="Test\various\Properties.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0.csproj">\r
-      <Project>{6A56A8BD-4228-4865-8112-9D31C6829638}</Project>\r
-      <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0.csproj">\r
-      <Project>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 8db3be70a9df673c0ef434dd73d96699152a3b57..e17d6dc53e5f5e77856654865e8e22c44ee87b2f 100644 (file)
@@ -39,7 +39,9 @@ public static class Consts {
        public static string BinPath {
                get {
                        if (RunningOnMono ()) {
-#if XBUILD_12
+#if XBUILD_14
+                               string profile = "xbuild_14";
+#elif XBUILD_12
                                string profile = "xbuild_12";
 #elif NET_4_5
                                string profile = "net_4_5";
@@ -54,7 +56,9 @@ public static class Consts {
                                var lib = Path.GetDirectoryName (Path.GetDirectoryName (corlib));
                                return Path.Combine (lib, profile);
                        } else {
-#if XBUILD_12
+#if XBUILD_14
+                               return ToolLocationHelper.GetPathToBuildTools ("14.0");
+#elif XBUILD_12
                                return ToolLocationHelper.GetPathToBuildTools ("12.0");
 #elif NET_4_5
                                return ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version45);
@@ -71,7 +75,9 @@ public static class Consts {
 
        public static string ToolsVersionString {
                get {
-#if XBUILD_12
+#if XBUILD_14
+                       return " ToolsVersion='14.0'";
+#elif XBUILD_12
                        return " ToolsVersion='12.0'";
 #elif NET_4_0
                        return " ToolsVersion='4.0'";
@@ -85,7 +91,9 @@ public static class Consts {
 
        public static string GetTasksAsmPath ()
        {
-#if XBUILD_12
+#if XBUILD_14
+               return Path.Combine (BinPath, "Microsoft.Build.Tasks.Core.dll");
+#elif XBUILD_12
                return Path.Combine (BinPath, "Microsoft.Build.Tasks.v12.0.dll");
 #elif NET_4_0
                return Path.Combine (BinPath, "Microsoft.Build.Tasks.v4.0.dll");
diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_2_0.csproj b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_2_0.csproj
deleted file mode 100644 (file)
index 1dfa4fa..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Framework</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\AnyEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildEngineResult.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildErrorEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildErrorEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildEventContext.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildFinishedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildFinishedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildMessageEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildMessageEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildStartedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildStartedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildStatusEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildStatusEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildWarningEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\BuildWarningEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\CustomBuildEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\CustomBuildEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ExternalProjectFinishedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ExternalProjectStartedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IBuildEngine.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IBuildEngine2.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IBuildEngine3.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IBuildEngine4.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ICancelableTask.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IEventRedirector.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IEventSource.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\IForwardingLogger.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ILogger.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\INodeLogger.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITask.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITaskFactory.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITaskFactory2.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITaskHost.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITaskItem.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ITaskItem2.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\LazyFormattedBuildEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\LoadInSeparateAppDomainAttribute.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\LoggerException.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\LoggerVerbosity.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\MessageImportance.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\OutputAttribute.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ProjectFinishedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ProjectFinishedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ProjectStartedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\ProjectStartedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\RegisteredTaskObjectLifetime.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\RequiredAttribute.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TargetFinishedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TargetFinishedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TargetStartedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TargetStartedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskCommandLineEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskFinishedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskFinishedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskPropertyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskStartedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Build.Framework\TaskStartedEventHandler.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-tests-net_2_0.csproj b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-tests-net_2_0.csproj
deleted file mode 100644 (file)
index a3322ae..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F8559E0C-7D86-40C4-B481-5B71DC1DBE8F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Microsoft.Build.Framework-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Framework_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildErrorEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildEventContextTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildFinishedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildMessageEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildStartedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\BuildWarningEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\ExternalProjectFinishedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\ExternalProjectStartedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\LoggerExceptionTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\ProjectFinishedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\ProjectStartedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\TargetFinishedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\TargetStartedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\TaskCommandLineEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\TaskFinishedEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Framework\TaskStartedEventArgsTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_2_0.csproj b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_2_0.csproj
deleted file mode 100644 (file)
index 9bee01e..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9EF938FF-4761-414A-B1BA-0A9645CAA14A}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Tasks</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
-    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
-    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\UnknownToolsVersionException.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BootstrapperBuilder.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildMessage.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildMessageSeverity.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildResults.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildSettings.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ComponentsLocation.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBootstrapperBuilder.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildMessage.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildResults.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildSettings.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProduct.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductBuilder.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductBuilderCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\Product.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductBuilder.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductBuilderCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ApplicationIdentity.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ApplicationManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyIdentity.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReference.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReferenceCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReferenceType.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\BaseReference.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ComClass.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\DeployManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\FileReference.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\FileReferenceCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\Manifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ManifestReader.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ManifestWriter.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessage.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessageCollection.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessageType.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ProxyStub.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\SecurityUtilities.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\TrustInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\TypeLib.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\UpdateMode.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\UpdateUnit.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\WindowClass.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Hosting\ICscHostObject.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Hosting\ICscHostObject4.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks.Hosting\IVbcHostObject.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AL.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AppDomainIsolatedTaskExtension.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AspNetCompiler.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AssemblyResolver.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AssignCulture.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AssignProjectConfiguration.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\AssignTargetPath.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CallTarget.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CombinePath.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CommandLineBuilderExtension.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Copy.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateCSharpManifestResourceName.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateItem.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateManifestResourceName.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateProperty.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateTemporaryVCProject.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\CreateVisualBasicManifestResourceName.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Csc.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Delete.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Error.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Exec.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ExtractedClassName.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\FindAppConfigFile.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\FindUnderPath.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\FormatUrl.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\FormatVersion.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateApplicationManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateBootstrapper.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateDeploymentManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateManifestBase.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateResource.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GenerateTrustInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GetAssemblyIdentity.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GetFrameworkPath.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\RemoveDuplicates.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ResolveAssemblyReference.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ResolvedReference.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ResolveManifestFiles.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ResolveProjectBase.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\SGen.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\SignFile.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\TaskExtension.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\TaskLoggingHelperExtension.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\ToolTaskExtension.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Touch.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\UnregisterAssembly.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\UpdateManifest.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Vbc.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\VCBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\Warning.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\WriteLinesToFile.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\PoResourceReader.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\PoResourceWriter.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\TxtResourceReader.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\TxtResourceWriter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0.csproj">\r
-      <Project>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0.csproj">\r
-      <Project>{6A56A8BD-4228-4865-8112-9D31C6829638}</Project>\r
-      <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0.csproj">\r
-      <Project>{8C54606D-305D-45B0-9932-380FE021BEFE}</Project>\r
-      <Name>Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-tests-net_2_0.csproj b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-tests-net_2_0.csproj
deleted file mode 100644 (file)
index dd207b0..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{DEC22ED1-001B-4849-8F68-105493B5CBE3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Microsoft.Build.Tasks-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Tasks_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\Microsoft.Build.Engine\Test\Microsoft.Build.BuildEngine\Consts.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\ALTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\AssignCultureTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\AssignProjectConfigurationTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\AssignTargetPathTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CombinePathTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CopyTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CreateCSharpManifestResourceNameTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CreateItemTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CreatePropertyTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CreateVisualBasicManifestResourceNameTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\CscTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\DeleteTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\ErrorTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\FindAppConfigFileTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\GetFrameworkPathTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\GetFrameworkSdkPathTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\LCTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\MakeDirTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\ManagedCompilerTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\MessageTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\RemoveDirTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\RemoveDuplicatesTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\ResolveAssemblyReferenceTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\TaskBatchingTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\TestEngine.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\TestMessageLogger.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\WarningTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Tasks\WriteLinesToFileTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Tasks\Microsoft.Build.Tasks-net_2_0.csproj">\r
-      <Project>{9EF938FF-4761-414A-B1BA-0A9645CAA14A}</Project>\r
-      <Name>Microsoft.Build.Tasks\Microsoft.Build.Tasks-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0.csproj">\r
-      <Project>{6A56A8BD-4228-4865-8112-9D31C6829638}</Project>\r
-      <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0.csproj">\r
-      <Project>{8C54606D-305D-45B0-9932-380FE021BEFE}</Project>\r
-      <Name>Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0.csproj">\r
-      <Project>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 272a6f0056aea2ee50a659a4e0e817ab3af01b9b..6e969a0d766adeb19192b6e7099d0bf74f129b38 100644 (file)
@@ -319,7 +319,7 @@ namespace MonoTests.Microsoft.Build.Tasks {
                        Assert.AreEqual (FileAttributes.ReadOnly, File.GetAttributes (target_file), "A1");
                        
                        string documentString = @"
-                               <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"" ToolsVersion=""3.5"">
+                               <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"" ToolsVersion=""4.0"">
                                        <PropertyGroup><DestFile>" + target_file + @"</DestFile></PropertyGroup>
                                        <ItemGroup>
                                                <SFiles Include='" + file_path + @"'><Md>1</Md></SFiles>
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_2_0.csproj b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_2_0.csproj
deleted file mode 100644 (file)
index 27ff84c..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Utilities</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
-    <Compile Include="..\System\System.Collections.Specialized\ProcessStringDictionary.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\AppDomainIsolatedTask.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\CommandLineBuilder.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\HostObjectInitializationStatus.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\IAsyncOperation.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\IProcessAsyncOperation.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\Logger.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\ProcessService.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\ProcessWrapper.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\TargetDotNetFrameworkVersion.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\Task.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\TaskItem.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\TaskLoggingHelper.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\ToolLocationHelper.cs" />\r
-    <Compile Include="Microsoft.Build.Utilities\ToolTask.cs" />\r
-    <Compile Include="Mono.XBuild.Utilities\MonoLocationHelper.cs" />\r
-    <Compile Include="Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
-    <Compile Include="Mono.XBuild.Utilities\ReservedNameUtils.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-tests-net_2_0.csproj b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 0b497e4..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C6AD8AA6-5A1A-4430-99E0-CAB47FB7844B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Microsoft.Build.Utilities-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.Build.Utilities_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Microsoft.Build.Utilities\CommandLineBuilderTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Utilities\LoggerTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Utilities\TaskItemTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Utilities\TaskLoggingHelperTest.cs" />\r
-    <Compile Include="Test\Microsoft.Build.Utilities\ToolTaskTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0.csproj">\r
-      <Project>{A777C6B7-7DAA-48DC-BAEF-FD21967A3384}</Project>\r
-      <Name>Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="./../../class/lib/net_2_0/Microsoft.Build.Engine.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>./../../class/lib/net_2_0/Microsoft.Build.Engine.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0.csproj">\r
-      <Project>{9F21C5DF-2ED4-43F7-8716-192B1C2EC185}</Project>\r
-      <Name>Microsoft.Build.Framework\Microsoft.Build.Framework-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 8b667ced1ba6ecee695aa67cfd269be4a91bbcc6..0a894e7b0f6a36eda8cf3856ff61e2d4f4986e7c 100644 (file)
@@ -53,8 +53,13 @@ namespace Microsoft.Build.Utilities
 #if XBUILD_12
                Version451,
 #endif
+#if XBUILD_14
+               Version453,
+#endif
 
-#if XBUILD_12
+#if XBUILD_14
+               VersionLatest = Version453
+#elif XBUILD_12
                VersionLatest = Version451
 #elif NET_4_5
                VersionLatest = Version45
index f3aa310c09b00323c8952f631e32ecd9f0bd9de7..736b8ad0c4a4ad76cbccd18e642c8fc600b70315 100644 (file)
@@ -233,11 +233,20 @@ namespace Microsoft.Build.Utilities
 
                public static string GetPathToBuildTools (string toolsVersion)
                {
-                       if (toolsVersion != "12.0")
+                       string path;
+                       switch (toolsVersion) {
+                       case "12.0":
+                               path = "xbuild_12";
+                               break;
+                       case "14.0":
+                               path = "xbuild_14";
+                               break;
+                       default:
                                return null;
+                       }
 
                        if (Environment.GetEnvironmentVariable ("TESTING_MONO") != null)
-                               return Path.Combine (lib_mono_dir, "xbuild_12");
+                               return Path.Combine (lib_mono_dir, path);
 
                        if (runningOnDotNet) {
                                //see http://msdn.microsoft.com/en-us/library/vstudio/bb397428(v=vs.120).aspx
index 4170fa00253e29343e428b1e8bcd9534e5b8ca7c..11343933971adf05106698d5efd0ed573954fb52 100644 (file)
@@ -263,6 +263,9 @@ namespace Microsoft.Build.Evaluation
 #endif
 #if XBUILD_12
                        AddToolset (new Toolset ("12.0", ToolLocationHelper.GetPathToBuildTools ("12.0"), this, null));
+#endif
+#if XBUILD_14
+                       AddToolset (new Toolset ("14.0", ToolLocationHelper.GetPathToBuildTools ("14.0"), this, null));
 #endif
                        default_tools_version = toolsets.First ().ToolsVersion;
                }
diff --git a/mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_2_0.csproj b/mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_2_0.csproj
deleted file mode 100644 (file)
index f9a2afa..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9BFFAB87-980B-4074-963C-1542F2E0F2FE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Microsoft.VisualC</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.VisualC\DebugInfoInPDBAttribute.cs" />\r
-    <Compile Include="Microsoft.VisualC\DecoratedNameAttribute.cs" />\r
-    <Compile Include="Microsoft.VisualC\IsConstModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\IsCXXReferenceModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\IsLongModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\IsSignedModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\IsVolatileModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\MiscellaneousBitsAttribute.cs" />\r
-    <Compile Include="Microsoft.VisualC\NeedsCopyConstructorModifier.cs" />\r
-    <Compile Include="Microsoft.VisualC\NoSignSpecifiedModifier.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.C5/Mono.C5-net_2_0.csproj b/mcs/class/Mono.C5/Mono.C5-net_2_0.csproj
deleted file mode 100644 (file)
index d25fc4a..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C54C9EFB-5E3B-43D6-94C9-DD3A66EDA8DA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.C5</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="C5\arrays\ArrayList.cs" />\r
-    <Compile Include="C5\arrays\CircularQueue.cs" />\r
-    <Compile Include="C5\arrays\HashedArrayList.cs" />\r
-    <Compile Include="C5\arrays\SortedArray.cs" />\r
-    <Compile Include="C5\AssemblyInfo.cs" />\r
-    <Compile Include="C5\Attributes.cs" />\r
-    <Compile Include="C5\Builtin.cs" />\r
-    <Compile Include="C5\Collections.cs" />\r
-    <Compile Include="C5\Comparer.cs" />\r
-    <Compile Include="C5\Delegates.cs" />\r
-    <Compile Include="C5\Dictionaries.cs" />\r
-    <Compile Include="C5\Enums.cs" />\r
-    <Compile Include="C5\Events.cs" />\r
-    <Compile Include="C5\Exceptions.cs" />\r
-    <Compile Include="C5\Formatting.cs" />\r
-    <Compile Include="C5\Hashers.cs" />\r
-    <Compile Include="C5\hashing\HashBag.cs" />\r
-    <Compile Include="C5\hashing\HashDictionary.cs" />\r
-    <Compile Include="C5\hashing\HashTable.cs" />\r
-    <Compile Include="C5\heaps\IntervalHeap.cs" />\r
-    <Compile Include="C5\Interfaces.cs" />\r
-    <Compile Include="C5\linkedlists\HashedLinkedList.cs" />\r
-    <Compile Include="C5\linkedlists\LinkedList.cs" />\r
-    <Compile Include="C5\MappedEnumerators.cs" />\r
-    <Compile Include="C5\Random.cs" />\r
-    <Compile Include="C5\Records.cs" />\r
-    <Compile Include="C5\Sorting.cs" />\r
-    <Compile Include="C5\trees\RedBlackTreeBag.cs" />\r
-    <Compile Include="C5\trees\RedBlackTreeDictionary.cs" />\r
-    <Compile Include="C5\trees\RedBlackTreeSet.cs" />\r
-    <Compile Include="C5\ViewSupport.cs" />\r
-    <Compile Include="C5\WrappedArray.cs" />\r
-    <Compile Include="C5\Wrappers.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.C5/Mono.C5-tests-net_2_0.csproj b/mcs/class/Mono.C5/Mono.C5-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 49f9f7b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E698BCE2-5238-4E29-A859-406C99A83E28}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.C5-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.C5_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,169,219,414,1030,3001,3005,3006,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\arrays\ArrayListTest.cs" />\r
-    <Compile Include="Test\arrays\CircularQueueTest.cs" />\r
-    <Compile Include="Test\arrays\HashedArrayListTest.cs" />\r
-    <Compile Include="Test\arrays\SortedArrayTests.cs" />\r
-    <Compile Include="Test\AssemblyInfo.cs" />\r
-    <Compile Include="Test\BasesTest.cs" />\r
-    <Compile Include="Test\hashing\HashBagTests.cs" />\r
-    <Compile Include="Test\hashing\HashDictionaryTests.cs" />\r
-    <Compile Include="Test\hashing\HashTableTests.cs" />\r
-    <Compile Include="Test\heaps\HeapTests.cs" />\r
-    <Compile Include="Test\InterfacesTest.cs" />\r
-    <Compile Include="Test\linkedlists\HashedLinkedListTest.cs" />\r
-    <Compile Include="Test\linkedlists\LinkedListTest.cs" />\r
-    <Compile Include="Test\Records.cs" />\r
-    <Compile Include="Test\Sorting.cs" />\r
-    <Compile Include="Test\SupportClasses.cs" />\r
-    <Compile Include="Test\templates\Clone.cs" />\r
-    <Compile Include="Test\templates\Events.cs" />\r
-    <Compile Include="Test\templates\GenericCollectionTester.cs" />\r
-    <Compile Include="Test\templates\List.cs" />\r
-    <Compile Include="Test\trees\Bag.cs" />\r
-    <Compile Include="Test\trees\Dictionary.cs" />\r
-    <Compile Include="Test\trees\RedBlackTreeSetTests.cs" />\r
-    <Compile Include="Test\WrappersTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.C5\Mono.C5-net_2_0.csproj">\r
-      <Project>{C54C9EFB-5E3B-43D6-94C9-DD3A66EDA8DA}</Project>\r
-      <Name>Mono.C5\Mono.C5-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.CSharp/Mono.CSharp-net_2_0.csproj b/mcs/class/Mono.CSharp/Mono.CSharp-net_2_0.csproj
deleted file mode 100644 (file)
index ed18eec..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{CA9B3BCC-D6B6-4FE5-B90E-106D88030B7D}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.CSharp</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
-    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
-    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\SourceMethodBuilder.cs" />\r
-    <Compile Include="..\..\class\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />\r
-    <Compile Include="..\..\mcs\anonymous.cs" />\r
-    <Compile Include="..\..\mcs\argument.cs" />\r
-    <Compile Include="..\..\mcs\assembly.cs" />\r
-    <Compile Include="..\..\mcs\assign.cs" />\r
-    <Compile Include="..\..\mcs\async.cs" />\r
-    <Compile Include="..\..\mcs\attribute.cs" />\r
-    <Compile Include="..\..\mcs\cfold.cs" />\r
-    <Compile Include="..\..\mcs\class.cs" />\r
-    <Compile Include="..\..\mcs\codegen.cs" />\r
-    <Compile Include="..\..\mcs\complete.cs" />\r
-    <Compile Include="..\..\mcs\const.cs" />\r
-    <Compile Include="..\..\mcs\constant.cs" />\r
-    <Compile Include="..\..\mcs\context.cs" />\r
-    <Compile Include="..\..\mcs\convert.cs" />\r
-    <Compile Include="..\..\mcs\cs-parser.cs" />\r
-    <Compile Include="..\..\mcs\cs-tokenizer.cs" />\r
-    <Compile Include="..\..\mcs\decl.cs" />\r
-    <Compile Include="..\..\mcs\delegate.cs" />\r
-    <Compile Include="..\..\mcs\doc.cs" />\r
-    <Compile Include="..\..\mcs\driver.cs" />\r
-    <Compile Include="..\..\mcs\dynamic.cs" />\r
-    <Compile Include="..\..\mcs\ecore.cs" />\r
-    <Compile Include="..\..\mcs\enum.cs" />\r
-    <Compile Include="..\..\mcs\eval.cs" />\r
-    <Compile Include="..\..\mcs\expression.cs" />\r
-    <Compile Include="..\..\mcs\field.cs" />\r
-    <Compile Include="..\..\mcs\flowanalysis.cs" />\r
-    <Compile Include="..\..\mcs\generic.cs" />\r
-    <Compile Include="..\..\mcs\import.cs" />\r
-    <Compile Include="..\..\mcs\iterators.cs" />\r
-    <Compile Include="..\..\mcs\lambda.cs" />\r
-    <Compile Include="..\..\mcs\linq.cs" />\r
-    <Compile Include="..\..\mcs\literal.cs" />\r
-    <Compile Include="..\..\mcs\location.cs" />\r
-    <Compile Include="..\..\mcs\membercache.cs" />\r
-    <Compile Include="..\..\mcs\method.cs" />\r
-    <Compile Include="..\..\mcs\modifiers.cs" />\r
-    <Compile Include="..\..\mcs\module.cs" />\r
-    <Compile Include="..\..\mcs\namespace.cs" />\r
-    <Compile Include="..\..\mcs\nullable.cs" />\r
-    <Compile Include="..\..\mcs\parameter.cs" />\r
-    <Compile Include="..\..\mcs\pending.cs" />\r
-    <Compile Include="..\..\mcs\property.cs" />\r
-    <Compile Include="..\..\mcs\reflection.cs" />\r
-    <Compile Include="..\..\mcs\report.cs" />\r
-    <Compile Include="..\..\mcs\settings.cs" />\r
-    <Compile Include="..\..\mcs\statement.cs" />\r
-    <Compile Include="..\..\mcs\support.cs" />\r
-    <Compile Include="..\..\mcs\typemanager.cs" />\r
-    <Compile Include="..\..\mcs\typespec.cs" />\r
-    <Compile Include="..\..\mcs\visit.cs" />\r
-    <Compile Include="..\..\tools\monop\outline.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.CSharp/Mono.CSharp-tests-net_2_0.csproj b/mcs/class/Mono.CSharp/Mono.CSharp-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 769eaaa..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{02C4293A-4B99-4E94-9C69-09207A6A457D}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.CSharp-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.CSharp_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\AssertReportPrinter.cs" />\r
-    <Compile Include="Test\Evaluator\BuildinCommands.cs" />\r
-    <Compile Include="Test\Evaluator\CompletionTest.cs" />\r
-    <Compile Include="Test\Evaluator\EvaluatorFixture.cs" />\r
-    <Compile Include="Test\Evaluator\EvaluatorTest.cs" />\r
-    <Compile Include="Test\Evaluator\ExpressionsTest.cs" />\r
-    <Compile Include="Test\Evaluator\TypesTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.CSharp\Mono.CSharp-net_2_0.csproj">\r
-      <Project>{CA9B3BCC-D6B6-4FE5-B90E-106D88030B7D}</Project>\r
-      <Name>Mono.CSharp\Mono.CSharp-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index feb4294647f45a19f3ee62846f471a890bd8ed16..3eef06b3b15b7d07dc77eda93a63a4555461b354 100644 (file)
@@ -146,6 +146,15 @@ namespace MonoTests.EvaluatorTest
                        Assert.IsTrue (Evaluator.Run ("x();"), "#2");
                }
 
+               [Test]
+               public void CapturedLocalVariable ()
+               {
+                       Evaluator.Run ("using System;");
+
+                       var res = Evaluator.Evaluate("var x = 123; Action a = () => x++; a(); x;");
+                       Assert.AreEqual (124, res);     
+               }
+
 #if NET_4_0
                [Test]
                public void DynamicStatement ()
index 970aa33443d459a23509d782e18ede555c9b8ab1..c124ad3739feaa4306b1096c8f4f248096b4840e 100644 (file)
@@ -104,7 +104,15 @@ namespace MonoTests.EvaluatorTest
                {
                        Evaluator.Run ("class A { class B { } }");
                        Evaluator.Run ("var x = new A ();");
+               }
 
+               [Test]
+               public void DelegateType ()
+               {
+                       Evaluator.Run ("public delegate int D();");
+                       Evaluator.Run ("D d = delegate () { return 7; };");
+                       object res = Evaluator.Evaluate ("d();");
+                       Assert.AreEqual (7, res);
                }
        }
 }
\ No newline at end of file
diff --git a/mcs/class/Mono.Cairo/Mono.Cairo-net_2_0.csproj b/mcs/class/Mono.Cairo/Mono.Cairo-net_2_0.csproj
deleted file mode 100644 (file)
index f408f45..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{07DF935D-130B-4185-9DE2-027042BA1E35}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Cairo</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Cairo\Antialias.cs" />\r
-    <Compile Include=".\Mono.Cairo\Cairo.cs" />\r
-    <Compile Include=".\Mono.Cairo\CairoDebug.cs" />\r
-    <Compile Include=".\Mono.Cairo\Color.cs" />\r
-    <Compile Include=".\Mono.Cairo\Content.cs" />\r
-    <Compile Include=".\Mono.Cairo\Context.cs" />\r
-    <Compile Include=".\Mono.Cairo\DirectFBSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\Distance.cs" />\r
-    <Compile Include=".\Mono.Cairo\Extend.cs" />\r
-    <Compile Include=".\Mono.Cairo\FillRule.cs" />\r
-    <Compile Include=".\Mono.Cairo\Filter.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontExtents.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontFace.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontOptions.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontSlant.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontType.cs" />\r
-    <Compile Include=".\Mono.Cairo\FontWeight.cs" />\r
-    <Compile Include=".\Mono.Cairo\Format.cs" />\r
-    <Compile Include=".\Mono.Cairo\GlitzSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\Glyph.cs" />\r
-    <Compile Include=".\Mono.Cairo\Gradient.cs" />\r
-    <Compile Include=".\Mono.Cairo\HintMetrics.cs" />\r
-    <Compile Include=".\Mono.Cairo\HintStyle.cs" />\r
-    <Compile Include=".\Mono.Cairo\ImageSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\LinearGradient.cs" />\r
-    <Compile Include=".\Mono.Cairo\LineCap.cs" />\r
-    <Compile Include=".\Mono.Cairo\LineJoin.cs" />\r
-    <Compile Include=".\Mono.Cairo\Matrix.cs" />\r
-    <Compile Include=".\Mono.Cairo\NativeMethods.cs" />\r
-    <Compile Include=".\Mono.Cairo\Operator.cs" />\r
-    <Compile Include=".\Mono.Cairo\Path.cs" />\r
-    <Compile Include=".\Mono.Cairo\Pattern.cs" />\r
-    <Compile Include=".\Mono.Cairo\PatternType.cs" />\r
-    <Compile Include=".\Mono.Cairo\PdfSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\Point.cs" />\r
-    <Compile Include=".\Mono.Cairo\PointD.cs" />\r
-    <Compile Include=".\Mono.Cairo\PSSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\RadialGradient.cs" />\r
-    <Compile Include=".\Mono.Cairo\Rectangle.cs" />\r
-    <Compile Include=".\Mono.Cairo\Region.cs" />\r
-    <Compile Include=".\Mono.Cairo\ScaledFont.cs" />\r
-    <Compile Include=".\Mono.Cairo\SolidPattern.cs" />\r
-    <Compile Include=".\Mono.Cairo\Status.cs" />\r
-    <Compile Include=".\Mono.Cairo\SubpixelOrder.cs" />\r
-    <Compile Include=".\Mono.Cairo\Surface.cs" />\r
-    <Compile Include=".\Mono.Cairo\SurfacePattern.cs" />\r
-    <Compile Include=".\Mono.Cairo\SurfaceType.cs" />\r
-    <Compile Include=".\Mono.Cairo\SvgSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\SvgVersion.cs" />\r
-    <Compile Include=".\Mono.Cairo\TextExtents.cs" />\r
-    <Compile Include=".\Mono.Cairo\Win32Surface.cs" />\r
-    <Compile Include=".\Mono.Cairo\XcbSurface.cs" />\r
-    <Compile Include=".\Mono.Cairo\XlibSurface.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_2_0.csproj b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_2_0.csproj
deleted file mode 100644 (file)
index 955d459..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7230E9AE-C6D4-402A-91CF-C164148CDD21}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Cecil.Mdb-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Cecil.Mdb</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CECIL</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CECIL</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\AssemblyInfo.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\MdbReader.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\MdbWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\SymbolWriterImpl.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent>\r
-      xcopy $(TargetName).* $(ProjectDir)..\lib\net_2_0\ /Y /R /D\r
-  </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{EB7444A6-C3E6-4224-BDB0-63CA3B4F2B87}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{79F25FD7-0D76-4526-AF39-1A648649A827}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Cecil\Mono.Cecil-net_2_0.csproj">\r
-      <Project>{2F1D61B7-0586-4587-8ECE-926A065F6276}</Project>\r
-      <Name>Mono.Cecil\Mono.Cecil-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>
index d9643b7f5a9a12bba747c8f37c3d72b12660cbe4..37d7fb0f56d2f54818fc890bdd060d0f33c10c54 100644 (file)
@@ -9,8 +9,4 @@ LIB_MCS_FLAGS = /r:$(corlib) -keyfile:$(LIBRARY_SNK) -r:System.Core.dll -d:NET_3
 
 NO_TEST = yes
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-endif
-
 include ../../build/library.make
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil-net_2_0.csproj b/mcs/class/Mono.Cecil/Mono.Cecil-net_2_0.csproj
deleted file mode 100644 (file)
index b0331b6..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{EED155FA-9877-4A62-889B-365D5DED03DB}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Cecil</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Code.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\CodeReader.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\CodeWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Document.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\ExceptionHandler.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\ILProcessor.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Instruction.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\MethodBody.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\OpCode.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\OpCodes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\SequencePoint.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Symbols.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\VariableDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\VariableReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\BlobHeap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Buffers.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\CodedIndex.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\ElementType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\GuidHeap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Heap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\MetadataToken.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Row.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\StringHeap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\TableHeap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\TokenType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\UserStringHeap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Utilities.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\BinaryStreamReader.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\BinaryStreamWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ByteBuffer.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ByteBufferEqualityComparer.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\DataDirectory.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\Image.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ImageReader.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ImageWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\Section.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\TextMap.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ArrayType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyFlags.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyHashAlgorithm.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyInfo.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyLinkedResource.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyNameDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyNameReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyReader.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyWriter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\BaseAssemblyResolver.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\CallSite.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\CustomAttribute.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\DefaultAssemblyResolver.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EmbeddedResource.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ExportedType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FileAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FunctionPointerType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericInstanceMethod.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericInstanceType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericParameter.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericParameterAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IConstantProvider.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ICustomAttributeProvider.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IGenericInstance.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IGenericParameterProvider.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMarshalInfoProvider.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMemberDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMetadataScope.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMetadataTokenProvider.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMethodSignature.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Import.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\LinkedResource.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ManifestResourceAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MarshalInfo.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MemberDefinitionCollection.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MemberReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MetadataResolver.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MetadataSystem.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodCallingConvention.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodImplAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodReturnType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodSemanticsAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodSpecification.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Modifiers.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleKind.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\NativeType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterDefinitionCollection.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PinnedType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PInvokeAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PInvokeInfo.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PointerType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ReferenceType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Resource.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\SecurityDeclaration.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\SentinelType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TargetRuntime.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeAttributes.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeDefinition.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeDefinitionCollection.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeParser.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeReference.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeSpecification.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeSystem.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Cecil\VariantType.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Collections.Generic\Collection.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Collections.Generic\ReadOnlyCollection.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Security.Cryptography\CryptoConvert.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono.Security.Cryptography\CryptoService.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono\Actions.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono\Empty.cs" />\r
-    <Compile Include="..\..\..\external\cecil\Mono\Funcs.cs" />\r
-    <Compile Include="..\..\..\external\cecil\System.Runtime.CompilerServices\ExtensionAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_2_0.csproj b/mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_2_0.csproj
deleted file mode 100644 (file)
index 981bb19..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D59758D7-08DC-4645-A96A-0EBE93F281A6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.CompilerServices.SymbolWriter</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="MonoSymbolFile.cs" />\r
-    <Compile Include="MonoSymbolTable.cs" />\r
-    <Compile Include="MonoSymbolWriter.cs" />\r
-    <Compile Include="SourceMethodBuilder.cs" />\r
-    <Compile Include="SymbolWriterImpl.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_2_0.csproj b/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_2_0.csproj
deleted file mode 100644 (file)
index 789777a..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7B3F5668-ED1F-48EB-9897-E6BE6A1C8CB3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Data.Sqlite</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SQLITE_STANDARD</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SQLITE_STANDARD</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\LINQ\SQLiteConnection_Linq.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\LINQ\SQLiteFactory_Linq.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\MonoPInvokeCallbackAttribute.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLite3.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLite3_UTF16.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteBase.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteCommand.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteCommandBuilder.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnection.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnectionPool.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnectionStringBuilder.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConvert.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteDataAdapter.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteDataReader.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SqliteDataSourceEnumerator.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteEnlistment.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteException.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFactory.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFunction.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFunctionAttribute.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteKeyReader.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteMetaDataCollectionNames.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteParameter.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteParameterCollection.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteStatement.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteTransaction.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\SR.Designer.cs" />\r
-    <Compile Include="Mono.Data.Sqlite_2.0\UnsafeNativeMethods.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/SR.resources">\r
-      <LogicalName>SR.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteCommand.bmp">\r
-      <LogicalName>SQLiteCommand.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteConnection.bmp">\r
-      <LogicalName>SQLiteConnection.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteDataAdapter.bmp">\r
-      <LogicalName>SQLiteDataAdapter.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-tests-net_2_0.csproj b/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 3c93773..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{082EFA10-D1AE-41EA-8CDD-7D881109D97A}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Data.Sqlite-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Data.Sqlite_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SQLITE_STANDARD</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SQLITE_STANDARD</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\SqliteCommandUnitTests.cs" />\r
-    <Compile Include="Test\SqliteConnectionTest.cs" />\r
-    <Compile Include="Test\SqliteDataAdapterUnitTests.cs" />\r
-    <Compile Include="Test\SqliteDataReaderTest.cs" />\r
-    <Compile Include="Test\SqliteExceptionUnitTests.cs" />\r
-    <Compile Include="Test\SqliteFunctionTests.cs" />\r
-    <Compile Include="Test\SqliteParameterUnitTests.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0.csproj">\r
-      <Project>{7B3F5668-ED1F-48EB-9897-E6BE6A1C8CB3}</Project>\r
-      <Name>Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/SR.resources">\r
-      <LogicalName>SR.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteCommand.bmp">\r
-      <LogicalName>SQLiteCommand.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteConnection.bmp">\r
-      <LogicalName>SQLiteConnection.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/SQLiteDataAdapter.bmp">\r
-      <LogicalName>SQLiteDataAdapter.bmp</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_2_0.csproj b/mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_2_0.csproj
deleted file mode 100644 (file)
index b092598..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C21CB6AB-7059-4FA5-A23C-84EA0B854BB7}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Data.Tds</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\Tds.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\Tds42.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\Tds50.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\Tds70.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\Tds80.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsAsyncResult.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsAsyncState.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsBigDecimal.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsBulkCopy.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsCollation.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsColumnStatus.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsColumnType.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsComm.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsConnectionParameters.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsConnectionPool.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsDataColumn.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsDataColumnCollection.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsDataRow.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsEnvPacketSubType.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalError.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorCollection.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorMessageEventArgs.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorMessageEventHandler.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalException.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalInfoMessageEventArgs.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalInfoMessageEventHandler.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsPacketSubType.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsPacketType.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsRpcProcId.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsTimeoutException.cs" />\r
-    <Compile Include="Mono.Data.Tds.Protocol\TdsVersion.cs" />\r
-    <Compile Include="Mono.Data.Tds\TdsMetaParameter.cs" />\r
-    <Compile Include="Mono.Data.Tds\TdsMetaParameterCollection.cs" />\r
-    <Compile Include="Mono.Data.Tds\TdsParameterDirection.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds-tests-net_2_0.csproj b/mcs/class/Mono.Data.Tds/Mono.Data.Tds-tests-net_2_0.csproj
deleted file mode 100644 (file)
index afd72be..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{B248ADC8-9309-4844-90C0-6377AC3467D4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Data.Tds-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Data.Tds_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\bug-4786.cs" />\r
-    <Compile Include="Test\ConnLifetime.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Tds\Mono.Data.Tds-net_2_0.csproj">\r
-      <Project>{C21CB6AB-7059-4FA5-A23C-84EA0B854BB7}</Project>\r
-      <Name>Mono.Data.Tds\Mono.Data.Tds-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Net.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Net.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_2_0.csproj b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_2_0.csproj
deleted file mode 100644 (file)
index c53b28e..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{08AD7FD1-889B-4ADC-8AAA-05459828C75F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Debugger.Soft</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AbsentInformationException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AppDomainCreateEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AppDomainMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AppDomainUnloadEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ArrayMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AssemblyLoadEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AssemblyLoadEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AssemblyMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\AssemblyUnloadEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\BreakpointEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\BreakpointEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\Connection.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\CustomAttributeDataMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\CustomAttributeNamedArgumentMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\CustomAttributeTypedArgumentMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\DataConverter.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\EnumMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\Event.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\EventQueueImpl.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\EventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\EventSet.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\EventType.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ExceptionEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ExceptionEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\FieldInfoMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\IInvokeAsyncResult.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ILExceptionHandler.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ILInstruction.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ILInterpreter.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\IMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\InterfaceMappingMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\InvalidStackFrameException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\InvocationException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\InvokeOptions.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ITargetProcess.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\LocalVariable.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\Location.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodBodyMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodEntryEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodEntryEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodExitEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodExitEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\MethodMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\Mirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ModuleMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ObjectCollectedException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ObjectMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ParameterInfoMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\PointerValue.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\PrimitiveValue.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\PropertyInfoMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\StackFrame.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\StepEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\StepEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\StringMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\StructMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\SuspendPolicy.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ThreadDeathEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ThreadMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\ThreadStartEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\TypeLoadEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\TypeLoadEventRequest.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\TypeMirror.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\UserBreakEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\UserLogEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\Value.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VirtualMachine.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VirtualMachineManager.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VMDeathEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VMDisconnectedException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VMDisconnectEvent.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VMMismatchException.cs" />\r
-    <Compile Include="Mono.Debugger.Soft\VMStartEvent.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Cecil\Mono.Cecil-net_2_0.csproj">\r
-      <Project>{EED155FA-9877-4A62-889B-365D5DED03DB}</Project>\r
-      <Name>Mono.Cecil\Mono.Cecil-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-tests-net_2_0.csproj b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-tests-net_2_0.csproj
deleted file mode 100644 (file)
index de8b73f..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{3C5E6859-9346-4FE8-AD24-2D00753DEDE4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Debugger.Soft-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Debugger.Soft_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\dtest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Debugger.Soft\Mono.Debugger.Soft-net_2_0.csproj">\r
-      <Project>{08AD7FD1-889B-4ADC-8AAA-05459828C75F}</Project>\r
-      <Name>Mono.Debugger.Soft\Mono.Debugger.Soft-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Cecil\Mono.Cecil-net_2_0.csproj">\r
-      <Project>{EED155FA-9877-4A62-889B-365D5DED03DB}</Project>\r
-      <Name>Mono.Cecil\Mono.Cecil-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index a54315f175e5f4fc2f49ffb2f070c027bcc2d4a1..753f3910f83d9bd9e76a67093f4f790dd87b986e 100644 (file)
@@ -417,7 +417,7 @@ namespace Mono.Debugger.Soft
                 * with newer runtimes, and vice versa.
                 */
                internal const int MAJOR_VERSION = 2;
-               internal const int MINOR_VERSION = 37;
+               internal const int MINOR_VERSION = 38;
 
                enum WPSuspendPolicy {
                        NONE = 0,
@@ -585,7 +585,8 @@ namespace Mono.Debugger.Soft
                enum CmdStackFrame {
                        GET_VALUES = 1,
                        GET_THIS = 2,
-                       SET_VALUES = 3
+                       SET_VALUES = 3,
+                       GET_DOMAIN = 4,
                }
 
                enum CmdArrayRef {
@@ -2378,6 +2379,10 @@ namespace Mono.Debugger.Soft
                        SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.SET_VALUES, new PacketWriter ().WriteId (thread_id).WriteId (id).WriteInt (len).WriteInts (pos).WriteValues (values));
                }
 
+               internal long StackFrame_GetDomain (long thread_id, long id) {
+                       return SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.GET_DOMAIN, new PacketWriter ().WriteId (thread_id).WriteId (id)).ReadId ();
+               }
+
                /*
                 * ARRAYS
                 */
index 7a6a34fa539c93bf6d58758def7f70f34bf88c50..8549a93700afaf54b7b1e67d4e40a93a842729f5 100644 (file)
@@ -7,6 +7,7 @@ namespace Mono.Debugger.Soft
        public class StackFrame : Mirror
        {
                ThreadMirror thread;
+               AppDomainMirror domain;
                MethodMirror method;
                int il_offset;
                Location location;
@@ -32,6 +33,16 @@ namespace Mono.Debugger.Soft
                        }
                }
 
+               public AppDomainMirror Domain {
+                       get {
+                               vm.CheckProtocolVersion (2, 38);
+                               if (domain == null)
+                                       domain = vm.GetDomain (vm.conn.StackFrame_GetDomain (thread.Id, Id));
+
+                               return domain;
+                       }
+               }
+
                public MethodMirror Method {
                        get {
                                return method;
index df4fbcc664872601920c32151eaa134ffafa9461..d7aaacd3383596d24cc0c4a8e385f717fcadaa6c 100644 (file)
@@ -2869,8 +2869,10 @@ public class DebuggerTests
 
                var frames = e.Thread.GetFrames ();
                Assert.AreEqual ("invoke_in_domain", frames [0].Method.Name);
+               Assert.AreEqual (domain, frames [0].Domain);
                Assert.AreEqual ("invoke", frames [1].Method.Name);
                Assert.AreEqual ("domains", frames [2].Method.Name);
+               Assert.AreEqual (vm.RootDomain, frames [2].Domain);
 
                // Test breakpoints on already JITted methods in other domains
                m = entry_point.DeclaringType.GetMethod ("invoke_in_domain_2");
diff --git a/mcs/class/Mono.Http/Mono.Http-net_2_0.csproj b/mcs/class/Mono.Http/Mono.Http-net_2_0.csproj
deleted file mode 100644 (file)
index 40fcb94..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7323A289-ABB8-4556-A9D5-8994223523B5}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Http</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Http.Configuration\AcceptEncodingConfig.cs" />\r
-    <Compile Include="Mono.Http.Configuration\AcceptEncodingSectionHandler.cs" />\r
-    <Compile Include="Mono.Http.Modules\AcceptEncodingModule.cs" />\r
-    <Compile Include="Mono.Http.Modules\AuthenticationModule.cs" />\r
-    <Compile Include="Mono.Http.Modules\BasicAuthenticationModule.cs" />\r
-    <Compile Include="Mono.Http.Modules\DigestAuthenticationModule.cs" />\r
-    <Compile Include="Mono.Http\GZipWebRequest.cs" />\r
-    <Compile Include="Mono.Http\GZipWebRequestCreator.cs" />\r
-    <Compile Include="Mono.Http\GZipWebResponse.cs" />\r
-    <Compile Include="Mono.Http\GZipWriteFilter.cs" />\r
-    <Compile Include="Mono.Http\NtlmClient.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib-net_2_0.csproj">\r
-      <Project>{9E123979-3457-435B-A081-8432EEBA134A}</Project>\r
-      <Name>ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Management/Mono.Management-net_2_0.csproj b/mcs/class/Mono.Management/Mono.Management-net_2_0.csproj
deleted file mode 100644 (file)
index f1c6fe2..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{BF4F4B81-6779-40D0-85B9-2FD9ED8DFF63}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Management</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Attach\VirtualMachine.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_2_0.csproj b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_2_0.csproj
deleted file mode 100644 (file)
index 827b2eb..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D7F14FD3-CE00-4000-813C-9D34D42FE887}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Messaging.RabbitMQ</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\IMessagingContext.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\MessageFactory.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\MessagingContext.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\MessagingContextPool.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageEnumerator.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageQueue.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageQueueTransaction.cs" />\r
-    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessagingProvider.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Messaging\System.Messaging-net_2_0.csproj">\r
-      <Project>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging\Mono.Messaging-net_2_0.csproj">\r
-      <Project>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</Project>\r
-      <Name>Mono.Messaging\Mono.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\RabbitMQ.Client\src\client\RabbitMQ.Client-net_2_0.csproj">\r
-      <Project>{962E924C-777A-42E1-B7AC-823BFA34D22C}</Project>\r
-      <Name>client\RabbitMQ.Client-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-tests-net_2_0.csproj b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-tests-net_2_0.csproj
deleted file mode 100644 (file)
index b90bc4f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{CC2D1BF7-1070-41B3-B316-85EA0B2E7E9E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Messaging.RabbitMQ-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Messaging.RabbitMQ_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\BinaryMessageFormatterTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\FailuresTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\MessageBaseTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\MessageEnumeratorExceptionTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\MessageTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\MessagingContextPoolTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\RabbitMQMessagingProviderTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\TestUtils.cs" />\r
-    <Compile Include="Test\Mono.Messaging.RabbitMQ\XmlMessageFormatterTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging.RabbitMQ\Mono.Messaging.RabbitMQ-net_2_0.csproj">\r
-      <Project>{D7F14FD3-CE00-4000-813C-9D34D42FE887}</Project>\r
-      <Name>Mono.Messaging.RabbitMQ\Mono.Messaging.RabbitMQ-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Messaging\System.Messaging-net_2_0.csproj">\r
-      <Project>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging\Mono.Messaging-net_2_0.csproj">\r
-      <Project>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</Project>\r
-      <Name>Mono.Messaging\Mono.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\RabbitMQ.Client\src\client\RabbitMQ.Client-net_2_0.csproj">\r
-      <Project>{962E924C-777A-42E1-B7AC-823BFA34D22C}</Project>\r
-      <Name>client\RabbitMQ.Client-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="nunit.mocks.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>nunit.mocks.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Messaging/Mono.Messaging-net_2_0.csproj b/mcs/class/Mono.Messaging/Mono.Messaging-net_2_0.csproj
deleted file mode 100644 (file)
index b27257c..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Messaging</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Messaging\AcknowledgeTypes.cs" />\r
-    <Compile Include=".\Mono.Messaging\Acknowledgment.cs" />\r
-    <Compile Include=".\Mono.Messaging\CompletedEventArgs.cs" />\r
-    <Compile Include=".\Mono.Messaging\CompletedEventHandler.cs" />\r
-    <Compile Include=".\Mono.Messaging\ConcurrentLinkedQueue.cs" />\r
-    <Compile Include=".\Mono.Messaging\ConnectionException.cs" />\r
-    <Compile Include=".\Mono.Messaging\CryptographicProviderType.cs" />\r
-    <Compile Include=".\Mono.Messaging\EncryptionAlgorithm.cs" />\r
-    <Compile Include=".\Mono.Messaging\EncryptionRequired.cs" />\r
-    <Compile Include=".\Mono.Messaging\HashAlgorithm.cs" />\r
-    <Compile Include=".\Mono.Messaging\IMessage.cs" />\r
-    <Compile Include=".\Mono.Messaging\IMessageEnumerator.cs" />\r
-    <Compile Include=".\Mono.Messaging\IMessageQueue.cs" />\r
-    <Compile Include=".\Mono.Messaging\IMessageQueueTransaction.cs" />\r
-    <Compile Include=".\Mono.Messaging\IMessagingProvider.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageBase.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessagePriority.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageQueueBase.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageQueueTransactionStatus.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageQueueTransactionType.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageType.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessageUnavailableException.cs" />\r
-    <Compile Include=".\Mono.Messaging\MessagingProviderLocator.cs" />\r
-    <Compile Include=".\Mono.Messaging\MonoMessagingException.cs" />\r
-    <Compile Include=".\Mono.Messaging\QueueReference.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Messaging/Mono.Messaging-tests-net_2_0.csproj b/mcs/class/Mono.Messaging/Mono.Messaging-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 80c2a9e..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{62E7C77F-D5EF-4761-8C20-571CC01C8202}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Messaging-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Messaging_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Messaging\ConcurrentLinkedQueueTest.cs" />\r
-    <Compile Include="Test\Mono.Messaging\QueueReferenceTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging\Mono.Messaging-net_2_0.csproj">\r
-      <Project>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</Project>\r
-      <Name>Mono.Messaging\Mono.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Messaging.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Messaging.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <Reference Include="nunit.mocks.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>nunit.mocks.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Options/Mono.Options-net_2_0.csproj b/mcs/class/Mono.Options/Mono.Options-net_2_0.csproj
deleted file mode 100644 (file)
index b1d9190..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{91B954C8-077B-49DD-BA35-AD8BAE7A79CD}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Options</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Options\Options.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Options/Mono.Options-tests-net_2_0.csproj b/mcs/class/Mono.Options/Mono.Options-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 4e7699d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E1915F81-F06D-4A4F-AA38-BB1BA8200B91}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Options-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Options_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Options\BaseRocksFixture.cs" />\r
-    <Compile Include="Test\Mono.Options\CollectionContract.cs" />\r
-    <Compile Include="Test\Mono.Options\ListContract.cs" />\r
-    <Compile Include="Test\Mono.Options\OptionContextTest.cs" />\r
-    <Compile Include="Test\Mono.Options\OptionSetTest.cs" />\r
-    <Compile Include="Test\Mono.Options\OptionTest.cs" />\r
-    <Compile Include="Test\Mono.Options\Utils.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Options\Mono.Options-net_2_0.csproj">\r
-      <Project>{91B954C8-077B-49DD-BA35-AD8BAE7A79CD}</Project>\r
-      <Name>Mono.Options\Mono.Options-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Posix/Mono.Posix-net_2_0.csproj b/mcs/class/Mono.Posix/Mono.Posix-net_2_0.csproj
deleted file mode 100644 (file)
index fb08807..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Posix</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Posix\Catalog.cs" />\r
-    <Compile Include=".\Mono.Posix\PeerCred.cs" />\r
-    <Compile Include=".\Mono.Posix\Syscall.cs" />\r
-    <Compile Include=".\Mono.Posix\UnixEndPoint.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryClientFormatterSink.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryClientFormatterSinkProvider.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryCore.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryServerFormatterSink.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryServerFormatterSinkProvider.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixChannel.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientChannel.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientTransportSink.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientTransportSinkProvider.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixConnectionPool.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixMessageIO.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixServerChannel.cs" />\r
-    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixServerTransportSink.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\CdeclFunction.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\FileNameMarshaler.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\MapAttribute.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\NativeConvert.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\NativeConvert.generated.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\RealTimeSignum.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\Stdlib.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\Syscall.cs" />\r
-    <Compile Include=".\Mono.Unix.Native\TypeAttributes.cs" />\r
-    <Compile Include=".\Mono.Unix\AbstractUnixEndPoint.cs" />\r
-    <Compile Include=".\Mono.Unix\Catalog.cs" />\r
-    <Compile Include=".\Mono.Unix\FileAccessPattern.cs" />\r
-    <Compile Include=".\Mono.Unix\FileAccessPermissions.cs" />\r
-    <Compile Include=".\Mono.Unix\FileHandleOperations.cs" />\r
-    <Compile Include=".\Mono.Unix\FileSpecialAttributes.cs" />\r
-    <Compile Include=".\Mono.Unix\FileTypes.cs" />\r
-    <Compile Include=".\Mono.Unix\PeerCred.cs" />\r
-    <Compile Include=".\Mono.Unix\StdioFileStream.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixClient.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixDirectoryInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixDriveInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixEncoding.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixEndPoint.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixEnvironment.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixFileInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixFileSystemInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixGroupInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixIOException.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixListener.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixMarshal.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixPath.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixPipes.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixProcess.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixSignal.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixStream.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixSymbolicLinkInfo.cs" />\r
-    <Compile Include=".\Mono.Unix\UnixUserInfo.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Posix/Mono.Posix-tests-net_2_0.csproj b/mcs/class/Mono.Posix/Mono.Posix-tests-net_2_0.csproj
deleted file mode 100644 (file)
index ccbe2be..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{CC6C32E1-55ED-469E-82B1-C60DA038FBE6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,219,618</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Posix-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Posix_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,219,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,219,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Unix.Native\RealTimeSignumTests.cs" />\r
-    <Compile Include="Test\Mono.Unix.Native\StdlibTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\ReadlinkTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\StdioFileStreamTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixEncodingTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixGroupTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixMarshalTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixPathTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixSignalTest.cs" />\r
-    <Compile Include="Test\Mono.Unix\UnixUserTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 7951d08ae17377a58246b6f81b3df14cdecaf317..ffa329f1b5bf3d5fa7cc75a7a6e93355b118d117 100644 (file)
@@ -195,6 +195,11 @@ namespace Mono.Unix.Native {
                        return FromTimeT (time);
                }
 
+               public static DateTime ToDateTime (long time, long nanoTime)
+               {
+                       return FromTimeT (time).AddMilliseconds (nanoTime / 1000);
+               }
+
                public static long FromDateTime (DateTime time)
                {
                        return ToTimeT (time);
index c6a9b283b5f193b5a061d1c6108777522d75bd1c..149f79b84ed966bff1e74d466dd82a066acfd8e8 100644 (file)
@@ -192,7 +192,7 @@ namespace Mono.Unix {
                }
 
                public DateTime LastAccessTime {
-                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_atime);}
+                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_atime, stat.st_atime_nsec);}
                }
 
                public DateTime LastAccessTimeUtc {
@@ -200,7 +200,7 @@ namespace Mono.Unix {
                }
 
                public DateTime LastWriteTime {
-                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_mtime);}
+                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_mtime, stat.st_mtime_nsec);}
                }
 
                public DateTime LastWriteTimeUtc {
@@ -208,7 +208,7 @@ namespace Mono.Unix {
                }
 
                public DateTime LastStatusChangeTime {
-                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_ctime);}
+                       get {AssertValid (); return Native.NativeConvert.ToDateTime (stat.st_ctime, stat.st_ctime_nsec);}
                }
 
                public DateTime LastStatusChangeTimeUtc {
diff --git a/mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_2_0.csproj b/mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_2_0.csproj
deleted file mode 100644 (file)
index 94ca7da..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5A61BC1B-CF0D-450F-A114-02A4C863B71F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Security.Win32</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\CapiContext.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\CapiHash.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\CapiRandomNumberGenerator.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\CryptoAPI.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD2.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD2CryptoServiceProvider.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD4.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD4CryptoServiceProvider.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD5CryptoServiceProvider.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\RNGCryptoServiceProvider.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\SHA1CryptoServiceProvider.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Security/Mono.Security-net_2_0.csproj b/mcs/class/Mono.Security/Mono.Security-net_2_0.csproj
deleted file mode 100644 (file)
index 935f3dc..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{57CFE851-81AC-4269-B24A-965A53D87248}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1030</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Security</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1030</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1030</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Mono.Math.Prime.Generator\NextPrimeFinder.cs" />\r
-    <Compile Include=".\Mono.Math.Prime.Generator\PrimeGeneratorBase.cs" />\r
-    <Compile Include=".\Mono.Math.Prime.Generator\SequentialSearchPrimeGeneratorBase.cs" />\r
-    <Compile Include=".\Mono.Math.Prime\ConfidenceFactor.cs" />\r
-    <Compile Include=".\Mono.Math.Prime\PrimalityTests.cs" />\r
-    <Compile Include=".\Mono.Math\BigInteger.cs" />\r
-    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeBase.cs" />\r
-    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeDeformatter.cs" />\r
-    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeFormatter.cs" />\r
-    <Compile Include=".\Mono.Security.Authenticode\PrivateKey.cs" />\r
-    <Compile Include=".\Mono.Security.Authenticode\SoftwarePublisherCertificate.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\ARC4Managed.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\CryptoConvert.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\CryptoTools.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\DHKeyGeneration.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\DHParameters.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\DiffieHellman.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\DiffieHellmanManaged.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\KeyPairPersistence.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\MD2.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\MD2Managed.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\MD4.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\MD4Managed.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\MD5SHA1.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\PKCS1.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\PKCS8.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\RC4.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\RSAManaged.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\SHA224.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\SHA224Managed.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\SymmetricTransform.cs" />\r
-    <Compile Include=".\Mono.Security.Cryptography\TlsHMAC.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\ChallengeResponse2.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmAuthLevel.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmSettings.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\Alert.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ClientContext.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ContentType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\Context.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ServerContext.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\TlsException.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
-    <Compile Include=".\Mono.Security.Protocol.Tls\TlsStream.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\AuthorityKeyIdentifierExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\BasicConstraintsExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\CertificatePoliciesExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\CRLDistributionPointsExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\ExtendedKeyUsageExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\GeneralNames.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\KeyAttributesExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\KeyUsageExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\NetscapeCertTypeExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\PrivateKeyUsagePeriodExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\SubjectAltNameExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509.Extensions\SubjectKeyIdentifierExtension.cs" />\r
-    <Compile Include=".\Mono.Security.X509\PKCS12.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X501Name.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Builder.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Certificate.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509CertificateBuilder.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509CertificateCollection.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Chain.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509ChainStatusFlags.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509CRL.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Extension.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Extensions.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Store.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509StoreManager.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X509Stores.cs" />\r
-    <Compile Include=".\Mono.Security.X509\X520Attributes.cs" />\r
-    <Compile Include=".\Mono.Security\ASN1.cs" />\r
-    <Compile Include=".\Mono.Security\ASN1Convert.cs" />\r
-    <Compile Include=".\Mono.Security\BitConverterLE.cs" />\r
-    <Compile Include=".\Mono.Security\PKCS7.cs" />\r
-    <Compile Include=".\Mono.Security\StrongName.cs" />\r
-    <Compile Include=".\Mono.Xml\MiniParser.cs" />\r
-    <Compile Include=".\Mono.Xml\SecurityParser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Security/Mono.Security-tests-net_2_0.csproj b/mcs/class/Mono.Security/Mono.Security-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 3da8463..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1FE45C8C-1411-4C7E-BBF4-6C2F816239BE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1030,169,219,618,672</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.Security-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Security_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1030,169,219,618,672</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1030,169,219,618,672</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Math\ArithmeticBigTest.cs" />\r
-    <Compile Include="Test\Mono.Math\BigIntegerSetTest.cs" />\r
-    <Compile Include="Test\Mono.Math\BigIntegerTest.cs" />\r
-    <Compile Include="Test\Mono.Math\BitwiseTest.cs" />\r
-    <Compile Include="Test\Mono.Math\GcdBigTest.cs" />\r
-    <Compile Include="Test\Mono.Math\ModInverseBigTest.cs" />\r
-    <Compile Include="Test\Mono.Math\ModRingTest.cs" />\r
-    <Compile Include="Test\Mono.Math\PrimeGenerationTest.cs" />\r
-    <Compile Include="Test\Mono.Math\PrimeTestingTest.cs" />\r
-    <Compile Include="Test\Mono.Math\SearchGeneratorTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Authenticode\AuthenticodeDeformatterTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Authenticode\PrivateKeyTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Authenticode\SoftwarePublisherCertificateTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\ARC4ManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\CryptoConvertTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\DiffieHellmanManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\KeyPairPersistenceTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\MD2ManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\MD2Test.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\MD4ManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\MD4Test.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\PKCS1Test.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\PKCS8Test.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\RSAManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\SHA224ManagedTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Cryptography\SHA224Test.cs" />\r
-    <Compile Include="Test\Mono.Security.Protocol.Ntlm\ChallengeResponseTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Protocol.Ntlm\MessageBaseTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Protocol.Ntlm\Type1MessageTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Protocol.Ntlm\Type2MessageTest.cs" />\r
-    <Compile Include="Test\Mono.Security.Protocol.Ntlm\Type3MessageTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\AuthorityKeyIdentifierExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\BasicConstraintsExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\ExtendedKeyUsageExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\KeyUsageExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\SubjectAltNameExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509.Extensions\SubjectKeyIdentifierExtensionTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509\PKCS12Test.cs" />\r
-    <Compile Include="Test\Mono.Security.X509\X501NameTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509\X509CertificateTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509\X509CrlTest.cs" />\r
-    <Compile Include="Test\Mono.Security.X509\X520AttributesTest.cs" />\r
-    <Compile Include="Test\Mono.Security\ASN1ConvertTest.cs" />\r
-    <Compile Include="Test\Mono.Security\PKCS7Test.cs" />\r
-    <Compile Include="Test\Mono.Security\StrongNameTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 3341fdabacd53672119bc4e5c79f5a5a48a6eae4..04dc927a0f3ea1f620bf9aba4b6adb8c76e9bfa5 100644 (file)
@@ -10,7 +10,7 @@ NO_TEST = yes
 
 
 # This is a .NET 2.0+ only assembly
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-Mono.Simd.dll
 NO_INSTALL = yes
diff --git a/mcs/class/Mono.Simd/Mono.Simd-net_2_0.csproj b/mcs/class/Mono.Simd/Mono.Simd-net_2_0.csproj
deleted file mode 100644 (file)
index 87ddb67..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2DE3C48F-6194-476B-99D9-B990C261EFF8}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Simd</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Simd\AccelerationAttribute.cs" />\r
-    <Compile Include="Mono.Simd\AccelMode.cs" />\r
-    <Compile Include="Mono.Simd\ArrayExtensions.cs" />\r
-    <Compile Include="Mono.Simd\SimdRuntime.cs" />\r
-    <Compile Include="Mono.Simd\Vector16b.cs" />\r
-    <Compile Include="Mono.Simd\Vector16sb.cs" />\r
-    <Compile Include="Mono.Simd\Vector2d.cs" />\r
-    <Compile Include="Mono.Simd\Vector2l.cs" />\r
-    <Compile Include="Mono.Simd\Vector2ul.cs" />\r
-    <Compile Include="Mono.Simd\Vector4f.cs" />\r
-    <Compile Include="Mono.Simd\Vector4i.cs" />\r
-    <Compile Include="Mono.Simd\Vector4ui.cs" />\r
-    <Compile Include="Mono.Simd\Vector8s.cs" />\r
-    <Compile Include="Mono.Simd\Vector8us.cs" />\r
-    <Compile Include="Mono.Simd\VectorOperations.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.Tasklets/Mono.Tasklets-net_2_0.csproj b/mcs/class/Mono.Tasklets/Mono.Tasklets-net_2_0.csproj
deleted file mode 100644 (file)
index c9c1560..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D329F40E-D458-4164-BAA4-196644F8E73C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.Tasklets</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Tasklets\Continuation.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_2_0.csproj b/mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_2_0.csproj
deleted file mode 100644 (file)
index 2611d1a..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F46C8C89-6CD0-432D-8BEF-C962DB694CDB}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.WebBrowser</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Mozilla\AsciiString.cs" />\r
-    <Compile Include="Mono.Mozilla\Base.cs" />\r
-    <Compile Include="Mono.Mozilla\Callback.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Attribute.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\AttributeCollection.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\ContentListener.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Document.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\DocumentEncoder.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\DocumentType.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\DOMImplementation.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\DOMObject.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Element.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\EventListener.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\History.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\HTMLElement.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\HTMLElementCollection.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\NamedNodeMap.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Navigation.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Node.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\NodeList.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Stream.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Stylesheet.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\StylesheetList.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\Window.cs" />\r
-    <Compile Include="Mono.Mozilla\DOM\WindowCollection.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\DocumentEncoderFlags.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\NodeType.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\nsIReadSegmentFun.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\nsITimerCallbackDelegate.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\nsIWriteSegmentFun.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\extras\Options.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibilityService.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessible.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleDocument.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleRelation.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleRetrieval.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIAccessNode.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIArray.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsICancelable.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIChannel.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIClassInfo.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDocCharset.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDocumentEncoder.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDocumentEncoderNodeFixup.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMAbstractView.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMAttr.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMBarProp.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCDATASection.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCharacterData.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMComment.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCounter.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSPrimitiveValue.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSRule.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSRuleList.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSStyleDeclaration.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSStyleSheet.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSValue.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocument.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentEvent.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentFragment.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentRange.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentStyle.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentType.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentView.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDOMImplementation.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDOMStringList.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMElement.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEntityReference.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEvent.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEventListener.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEventTarget.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLBodyElement.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLCollection.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLDocument.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLElement.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLStyleElement.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMKeyEvent.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMMediaList.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMMouseEvent.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNamedNodeMap.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNode.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNodeList.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNSHTMLElement.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNSRange.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMProcessingInstruction.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRange.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRect.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRGBColor.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMStyleSheet.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMStyleSheetList.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMText.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMUIEvent.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMViewCSS.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMWindow.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIDOMWindowCollection.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIErrorService.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIFile.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIHistoryEntry.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIInputStream.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIInterfaceRequestor.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIIOService.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsILoadGroup.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIObserver.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIOutputStream.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIPersistentProperties.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIPrefBranch.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIPrefService.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIProperties.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIProtocolHandler.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIRequest.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIRequestObserver.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsISelection.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIServiceManager.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsISHistory.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsISHistoryListener.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsISimpleEnumerator.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIStreamListener.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsITimer.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsITimerCallback.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIURI.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIURIContentListener.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWeakReference.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowser.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserChrome.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserChromeFocus.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserFocus.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserPersist.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserStream.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebNavigation.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebProgress.cs" />\r
-    <Compile Include="Mono.Mozilla\interfaces\nsIWebProgressListener.cs" />\r
-    <Compile Include="Mono.Mozilla\UniString.cs" />\r
-    <Compile Include="Mono.Mozilla\WebBrowser.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\EventArgs.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\EventHandlers.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IAttribute.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IAttributeCollection.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IDocument.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IDocumentType.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IDOMImplementation.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IElement.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IElementCollection.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IHistory.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IMediaList.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\INamedNodeMap.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\INavigation.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\INode.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\INodeList.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IStylesheet.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IStylesheetList.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IWindow.cs" />\r
-    <Compile Include="Mono.WebBrowser\DOM\IWindowCollection.cs" />\r
-    <Compile Include="Mono.WebBrowser\Exception.cs" />\r
-    <Compile Include="Mono.WebBrowser\IWebBrowser.cs" />\r
-    <Compile Include="Mono.WebBrowser\Manager.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj
deleted file mode 100644 (file)
index 5678ab0..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8C54606D-305D-45B0-9932-380FE021BEFE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.XBuild.Tasks</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
-    <Compile Include="Mono.XBuild.Tasks\PcFileCache.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 91af433..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{FBD61913-57C0-46E2-98D6-230F1953E28F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Mono.XBuild.Tasks-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Mono.XBuild.Tasks_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.XBuild.Tasks\PcFileCacheTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0.csproj">\r
-      <Project>{8C54606D-305D-45B0-9932-380FE021BEFE}</Project>\r
-      <Name>Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_2_0.csproj b/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_2_0.csproj
deleted file mode 100644 (file)
index c806cfc..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{30C57C43-3A84-4E9F-A889-53CAE3C634C4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,612</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Novell.Directory.Ldap</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,612</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,612</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs.in" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Boolean.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Choice.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Decoder.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Encoder.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Enumerated.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Identifier.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Integer.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Length.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Null.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Numeric.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Object.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1OctetString.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Sequence.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1SequenceOf.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Set.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1SetOf.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Structured.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Tagged.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\LBERDecoder.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Asn1\LBEREncoder.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapEntryChangeControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapPersistSearchControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortKey.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapVirtualListControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Controls\LdapVirtualListResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\BaseEdirEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\BinderyObjectEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ChangeAddressEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ConnectionStateEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DebugEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DebugParameter.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DSETimeStamp.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\EntryEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\GeneralDSEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ModuleStateEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\NetworkAddressEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ReferralAddress.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\SecurityEquivalenceEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ValueEventData.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventIntermediateResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventSource.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventSpecifier.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\MonitorEventRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events.Edir\MonitorEventResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\BaseEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\DirectoryEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\DirectoryExceptionEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\LdapEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\LdapEventConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\LdapEventSource.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\PSearchEventSource.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\SearchReferralEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Events\SearchResultEventArgs.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\AbortPartitionOperationRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\AddReplicaRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\BackupRestoreConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\ChangeReplicaTypeRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetBindDNRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetBindDNResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetEffectivePrivilegesRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetEffectivePrivilegesResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicaInfoRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicaInfoResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicationFilterRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicationFilterResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\LdapBackupRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\LdapBackupResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\LdapRestoreRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\ListReplicasRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\ListReplicasResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\MergePartitionsRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\NamingContextConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionEntryCountRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionEntryCountResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionSyncRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\ReceiveAllUpdatesRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\RefreshLdapServerRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\RemoveOrphanPartitionRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\RemoveReplicaRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\ReplicationConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\SchemaSyncRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\SendAllUpdatesRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\SetReplicationFilterRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\SplitOrphanPartitionRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\SplitPartitionRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Extensions\TriggerBackgroundProcessRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAbandonRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAddRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAddResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAssertionValue.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeDescription.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeDescriptionList.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeList.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeTypeAndValues.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeValue.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeValueAssertion.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAuthenticationChoice.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcBindRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcBindResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcCompareRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcCompareResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcControls.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcDelRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcDelResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcExtendedRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcExtendedResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcFilter.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcIntermediateResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapDN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapMessage.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapOID.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapResult.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapString.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapSuperDN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMatchingRuleAssertion.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMatchingRuleId.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMessageID.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyDNRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyDNResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcReferral.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcRelativeLdapDN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSaslCredentials.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultDone.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultEntry.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultReference.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSubstringFilter.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcUnbindRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ArrayEnumeration.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\AttributeQualifier.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\Base64.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\BindProperties.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\CharacterTypes.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\DN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\EnumeratedIterator.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ExceptionMessages.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ExtResponseFactory.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\IntermediateResponseFactory.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\RDN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ReferralInfo.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ResourcesHandler.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\RespControlVector.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\RespExtensionSet.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\ResultCodeMessages.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\SchemaParser.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\SchemaTokenCreator.cs" />\r
-    <Compile Include="Novell.Directory.Ldap.Utilclass\TokenTypes.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\AssemblyInfo.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\AuthenticationTypes.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\Connection.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\InterThreadException.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAbandonRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAddRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAttribute.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAttributeSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAttributeSet.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAuthHandler.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapAuthProvider.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapBindHandler.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapBindRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapCompareAttrNames.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapCompareRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapConnection.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapConstraints.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapControl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapDeleteRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapDITContentRuleSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapDITStructureRuleSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapDN.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapDSConstants.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapEntry.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapException.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapExtendedOperation.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapExtendedRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapExtendedResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapIntermediateResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapLocalException.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapMatchingRuleSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapMatchingRuleUseSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapMessage.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapMessageQueue.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapModification.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapModifyDNRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapModifyRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapNameFormSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapObjectClassSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapReferralException.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapReferralHandler.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapResponse.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapResponseQueue.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSchemaElement.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchConstraints.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchQueue.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchResult.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchResultReference.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSearchResults.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapSyntaxSchema.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapUnbindRequest.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapUnsolicitedNotificationListener.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\LdapUrl.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\Message.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\MessageAgent.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\MessageVector.cs" />\r
-    <Compile Include="Novell.Directory.Ldap\SupportClass.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources">\r
-      <LogicalName>ResultCodeMessages.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-tests-net_2_0.csproj b/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 5cccc52..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C0155A06-C828-42B0-96FC-A2F306B4CBD4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\Novell.Directory.Ldap-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Novell.Directory.Ldap_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\bug-436775_Test.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0.csproj">\r
-      <Project>{30C57C43-3A84-4E9F-A889-53CAE3C634C4}</Project>\r
-      <Name>Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Npgsql/Npgsql-net_2_0.csproj b/mcs/class/Npgsql/Npgsql-net_2_0.csproj
deleted file mode 100644 (file)
index 8316277..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{13268A15-2B77-416C-B815-B0AF1848580E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Npgsql</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Npgsql\AssemblyInfo.cs" />\r
-    <Compile Include="Npgsql\HashAlgorithm.cs" />\r
-    <Compile Include="Npgsql\MD5.cs" />\r
-    <Compile Include="Npgsql\MD5CryptoServiceProvider.cs" />\r
-    <Compile Include="Npgsql\NpgsqlAsciiRow.cs" />\r
-    <Compile Include="Npgsql\NpgsqlBackEndKeyData.cs" />\r
-    <Compile Include="Npgsql\NpgsqlBinaryRow.cs" />\r
-    <Compile Include="Npgsql\NpgsqlBind.cs" />\r
-    <Compile Include="Npgsql\NpgsqlCancelRequest.cs" />\r
-    <Compile Include="Npgsql\NpgsqlClosedState.cs" />\r
-    <Compile Include="Npgsql\NpgsqlCommand.cs" />\r
-    <Compile Include="Npgsql\NpgsqlCommandBuilder.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnectedState.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnection.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnectionString.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnectionStringBuilder.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnector.cs" />\r
-    <Compile Include="Npgsql\NpgsqlConnectorPool.cs" />\r
-    <Compile Include="Npgsql\NpgsqlDataAdapter.cs" />\r
-    <Compile Include="Npgsql\NpgsqlDataReader.cs" />\r
-    <Compile Include="Npgsql\NpgsqlDescribe.cs" />\r
-    <Compile Include="Npgsql\NpgsqlError.cs" />\r
-    <Compile Include="Npgsql\NpgsqlEventLog.cs" />\r
-    <Compile Include="Npgsql\NpgsqlException.cs" />\r
-    <Compile Include="Npgsql\NpgsqlExecute.cs" />\r
-    <Compile Include="Npgsql\NpgsqlFactory.cs" />\r
-    <Compile Include="Npgsql\NpgsqlFlush.cs" />\r
-    <Compile Include="Npgsql\NpgsqlMediator.cs" />\r
-    <Compile Include="Npgsql\NpgsqlMessageTypes.cs" />\r
-    <Compile Include="Npgsql\NpgsqlNotificationEventArgs.cs" />\r
-    <Compile Include="Npgsql\NpgsqlParameter.cs" />\r
-    <Compile Include="Npgsql\NpgsqlParameterCollection.cs" />\r
-    <Compile Include="Npgsql\NpgsqlParameterStatus.cs" />\r
-    <Compile Include="Npgsql\NpgsqlParse.cs" />\r
-    <Compile Include="Npgsql\NpgsqlPasswordPacket.cs" />\r
-    <Compile Include="Npgsql\NpgsqlQuery.cs" />\r
-    <Compile Include="Npgsql\NpgsqlReadyState.cs" />\r
-    <Compile Include="Npgsql\NpgsqlResultSet.cs" />\r
-    <Compile Include="Npgsql\NpgsqlRow.cs" />\r
-    <Compile Include="Npgsql\NpgsqlRowDescription.cs" />\r
-    <Compile Include="Npgsql\NpgsqlSchema.cs" />\r
-    <Compile Include="Npgsql\NpgsqlStartupPacket.cs" />\r
-    <Compile Include="Npgsql\NpgsqlStartupState.cs" />\r
-    <Compile Include="Npgsql\NpgsqlState.cs" />\r
-    <Compile Include="Npgsql\NpgsqlSync.cs" />\r
-    <Compile Include="Npgsql\NpgsqlTransaction.cs" />\r
-    <Compile Include="Npgsql\PGUtil.cs" />\r
-    <Compile Include="NpgsqlTypes\FastPath.cs" />\r
-    <Compile Include="NpgsqlTypes\FastPathArg.cs" />\r
-    <Compile Include="NpgsqlTypes\LargeObject.cs" />\r
-    <Compile Include="NpgsqlTypes\LargeObjectManager.cs" />\r
-    <Compile Include="NpgsqlTypes\NpgsqlDbType.cs" />\r
-    <Compile Include="NpgsqlTypes\NpgsqlTypeConverters.cs" />\r
-    <Compile Include="NpgsqlTypes\NpgsqlTypes.cs" />\r
-    <Compile Include="NpgsqlTypes\NpgsqlTypesHelper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlState.resources">\r
-      <LogicalName>Npgsql.NpgsqlState.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlClosedState.resources">\r
-      <LogicalName>Npgsql.NpgsqlClosedState.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlParameterCollection.resources">\r
-      <LogicalName>Npgsql.NpgsqlParameterCollection.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlParameter.resources">\r
-      <LogicalName>Npgsql.NpgsqlParameter.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlCommand.resources">\r
-      <LogicalName>Npgsql.NpgsqlCommand.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlCommandBuilder.resources">\r
-      <LogicalName>Npgsql.NpgsqlCommandBuilder.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlConnectedState.resources">\r
-      <LogicalName>Npgsql.NpgsqlConnectedState.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlConnection.resources">\r
-      <LogicalName>Npgsql.NpgsqlConnection.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlReadyState.resources">\r
-      <LogicalName>Npgsql.NpgsqlReadyState.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlTransaction.resources">\r
-      <LogicalName>Npgsql.NpgsqlTransaction.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlEventLog.resources">\r
-      <LogicalName>Npgsql.NpgsqlEventLog.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlException.resources">\r
-      <LogicalName>Npgsql.NpgsqlException.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/PGUtil.resources">\r
-      <LogicalName>Npgsql.PGUtil.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Npgsql/NpgsqlConnectionString.resources">\r
-      <LogicalName>Npgsql.NpgsqlConnectionString.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="NpgsqlTypes/NpgsqlTypesHelper.resources">\r
-      <LogicalName>NpgsqlTypes.NpgsqlTypesHelper.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/Npgsql/Npgsql-tests-net_2_0.csproj b/mcs/class/Npgsql/Npgsql-tests-net_2_0.csproj
deleted file mode 100644 (file)
index fbb242e..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2B752480-031B-4781-91D0-0250D4B9F372}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\Npgsql-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>Npgsql_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\CommandTests.cs" />\r
-    <Compile Include="Test\ConnectionTests.cs" />\r
-    <Compile Include="Test\DataAdapterTests.cs" />\r
-    <Compile Include="Test\DataReaderTests.cs" />\r
-    <Compile Include="Test\TestConfiguration.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Npgsql\Npgsql-net_2_0.csproj">\r
-      <Project>{13268A15-2B77-416C-B815-B0AF1848580E}</Project>\r
-      <Name>Npgsql\Npgsql-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/PEAPI/PEAPI-net_2_0.csproj b/mcs/class/PEAPI/PEAPI-net_2_0.csproj
deleted file mode 100644 (file)
index 22a4588..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{49C972D3-309D-4B4E-AEB7-01030E473870}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,414,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>PEAPI</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,414,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,414,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Code.cs" />\r
-    <Compile Include="Metadata.cs" />\r
-    <Compile Include="PEAPI.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_2_0.csproj b/mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_2_0.csproj
deleted file mode 100644 (file)
index 002f0f5..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{B0FB491D-9EEC-47DC-B7D0-1D6B58F726AC}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>RabbitMQ.Client.Apigen</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\client\api\AmqpTimestamp.cs" />\r
-    <Compile Include="..\client\api\IBasicConsumer.cs" />\r
-    <Compile Include="..\client\api\IBasicProperties.cs" />\r
-    <Compile Include="..\client\api\IContentHeader.cs" />\r
-    <Compile Include="..\client\api\IFileProperties.cs" />\r
-    <Compile Include="..\client\api\IModel.cs" />\r
-    <Compile Include="..\client\api\IStreamProperties.cs" />\r
-    <Compile Include="..\client\api\PublicationAddress.cs" />\r
-    <Compile Include="..\client\api\ShutdownEventArgs.cs" />\r
-    <Compile Include="..\client\api\ShutdownInitiator.cs" />\r
-    <Compile Include="..\client\events\BasicReturnEventArgs.cs" />\r
-    <Compile Include="..\client\events\BasicReturnEventHandler.cs" />\r
-    <Compile Include="..\client\events\CallbackExceptionEventArgs.cs" />\r
-    <Compile Include="..\client\events\CallbackExceptionEventHandler.cs" />\r
-    <Compile Include="..\client\events\ModelShutdownEventHandler.cs" />\r
-    <Compile Include="AmqpClass.cs" />\r
-    <Compile Include="AmqpEntity.cs" />\r
-    <Compile Include="AmqpField.cs" />\r
-    <Compile Include="AmqpMethod.cs" />\r
-    <Compile Include="Apigen.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_2_0.csproj b/mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_2_0.csproj
deleted file mode 100644 (file)
index 099fd16..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{962E924C-777A-42E1-B7AC-823BFA34D22C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>RabbitMQ.Client</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\docs\specs\net_2_0-api-0-8.cs" />\r
-    <Compile Include="..\..\docs\specs\net_2_0-api-0-9.cs" />\r
-    <Compile Include="..\..\docs\specs\net_2_0-api-qpid-0-8.cs" />\r
-    <Compile Include="..\util\BlockingCell.cs" />\r
-    <Compile Include="..\util\DebugUtil.cs" />\r
-    <Compile Include="..\util\Either.cs" />\r
-    <Compile Include="..\util\IntAllocator.cs" />\r
-    <Compile Include="..\util\NetworkBinaryReader.cs" />\r
-    <Compile Include="..\util\NetworkBinaryWriter.cs" />\r
-    <Compile Include="..\util\Semaphore.cs" />\r
-    <Compile Include="..\util\SharedQueue.cs" />\r
-    <Compile Include="..\util\XmlUtil.cs" />\r
-    <Compile Include=".\api\AmqpTcpEndpoint.cs" />\r
-    <Compile Include=".\api\AmqpTimestamp.cs" />\r
-    <Compile Include=".\api\AmqpVersion.cs" />\r
-    <Compile Include=".\api\BinaryTableValue.cs" />\r
-    <Compile Include=".\api\ConnectionFactory.cs" />\r
-    <Compile Include=".\api\DefaultBasicConsumer.cs" />\r
-    <Compile Include=".\api\ExchangeType.cs" />\r
-    <Compile Include=".\api\IBasicConsumer.cs" />\r
-    <Compile Include=".\api\IBasicProperties.cs" />\r
-    <Compile Include=".\api\IConnection.cs" />\r
-    <Compile Include=".\api\IContentHeader.cs" />\r
-    <Compile Include=".\api\IFileProperties.cs" />\r
-    <Compile Include=".\api\IMethod.cs" />\r
-    <Compile Include=".\api\IModel.cs" />\r
-    <Compile Include=".\api\IProtocol.cs" />\r
-    <Compile Include=".\api\IStreamProperties.cs" />\r
-    <Compile Include=".\api\Protocols.cs" />\r
-    <Compile Include=".\api\PublicationAddress.cs" />\r
-    <Compile Include=".\api\QueueingBasicConsumer.cs" />\r
-    <Compile Include=".\api\ShutdownEventArgs.cs" />\r
-    <Compile Include=".\api\ShutdownInitiator.cs" />\r
-    <Compile Include=".\api\ShutdownReportEntry.cs" />\r
-    <Compile Include=".\api\SslHelper.cs" />\r
-    <Compile Include=".\api\SslOption.cs" />\r
-    <Compile Include=".\AssemblyInfo.cs" />\r
-    <Compile Include=".\content\BasicMessageBuilder.cs" />\r
-    <Compile Include=".\content\BasicMessageReader.cs" />\r
-    <Compile Include=".\content\BytesMessageBuilder.cs" />\r
-    <Compile Include=".\content\BytesMessageReader.cs" />\r
-    <Compile Include=".\content\BytesWireFormatting.cs" />\r
-    <Compile Include=".\content\IBytesMessageBuilder.cs" />\r
-    <Compile Include=".\content\IBytesMessageReader.cs" />\r
-    <Compile Include=".\content\IMapMessageBuilder.cs" />\r
-    <Compile Include=".\content\IMapMessageReader.cs" />\r
-    <Compile Include=".\content\IMessageBuilder.cs" />\r
-    <Compile Include=".\content\IMessageReader.cs" />\r
-    <Compile Include=".\content\IStreamMessageBuilder.cs" />\r
-    <Compile Include=".\content\IStreamMessageReader.cs" />\r
-    <Compile Include=".\content\MapMessageBuilder.cs" />\r
-    <Compile Include=".\content\MapMessageReader.cs" />\r
-    <Compile Include=".\content\MapWireFormatting.cs" />\r
-    <Compile Include=".\content\PrimitiveParser.cs" />\r
-    <Compile Include=".\content\StreamMessageBuilder.cs" />\r
-    <Compile Include=".\content\StreamMessageReader.cs" />\r
-    <Compile Include=".\content\StreamWireFormatting.cs" />\r
-    <Compile Include=".\events\BasicDeliverEventArgs.cs" />\r
-    <Compile Include=".\events\BasicDeliverEventHandler.cs" />\r
-    <Compile Include=".\events\BasicReturnEventArgs.cs" />\r
-    <Compile Include=".\events\BasicReturnEventHandler.cs" />\r
-    <Compile Include=".\events\CallbackExceptionEventArgs.cs" />\r
-    <Compile Include=".\events\CallbackExceptionEventHandler.cs" />\r
-    <Compile Include=".\events\ConnectionShutdownEventHandler.cs" />\r
-    <Compile Include=".\events\ConsumerEventArgs.cs" />\r
-    <Compile Include=".\events\ConsumerEventHandler.cs" />\r
-    <Compile Include=".\events\ConsumerShutdownEventHandler.cs" />\r
-    <Compile Include=".\events\EventingBasicConsumer.cs" />\r
-    <Compile Include=".\events\ModelShutdownEventHandler.cs" />\r
-    <Compile Include=".\exceptions\AlreadyClosedException.cs" />\r
-    <Compile Include=".\exceptions\BrokerUnreachableException.cs" />\r
-    <Compile Include=".\exceptions\ChannelAllocationException.cs" />\r
-    <Compile Include=".\exceptions\OperationInterruptedException.cs" />\r
-    <Compile Include=".\exceptions\PacketNotRecognizedException.cs" />\r
-    <Compile Include=".\exceptions\PossibleAuthenticationFailureException.cs" />\r
-    <Compile Include=".\exceptions\ProtocolVersionMismatchException.cs" />\r
-    <Compile Include=".\exceptions\UnexpectedMethodException.cs" />\r
-    <Compile Include=".\exceptions\UnsupportedMethodException.cs" />\r
-    <Compile Include=".\exceptions\UnsupportedMethodFieldException.cs" />\r
-    <Compile Include=".\exceptions\WireFormattingException.cs" />\r
-    <Compile Include=".\impl\AbstractProtocolBase.cs" />\r
-    <Compile Include=".\impl\BasicProperties.cs" />\r
-    <Compile Include=".\impl\ChannelErrorException.cs" />\r
-    <Compile Include=".\impl\Command.cs" />\r
-    <Compile Include=".\impl\CommandAssembler.cs" />\r
-    <Compile Include=".\impl\ConnectionBase.cs" />\r
-    <Compile Include=".\impl\ConnectionStartDetails.cs" />\r
-    <Compile Include=".\impl\ContentHeaderBase.cs" />\r
-    <Compile Include=".\impl\ContentHeaderPropertyReader.cs" />\r
-    <Compile Include=".\impl\ContentHeaderPropertyWriter.cs" />\r
-    <Compile Include=".\impl\FileProperties.cs" />\r
-    <Compile Include=".\impl\Frame.cs" />\r
-    <Compile Include=".\impl\HardProtocolException.cs" />\r
-    <Compile Include=".\impl\IFrameHandler.cs" />\r
-    <Compile Include=".\impl\IRpcContinuation.cs" />\r
-    <Compile Include=".\impl\ISession.cs" />\r
-    <Compile Include=".\impl\MainSession.cs" />\r
-    <Compile Include=".\impl\MalformedFrameException.cs" />\r
-    <Compile Include=".\impl\MethodArgumentReader.cs" />\r
-    <Compile Include=".\impl\MethodArgumentWriter.cs" />\r
-    <Compile Include=".\impl\MethodBase.cs" />\r
-    <Compile Include=".\impl\ModelBase.cs" />\r
-    <Compile Include=".\impl\ProtocolException.cs" />\r
-    <Compile Include=".\impl\QuiescingSession.cs" />\r
-    <Compile Include=".\impl\RedirectException.cs" />\r
-    <Compile Include=".\impl\RpcContinuationQueue.cs" />\r
-    <Compile Include=".\impl\Session.cs" />\r
-    <Compile Include=".\impl\SessionBase.cs" />\r
-    <Compile Include=".\impl\SessionManager.cs" />\r
-    <Compile Include=".\impl\ShutdownContinuation.cs" />\r
-    <Compile Include=".\impl\SimpleBlockingRpcContinuation.cs" />\r
-    <Compile Include=".\impl\SocketFrameHandler_0_9.cs" />\r
-    <Compile Include=".\impl\SoftProtocolException.cs" />\r
-    <Compile Include=".\impl\StreamProperties.cs" />\r
-    <Compile Include=".\impl\SyntaxError.cs" />\r
-    <Compile Include=".\impl\UnexpectedFrameException.cs" />\r
-    <Compile Include=".\impl\UnknownClassOrMethodException.cs" />\r
-    <Compile Include=".\impl\v0_8\Connection.cs" />\r
-    <Compile Include=".\impl\v0_8\ProtocolBase.cs" />\r
-    <Compile Include=".\impl\v0_8qpid\Connection.cs" />\r
-    <Compile Include=".\impl\v0_8qpid\ProtocolBase.cs" />\r
-    <Compile Include=".\impl\v0_9\Connection.cs" />\r
-    <Compile Include=".\impl\v0_9\ProtocolBase.cs" />\r
-    <Compile Include=".\impl\WireFormatting.cs" />\r
-    <Compile Include=".\messagepatterns\SimpleRpcClient.cs" />\r
-    <Compile Include=".\messagepatterns\SimpleRpcServer.cs" />\r
-    <Compile Include=".\messagepatterns\Subscription.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/DataAnnotationsResources.cs b/mcs/class/System.ComponentModel.DataAnnotations/DataAnnotationsResources.cs
new file mode 100644 (file)
index 0000000..5ff50e1
--- /dev/null
@@ -0,0 +1,59 @@
+namespace System.ComponentModel.DataAnnotations.Resources
+{
+static class DataAnnotationsResources
+{
+       public const string ArgumentIsNullOrWhitespace = "ArgumentIsNullOrWhitespace";
+       public const string AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties = "AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties";
+       public const string AttributeStore_Unknown_Property = "AttributeStore_Unknown_Property";
+       public const string Common_PropertyNotFound = "Common_PropertyNotFound";
+       public const string CompareAttribute_MustMatch = "CompareAttribute_MustMatch";
+       public const string CompareAttribute_UnknownProperty = "CompareAttribute_UnknownProperty";
+       public const string CreditCardAttribute_Invalid = "CreditCardAttribute_Invalid";
+       public const string CustomValidationAttribute_Method_Must_Return_ValidationResult = "CustomValidationAttribute_Method_Must_Return_ValidationResult";
+       public const string CustomValidationAttribute_Method_Not_Found = "CustomValidationAttribute_Method_Not_Found";
+       public const string CustomValidationAttribute_Method_Required = "CustomValidationAttribute_Method_Required";
+       public const string CustomValidationAttribute_Method_Signature = "CustomValidationAttribute_Method_Signature";
+       public const string CustomValidationAttribute_Type_Conversion_Failed = "CustomValidationAttribute_Type_Conversion_Failed";
+       public const string CustomValidationAttribute_Type_Must_Be_Public = "CustomValidationAttribute_Type_Must_Be_Public";
+       public const string CustomValidationAttribute_ValidationError = "{0} is not valid.";
+       public const string CustomValidationAttribute_ValidatorType_Required = "CustomValidationAttribute_ValidatorType_Required";
+       public const string DataTypeAttribute_EmptyDataTypeString = "DataTypeAttribute_EmptyDataTypeString";
+       public const string DisplayAttribute_PropertyNotSet = "The {0} property has not been set.  Use the {1} method to get the value.";
+       public const string EmailAddressAttribute_Invalid = "EmailAddressAttribute_Invalid";
+       public const string EnumDataTypeAttribute_TypeCannotBeNull = "EnumDataTypeAttribute_TypeCannotBeNull";
+       public const string EnumDataTypeAttribute_TypeNeedsToBeAnEnum = "EnumDataTypeAttribute_TypeNeedsToBeAnEnum";
+       public const string FileExtensionsAttribute_Invalid = "FileExtensionsAttribute_Invalid";
+       public const string LocalizableString_LocalizationFailed = "Cannot retrieve property '{0}' because localization failed. Type '{1}' is not public or does not contain a public static string property with the name '{2}'.";
+       public const string MaxLengthAttribute_InvalidMaxLength = "MaxLengthAttribute_InvalidMaxLength";
+       public const string MaxLengthAttribute_ValidationError = "MaxLengthAttribute_ValidationError";
+       public const string MetadataTypeAttribute_TypeCannotBeNull = "MetadataTypeAttribute_TypeCannotBeNull";
+       public const string MinLengthAttribute_InvalidMinLength = "MinLengthAttribute_InvalidMinLength";
+       public const string MinLengthAttribute_ValidationError = "MinLengthAttribute_ValidationError";
+       public const string PhoneAttribute_Invalid = "PhoneAttribute_Invalid";
+       public const string RangeAttribute_ArbitraryTypeNotIComparable = "RangeAttribute_ArbitraryTypeNotIComparable";
+       public const string RangeAttribute_MinGreaterThanMax = "RangeAttribute_MinGreaterThanMax";
+       public const string RangeAttribute_Must_Set_Min_And_Max = "RangeAttribute_Must_Set_Min_And_Max";
+       public const string RangeAttribute_Must_Set_Operand_Type = "RangeAttribute_Must_Set_Operand_Type";
+       public const string RangeAttribute_ValidationError = "The field {0} must be between {1} and {2}.";
+       public const string RegexAttribute_ValidationError = "The field {0} must match the regular expression {1}.";
+       public const string RegularExpressionAttribute_Empty_Pattern = "The pattern must be set to a valid regular expression.";
+       public const string RequiredAttribute_ValidationError = "RequiredAttribute_ValidationError";
+       public const string StringLengthAttribute_InvalidMaxLength = "StringLengthAttribute_InvalidMaxLength";
+       public const string StringLengthAttribute_ValidationError = "The field {0} must be a string with a maximum length of {1}.";
+       public const string StringLengthAttribute_ValidationErrorIncludingMinimum = "StringLengthAttribute_ValidationErrorIncludingMinimum";
+       public const string UIHintImplementation_ControlParameterKeyIsNotAString = "UIHintImplementation_ControlParameterKeyIsNotAString";
+       public const string UIHintImplementation_ControlParameterKeyIsNull = "UIHintImplementation_ControlParameterKeyIsNull";
+       public const string UIHintImplementation_ControlParameterKeyOccursMoreThanOnce = "UIHintImplementation_ControlParameterKeyOccursMoreThanOnce";
+       public const string UIHintImplementation_NeedEvenNumberOfControlParameters = "UIHintImplementation_NeedEvenNumberOfControlParameters";
+       public const string UrlAttribute_Invalid = "UrlAttribute_Invalid";
+       public const string ValidationAttribute_Cannot_Set_ErrorMessage_And_Resource = "ValidationAttribute_Cannot_Set_ErrorMessage_And_Resource";
+       public const string ValidationAttribute_IsValid_NotImplemented = "ValidationAttribute_IsValid_NotImplemented";
+       public const string ValidationAttribute_NeedBothResourceTypeAndResourceName = "ValidationAttribute_NeedBothResourceTypeAndResourceName";
+       public const string ValidationAttribute_ResourcePropertyNotStringType = "ValidationAttribute_ResourcePropertyNotStringType";
+       public const string ValidationAttribute_ResourceTypeDoesNotHaveProperty = "ValidationAttribute_ResourceTypeDoesNotHaveProperty";
+       public const string ValidationAttribute_ValidationError = "The field {0} is invalid.";
+       public const string ValidationContextServiceContainer_ItemAlreadyExists = "ValidationContextServiceContainer_ItemAlreadyExists";
+       public const string Validator_InstanceMustMatchValidationContextInstance = "Validator_InstanceMustMatchValidationContextInstance";
+       public const string Validator_Property_Value_Wrong_Type = "Validator_Property_Value_Wrong_Type";
+}
+}
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_2_0.csproj b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_2_0.csproj
deleted file mode 100644 (file)
index 004785c..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F3112064-6311-48A9-992B-A68DD3C62133}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ComponentModel.DataAnnotations</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\AssociatedMetadataTypePropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\AssociatedMetadataTypeTypeDescriptionProvider.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\AssociatedMetadataTypeTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\AssociationAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ConcurrencyCheckAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ControlParameters.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\CustomValidationAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\DataType.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\DataTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\DisplayAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\DisplayColumnAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\DisplayFormatAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\EditableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\EnumDataTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\IValidatableObject.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\MetadataTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\RangeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\RegularExpressionAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\RequiredAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ScaffoldColumnAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ScaffoldTableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\StringLengthAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\UIHintAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ValidationAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.DataAnnotations\ValidationException.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-tests-net_2_0.csproj b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 6d9dde4..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{AE2FDFD3-791C-4B7F-AC47-46926705614B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.ComponentModel.DataAnnotations-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ComponentModel.DataAnnotations_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web.DynamicData\Test\Common\AssertExtensions.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\AssociatedMetadataTypeTypeDescriptionProviderTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\AssociationAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\CompareAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\CreditCardAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\CustomValidationAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\DisplayAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\EmailAddressAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\EnumDataTypeAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\FileExtensionsAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\FilterUIHintAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\PhoneAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\RangeAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\RegularExpressionAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\RequiredAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\StringLengthAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\UIHintAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\ValidationAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\ValidationContextTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\ValidationResultTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.DataAnnotations\ValidatorTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0.csproj">\r
-      <Project>{F3112064-6311-48A9-992B-A68DD3C62133}</Project>\r
-      <Name>System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ColumnAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ColumnAttribute.cs
deleted file mode 100644 (file)
index c015d65..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// ColumnAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
-       public class ColumnAttribute : Attribute
-       {
-               public ColumnAttribute ()
-               {
-               }
-               
-               public ColumnAttribute (string name)
-               {
-                       Name = name;
-               }
-               
-               public string Name { get; private set; }
-               
-               public int Order { get; set; }
-               
-               public string TypeName { get; set; }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ComplexTypeAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ComplexTypeAttribute.cs
deleted file mode 100644 (file)
index a3796e0..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// ComplexTypeAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Class, AllowMultiple = false)]
-       public class ComplexTypeAttribute : Attribute
-       {
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedAttribute.cs
deleted file mode 100644 (file)
index ad3cdab..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// DatabaseGeneratedAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
-       public class DatabaseGeneratedAttribute : Attribute
-       {
-               public DatabaseGeneratedAttribute (DatabaseGeneratedOption databaseGeneratedOption)
-               {
-                       DatabaseGeneratedOption = databaseGeneratedOption;
-               }
-
-               public DatabaseGeneratedOption DatabaseGeneratedOption { get; private set; }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedOption.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedOption.cs
deleted file mode 100644 (file)
index 051c606..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// DatabaseGeneratedOption.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       public enum DatabaseGeneratedOption
-       {
-               None,
-               Identity,
-               Computed
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ForeignKeyAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/ForeignKeyAttribute.cs
deleted file mode 100644 (file)
index 9a3d008..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// ForeignKeyAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
-       public class ForeignKeyAttribute : Attribute
-       {
-               public ForeignKeyAttribute (string name)
-               {
-                       Name = name;
-               }
-               
-               public string Name { get; private set; }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/InversePropertyAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/InversePropertyAttribute.cs
deleted file mode 100644 (file)
index 155a3b9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// InversePropertyAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
-       public class InversePropertyAttribute : Attribute
-       {
-               public InversePropertyAttribute (string property)
-               {
-                       Property = property;
-               }
-               
-               public string Property { get; private set; }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/NotMappedAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/NotMappedAttribute.cs
deleted file mode 100644 (file)
index 5d66ccc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// NotMappedAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute (AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
-       public class NotMappedAttribute : Attribute
-       {
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/TableAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations.Schema/TableAttribute.cs
deleted file mode 100644 (file)
index 65f7912..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// TableAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations.Schema
-{
-       [AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = false)]
-       public class TableAttribute : Attribute
-       {
-               public TableAttribute (string name)
-               {
-                       Name = name;
-               }
-               
-               public string Name { get; private set; }
-               
-               public string Schema { get; set; }
-       }
-}
-
-#endif
\ No newline at end of file
index 7fdb746ad048ce544386d8535fa02fb8d11ea50f..df43b5ed4b0ea1c6086e902041c4ebaa903608b2 100644 (file)
@@ -2,29 +2,52 @@
 ../../build/common/Locale.cs
 ../../build/common/MonoTODOAttribute.cs
 Assembly/AssemblyInfo.cs
-System.ComponentModel.DataAnnotations/AssociatedMetadataTypePropertyDescriptor.cs
-System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptor.cs
-System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptionProvider.cs
-System.ComponentModel.DataAnnotations/AssociationAttribute.cs
-System.ComponentModel.DataAnnotations/ControlParameters.cs
-System.ComponentModel.DataAnnotations/ConcurrencyCheckAttribute.cs
-System.ComponentModel.DataAnnotations/CustomValidationAttribute.cs
-System.ComponentModel.DataAnnotations/DataType.cs
-System.ComponentModel.DataAnnotations/DataTypeAttribute.cs
-System.ComponentModel.DataAnnotations/DisplayAttribute.cs
-System.ComponentModel.DataAnnotations/DisplayColumnAttribute.cs
-System.ComponentModel.DataAnnotations/DisplayFormatAttribute.cs
-System.ComponentModel.DataAnnotations/EditableAttribute.cs
-System.ComponentModel.DataAnnotations/EnumDataTypeAttribute.cs
-System.ComponentModel.DataAnnotations/IValidatableObject.cs
-System.ComponentModel.DataAnnotations/MetadataTypeAttribute.cs
-System.ComponentModel.DataAnnotations/RangeAttribute.cs
-System.ComponentModel.DataAnnotations/RegularExpressionAttribute.cs
-System.ComponentModel.DataAnnotations/RequiredAttribute.cs
-System.ComponentModel.DataAnnotations/ScaffoldColumnAttribute.cs
-System.ComponentModel.DataAnnotations/ScaffoldTableAttribute.cs
-System.ComponentModel.DataAnnotations/StringLengthAttribute.cs
-System.ComponentModel.DataAnnotations/UIHintAttribute.cs
-System.ComponentModel.DataAnnotations/UrlAttribute.cs
-System.ComponentModel.DataAnnotations/ValidationAttribute.cs
-System.ComponentModel.DataAnnotations/ValidationException.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/AssociatedMetadataTypeTypeDescriptionProvider.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/AssociatedMetadataTypeTypeDescriptor.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/AssociationAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/BindableTypeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/CompareAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ConcurrencyCheckAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/CreditCardAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/CustomValidationAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/DataType.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/DataTypeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/DisplayAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/DisplayColumnAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/DisplayFormatAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/EditableAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/EmailAddressAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/EnumDataTypeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/FileExtensionsAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/FilterUIHintAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/IValidatableObject.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/KeyAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/LocalizableString.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/MaxLengthAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/MetadataPropertyDescriptorWrapper.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/MetadataTypeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/MinLengthAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/PhoneAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/RangeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/RegularExpressionAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/RequiredAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ScaffoldAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/ColumnAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/ComplexTypeAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/DatabaseGeneratedAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/DatabaseGeneratedOption.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/ForeignKeyAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/InversePropertyAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/NotMappedAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Schema/TableAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/StringLengthAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/TimestampAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/UIHintAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/UrlAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ValidationAttribute.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ValidationAttributeStore.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ValidationContext.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ValidationException.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/ValidationResult.cs
+../../../external/referencesource/System.ComponentModel.DataAnnotations/DataAnnotations/Validator.cs
+DataAnnotationsResources.cs
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypePropertyDescriptor.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypePropertyDescriptor.cs
deleted file mode 100644 (file)
index 2c1b013..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// AssociatedMetadataTypeTypeDescriptionProvider.cs
-//
-// Author:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if !MOBILE
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Reflection;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       class AssociatedMetadataTypePropertyDescriptor : ReflectionPropertyDescriptor
-       {
-               MemberInfo metaTypeMember;
-               
-               public AssociatedMetadataTypePropertyDescriptor (PropertyInfo typeProperty, MemberInfo metaTypeMember)
-                       : base (typeProperty)
-               {
-                       this.metaTypeMember = metaTypeMember;
-               }
-               
-               protected override void FillAttributes (IList attributeList)
-               {
-                       base.FillAttributes (attributeList);
-                       if (metaTypeMember == null)
-                               return;
-                       
-                       object[] attributes = metaTypeMember.GetCustomAttributes (false);
-                       if (attributes == null || attributes.Length == 0)
-                               return;
-
-                       foreach (object o in attributes) {
-                               var attr = o as Attribute;
-                               if (attr == null)
-                                       continue;
-
-                               attributeList.Add (attr);
-                       }
-               }
-       }
-}
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptionProvider.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptionProvider.cs
deleted file mode 100644 (file)
index 212999a..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// AssociatedMetadataTypeTypeDescriptionProvider.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if !MOBILE
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public class AssociatedMetadataTypeTypeDescriptionProvider : TypeDescriptionProvider
-       {
-               Type type;
-               Type associatedMetadataType;
-               
-               public AssociatedMetadataTypeTypeDescriptionProvider (Type type)
-               {
-                       if (type == null)
-                               throw new ArgumentNullException ("type");
-                       
-                       this.type = type;
-               }
-
-               public AssociatedMetadataTypeTypeDescriptionProvider (Type type, Type associatedMetadataType)
-               {
-                       if (type == null)
-                               throw new ArgumentNullException ("type");
-                       if (associatedMetadataType == null)
-                               throw new ArgumentNullException ("associatedMetadataType");
-                       
-                       this.type = type;
-                       this.associatedMetadataType = associatedMetadataType;
-               }
-
-               public override ICustomTypeDescriptor GetTypeDescriptor (Type objectType, object instance)
-               {
-                       return new AssociatedMetadataTypeTypeDescriptor (base.GetTypeDescriptor (objectType, instance), type, associatedMetadataType);
-               }
-       }
-}
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptor.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptor.cs
deleted file mode 100644 (file)
index 12307ff..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-//
-// AssociatedMetadataTypeTypeDescriptionProvider.cs
-//
-// Author:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if !MOBILE
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Reflection;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       class AssociatedMetadataTypeTypeDescriptor : CustomTypeDescriptor
-       {
-               Type type;
-               Type associatedMetadataType;
-               bool associatedMetadataTypeChecked;
-               PropertyDescriptorCollection properties;
-               
-               Type AssociatedMetadataType {
-                       get {
-                               if (!associatedMetadataTypeChecked && associatedMetadataType == null)
-                                       associatedMetadataType = FindMetadataType ();
-
-                               return associatedMetadataType;
-                       }
-               }
-               
-               public AssociatedMetadataTypeTypeDescriptor (ICustomTypeDescriptor parent, Type type)
-                       : this (parent, type, null)
-               {
-               }
-
-               public AssociatedMetadataTypeTypeDescriptor (ICustomTypeDescriptor parent, Type type, Type associatedMetadataType)
-                       : base (parent)
-               {
-                       this.type = type;
-                       this.associatedMetadataType = associatedMetadataType;
-               }
-
-               void CopyAttributes (object[] from, List <Attribute> to)
-               {
-                       foreach (object o in from) {
-                               Attribute a = o as Attribute;
-                               if (a == null)
-                                       continue;
-
-                               to.Add (a);
-                       }
-               }
-               
-               public override AttributeCollection GetAttributes ()
-               {
-                       var attributes = new List <Attribute> ();
-                       CopyAttributes (type.GetCustomAttributes (true), attributes);
-                       
-                       Type metaType = AssociatedMetadataType;
-                       if (metaType != null) 
-                               CopyAttributes (metaType.GetCustomAttributes (true), attributes);
-                       
-                       return new AttributeCollection (attributes.ToArray ());
-               }
-
-               public override PropertyDescriptorCollection GetProperties ()
-               {
-                       // Code partially copied from TypeDescriptor.TypeInfo.GetProperties
-                       if (properties != null)
-                                return properties;
-
-                       Dictionary <string, MemberInfo> metaMembers = null;
-                        var propertiesHash = new Dictionary <string, bool> (); // name - null
-                        var propertiesList = new List <AssociatedMetadataTypePropertyDescriptor> ();
-                        Type currentType = type;
-                       Type metaType = AssociatedMetadataType;
-
-                       if (metaType != null) {
-                               metaMembers = new Dictionary <string, MemberInfo> ();
-                               MemberInfo[] members = metaType.GetMembers (BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
-
-                               foreach (MemberInfo member in members) {
-                                       switch (member.MemberType) {
-                                               case MemberTypes.Field:
-                                               case MemberTypes.Property:
-                                                       break;
-
-                                               default:
-                                                       continue;
-                                       }
-
-                                       string name = member.Name;
-                                       if (metaMembers.ContainsKey (name))
-                                               continue;
-
-                                       metaMembers.Add (name, member);
-                               }
-                       }
-                       
-                        // Getting properties type by type, because in the case of a property in the child type, where
-                        // the "new" keyword is used and also the return type is changed Type.GetProperties returns 
-                        // also the parent property. 
-                        // 
-                        // Note that we also have to preserve the properties order here.
-                        // 
-                        while (currentType != null && currentType != typeof (object)) {
-                                PropertyInfo[] props = currentType.GetProperties (BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
-                                foreach (PropertyInfo property in props) {
-                                       string propName = property.Name;
-                                       
-                                        if (property.GetIndexParameters ().Length == 0 && property.CanRead && !propertiesHash.ContainsKey (propName)) {
-                                               MemberInfo metaMember;
-
-                                               if (metaMembers != null)
-                                                       metaMembers.TryGetValue (propName, out metaMember);
-                                               else
-                                                       metaMember = null;
-                                                propertiesList.Add (new AssociatedMetadataTypePropertyDescriptor (property, metaMember));
-                                                propertiesHash.Add (propName, true);
-                                        }
-                                }
-                                currentType = currentType.BaseType;
-                        }
-
-                        properties = new PropertyDescriptorCollection ((PropertyDescriptor[]) propertiesList.ToArray (), true);
-                        return properties;
-               }
-               
-               Type FindMetadataType ()
-               {
-                       associatedMetadataTypeChecked = true;
-                       if (type == null)
-                               return null;
-                       
-                       object[] attrs = type.GetCustomAttributes (typeof (MetadataTypeAttribute), true);
-                       if (attrs == null || attrs.Length == 0)
-                               return null;
-
-                       var attr = attrs [0] as MetadataTypeAttribute;
-                       if (attr == null)
-                               return null;
-
-                       return attr.MetadataClassType;
-               }
-       }
-}
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociationAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/AssociationAttribute.cs
deleted file mode 100644 (file)
index 7624c60..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// AssociationAttribute.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
-       public sealed class AssociationAttribute : Attribute
-       {
-               static readonly char[] keySplitChars = { ',' };
-               
-               IEnumerable <string> otherKeyMembers;
-               IEnumerable <string> thisKeyMembers;
-               
-               public bool IsForeignKey { get; set; }
-               public string Name { get; private set; }
-               public string OtherKey { get; private set; }
-               
-               public IEnumerable<string> OtherKeyMembers {
-                       get {
-                               if (otherKeyMembers == null)
-                                       otherKeyMembers = GetKeyMembers (OtherKey);
-
-                               return otherKeyMembers;
-                       }
-               }
-               
-               public string ThisKey { get; private set; }
-               
-               public IEnumerable<string> ThisKeyMembers {
-                       get {
-                               if (thisKeyMembers == null)
-                                       thisKeyMembers = GetKeyMembers (ThisKey);
-
-                               return thisKeyMembers;
-                       }
-               }
-               
-               public AssociationAttribute (string name, string thisKey, string otherKey)
-               {
-                       this.Name = name;
-                       this.ThisKey = thisKey;
-                       this.OtherKey = otherKey;
-               }
-
-               IEnumerable <string> GetKeyMembers (string key)
-               {
-                       // .NET emulation
-                       if (key == null)
-                               throw new NullReferenceException (".NET emulation");
-
-                       string nows = key.Replace (" ", String.Empty);
-                       if (nows.Length == 0)
-                               return new string[] { String.Empty };
-                                       
-                       return nows.Split (keySplitChars);
-               }
-       }
-}
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ChangeLog b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ChangeLog
deleted file mode 100644 (file)
index 1bfd423..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-2010-05-26  Marek Habersack  <mhabersack@novell.com>
-
-       * ValidationAttribute.cs: cope with null/empty ErrorMessageString
-       in FormatErrorMessage
-
-2010-05-12  Marek Habersack  <mhabersack@novell.com>
-
-       * ValidationException.cs: partially implemented
-
-       * ValidationAttribute.cs: implemented
-
-       * RequiredAttribute.cs: implemented. Fixes bug #604100
-
-       * AssociationAttribute.cs, ConcurrencyCheckAttribute.cs,
-       CustomValidationAttribute.cs, EditableAttribute.cs,
-       EnumDataTypeAttribute.cs, IValidatableObject.cs,
-       ValidationContext.cs, ValidationResult.cs: added
-
-2009-09-15  Marek Habersack  <mhabersack@novell.com>
-
-       * DataTypeAttribute.cs: implemented GetDataTypeName
-
-2009-06-23  Marek Habersack  <mhabersack@novell.com>
-
-       * ValidationAttribute.cs: error message must not ever be empty.
-
-       * UIHintAttribute.cs: do not throw NIEX from the constructor.
-
-       * DataTypeAttribute.cs: implemented correct DisplayFormat
-       intialization for DataType.Time.
-
-       * AssociatedMetadataTypeTypeDescriptor.cs: implemented retrieving
-       attributes of the associated metadata type, as well as merging of
-       attribute collections between metadata and main type properties.
-
-       * AssociatedMetadataTypePropertyDescriptor.cs: added. Helper class
-       which merges attributes from the metadata type (if any) with those
-       associated with property from the "main" type.
-
-2009-04-23  Marek Habersack  <mhabersack@novell.com>
-
-       * AssociatedMetadataTypeTypeDescriptor.cs: added - doesn't add any
-       real functionality yet.
-
-       * AssociatedMetadataTypeTypeDescriptionProvider.cs: implemented
-       all the methods.
-
-2008-10-14  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * AssociatedMetadataTypeTypeDescriptionProvider.cs
-         DataType.cs
-         DataTypeAttribute.cs
-         DisplayColumnAttribute.cs
-         DisplayFormatAttribute.cs
-         MetadataTypeAttribute.cs
-         RangeAttribute.cs
-         RegularExpressionAttribute.cs
-         RequiredAttribute.cs
-         ScaffoldColumnAttribute.cs
-         ScaffoldTableAttribute.cs
-         StringLengthAttribute.cs
-         UIHintAttribute.cs
-         ValidationAttribute.cs
-         ValidationException.cs: initial checkin. mostly stubs.
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CompareAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CompareAttribute.cs
deleted file mode 100644 (file)
index afec3c9..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-//
-// CompareAttribute.cs
-//
-// Authors:
-//     Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Linq;
-using System.Globalization;
-using System.ComponentModel;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class CompareAttribute : ValidationAttribute
-       {
-               private const string DefaultErrorMessage = "'{0}' and '{1}' do not match.";
-               private const string NonExistingPropertyErrorMessage = "Could not find a property named {0}.";
-               private string _otherProperty;
-               private string _otherPropertyDisplayName;
-
-               public CompareAttribute (string otherProperty)
-                       : base (() => DefaultErrorMessage)
-               {
-                       if (string.IsNullOrEmpty (otherProperty))
-                               throw new ArgumentNullException ("otherProperty");
-
-                       _otherProperty = otherProperty;
-               }
-
-               public string OtherProperty { get { return _otherProperty; } }
-               public string OtherPropertyDisplayName { get { return _otherPropertyDisplayName; } }
-               public override bool RequiresValidationContext { get { return true; } }
-
-               private IEnumerable<Attribute> GetPropertyAttributes (Type type, string propertyName)
-               {
-#if MOBILE
-                       return TypeDescriptor.GetProperties (type).Find (propertyName, false).Attributes.OfType<Attribute> ();
-#else
-                       // Using AMTTDP seems the way to go to be able to relay on attributes declared
-                       // by means of associated classes not directly decorating the property.
-                       // See: http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.associatedmetadatatypetypedescriptionprovider.aspx
-                       return new AssociatedMetadataTypeTypeDescriptionProvider (type)
-                               .GetTypeDescriptor (type)
-                               .GetProperties ()
-                               .Find (propertyName, false)
-                               .Attributes.OfType<Attribute> ();
-#endif
-               }
-
-               private void ResolveOtherPropertyDisplayName (ValidationContext context)
-               {
-                       if (_otherPropertyDisplayName == null)
-                       {
-                               // NOTE: From my own tests, it seems MS.NET looksup displayName from various sources, what follows
-                               //       is a best guess from my on tests, however, I am probably missing some corner cases. (pruiz)
-                               var attributes = GetPropertyAttributes (context.ObjectType, _otherProperty);
-                               var displayAttr = attributes.FirstOrDefault (x => x is DisplayAttribute) as DisplayAttribute;
-                               var displayNameAttr = attributes.FirstOrDefault (x => x is DisplayNameAttribute) as DisplayNameAttribute;
-
-                               if (displayAttr != null) _otherPropertyDisplayName = displayAttr.GetName ();
-                               else if (displayNameAttr != null) _otherPropertyDisplayName = displayNameAttr.DisplayName;
-                               _otherPropertyDisplayName = _otherProperty;
-                       }
-               }
-
-               public override string FormatErrorMessage (string name)
-               {
-                       var oname = string.IsNullOrEmpty (_otherPropertyDisplayName) ? _otherProperty : _otherPropertyDisplayName;
-                       return string.Format (ErrorMessageString, name, oname);
-               }
-
-               protected override ValidationResult IsValid(object value, ValidationContext context)
-               {
-                       var property = context.ObjectType.GetProperty (_otherProperty);
-
-                       if (property == null) {
-                               string message = string.Format (NonExistingPropertyErrorMessage, _otherProperty);
-                               return new ValidationResult (message);
-                       }
-
-                       // XXX: Could not find a better place to call this, as this is 
-                       //      the only place we have access to a ValidationContext. (pruiz)
-                       ResolveOtherPropertyDisplayName (context);
-
-                       return object.Equals (property.GetValue (context.ObjectInstance, null), value) ? null
-                               : new ValidationResult (FormatErrorMessage (context.DisplayName));
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ConcurrencyCheckAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ConcurrencyCheckAttribute.cs
deleted file mode 100644 (file)
index 6d5cdc7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// ConcurrencyCheckAttribute.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
-       public sealed class ConcurrencyCheckAttribute : Attribute
-       {
-               public ConcurrencyCheckAttribute ()
-               {
-               }
-       }
-}
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ControlParameters.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ControlParameters.cs
deleted file mode 100644 (file)
index 98f7c5a..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// ControlParameters.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       sealed class ControlParameters : IEquatable<ControlParameters>
-       {
-               Dictionary<string, object> dictionary;
-               readonly object[] parameters;
-
-               public ControlParameters (object[] parameters)
-               {
-                       this.parameters = parameters;
-               }
-
-               public Dictionary<string, object> Dictionary {
-                       get {
-                               return dictionary ?? (dictionary = CreateDictionary ());
-                       }
-               }
-
-               public bool Equals (ControlParameters other)
-               {
-                       if (parameters == null || other.parameters == null)
-                               return ReferenceEquals (parameters, other.parameters);
-
-                       if (parameters.Length != other.parameters.Length)
-                               return false;
-
-                       try {
-                               return Dictionary.OrderBy (l => l.Key).SequenceEqual (other.Dictionary.OrderBy (l => l.Key));
-                       } catch (InvalidOperationException) {
-                               return false;
-                       }
-               }
-
-               Dictionary<string, object> CreateDictionary ()
-               {
-                       if (parameters == null || parameters.Length == 0) {
-                               return new Dictionary<string, object> (0);
-                       }
-
-                       if (parameters.Length % 2 != 0)
-                               throw new InvalidOperationException ();
-
-                       var dict = new Dictionary<string, object> ();                   
-                       for (int i = 0; i < parameters.Length; ) {
-                               var key = parameters [i++] as string;
-                               if (key == null)
-                                       throw new InvalidOperationException ();
-
-                               try {
-                                       dict.Add (key, parameters[i++]);
-                               } catch (System.ArgumentException) {
-                                       throw new InvalidOperationException ();
-                               }
-                       }
-
-                       return dict;
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CreditCardAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CreditCardAttribute.cs
deleted file mode 100644 (file)
index 66fdc90..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// CreditCardAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Linq;
-using System.Globalization;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class CreditCardAttribute : DataTypeAttribute
-       {
-               private const string DefaultErrorMessage = "The {0} field is not a valid credit card number.";
-
-               public CreditCardAttribute ()
-                       : base(DataType.CreditCard)
-               {
-                       // XXX: There is no .ctor accepting Func<string> on DataTypeAttribute.. :?
-                       base.ErrorMessage = DefaultErrorMessage;
-               }
-
-               public override bool IsValid(object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       if (string.IsNullOrEmpty(value as string))
-                               return false;
-
-                       // Remove any invalid characters..
-                       var creditCardNumber = (value as string).Replace("-", "").Replace(" ", "");
-
-                       if (creditCardNumber.Any (x => !Char.IsDigit (x)))
-                               return false;
-
-                       // Performan a Luhn-based check against credit card number.
-                       //
-                       // See: http://en.wikipedia.org/wiki/Luhn_algorithm
-                       // See: http://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers
-
-                       return true;    
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CustomValidationAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CustomValidationAttribute.cs
deleted file mode 100644 (file)
index 618dd88..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-// CustomValidationAttribute.cs
-//
-// Authors:
-//     Marek Habersack <grendel@twistedcode.net>
-//
-// Copyright (C) 2010-2011 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = true)]
-       public sealed class CustomValidationAttribute : ValidationAttribute
-       {
-               Tuple <string, Type> typeId;
-               MethodInfo validationMethod;
-               bool validationMethodChecked;
-               bool validationMethodSignatureValid;
-               int validationMethodParamCount;
-               
-               public string Method { get; private set; }
-
-               public override object TypeId {
-                       get { return typeId; }
-               }
-               
-               public Type ValidatorType { get; private set; }
-               
-               public CustomValidationAttribute (Type validatorType, string method)
-               {
-                       this.ValidatorType = validatorType;
-                       this.Method = method;
-                       this.typeId = new Tuple <string, Type> (method, validatorType);
-               }
-
-               public override string FormatErrorMessage (string name)
-               {
-                       ThrowIfAttributeNotWellFormed ();
-                       return String.Format ("{0} is not valid.", name);
-               }
-
-               // LAMESPEC: MSDN doesn't document it at all, but corcompare shows it in the type
-               protected override ValidationResult IsValid (object value, ValidationContext validationContext)
-               {
-                       ThrowIfAttributeNotWellFormed ();
-                       object[] p;
-                               
-                       if (validationMethodParamCount == 2)
-                               p = new object [] {value, validationContext};
-                       else
-                               p = new object [] {value};
-                       try {
-                               return validationMethod.Invoke (null, p) as ValidationResult;
-                       } catch (TargetInvocationException ex) {
-                               if (ex.InnerException != null)
-                                       throw ex.InnerException;
-                               throw;
-                       }
-               }
-
-               void ThrowIfAttributeNotWellFormed ()
-               {
-                       Type type = ValidatorType;
-                       if (type == null)
-                               throw new InvalidOperationException ("The CustomValidationAttribute.ValidatorType was not specified.");
-
-                       if (type.IsNotPublic)
-                               throw new InvalidOperationException (String.Format ("The custom validation type '{0}' must be public.", type.Name));
-
-                       string method = Method;
-                       if (String.IsNullOrEmpty (method))
-                               throw new InvalidOperationException ("The CustomValidationAttribute.Method was not specified.");
-
-                       if (validationMethod == null) {
-                               if (!validationMethodChecked) {
-                                       validationMethod = type.GetMethod (method, BindingFlags.Public | BindingFlags.Static);
-                                       validationMethodChecked = true;
-                               }
-                               
-                               if (validationMethod == null)
-                                       throw new InvalidOperationException (
-                                               String.Format ("The CustomValidationAttribute method '{0}' does not exist in type '{1}' or is not public and static.",
-                                                              method, type.Name));
-
-                               if (!typeof (ValidationResult).IsAssignableFrom (validationMethod.ReturnType))
-                                       throw new InvalidOperationException (String.Format ("The CustomValidationAttribute method '{0}' in type '{1}' must return System.ComponentModel.DataAnnotations.ValidationResult.  Use System.ComponentModel.DataAnnotations.ValidationResult.Success to represent success.", method, type.Name));
-
-                               validationMethodSignatureValid = true;
-                               ParameterInfo[] parameters = validationMethod.GetParameters ();
-                               if (parameters == null)
-                                       validationMethodSignatureValid = false;
-                               else {
-                                       validationMethodParamCount = parameters.Length;
-                                       switch (validationMethodParamCount) {
-                                               case 1:
-                                                       break;
-
-                                               case 2:
-                                                       if (parameters [1].ParameterType != typeof (ValidationContext))
-                                                               validationMethodSignatureValid = false;
-                                                       break;
-
-                                               default:
-                                                       validationMethodSignatureValid = false;
-                                                       break;
-                                       }
-                               }
-                       }
-                       
-                       if (!validationMethodSignatureValid)
-                               throw new InvalidOperationException (String.Format ("The CustomValidationAttribute method '{0}' in type '{1}' must match the expected signature: public static ValidationResult MethodTwo(object value, ValidationContext context).  The value can be strongly typed.  The ValidationContext parameter is optional.", method, type.Name));
-                       
-               }
-       }
-}
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataType.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataType.cs
deleted file mode 100644 (file)
index 5ad56e7..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// DataType.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008-2011 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public enum DataType
-       {
-               Custom,
-               DateTime,
-               Date,
-               Time,
-               Duration,
-               PhoneNumber,
-               Currency,
-               Text,
-               Html,
-               MultilineText,
-               EmailAddress,
-               Password,
-               Url,
-#if NET_4_0
-               ImageUrl,
-#endif
-#if NET_4_5
-               CreditCard,
-               PostalCode,
-               Upload
-#endif
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataTypeAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DataTypeAttribute.cs
deleted file mode 100644 (file)
index 3a373db..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// DataTypeAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//     Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-#if NET_4_0
-       [AttributeUsage (AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Method, AllowMultiple = false)]
-#else
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#endif
-       public class DataTypeAttribute : ValidationAttribute
-       {
-               public DataTypeAttribute (DataType dataType)
-               {
-                       DataType = dataType;
-
-                       DisplayFormatAttribute displayFormat;
-                       switch (dataType) {
-                               case DataType.Time:
-                                       displayFormat = new DisplayFormatAttribute ();
-                                       displayFormat.ApplyFormatInEditMode = true;
-                                       displayFormat.ConvertEmptyStringToNull = true;
-                                       displayFormat.DataFormatString = "{0:t}";
-#if NET_4_0
-                                       displayFormat.HtmlEncode = true;
-#endif
-                                       break;
-                               case DataType.Date:
-                                       displayFormat = new DisplayFormatAttribute ();
-                                       displayFormat.ApplyFormatInEditMode = true;
-                                       displayFormat.ConvertEmptyStringToNull = true;
-                                       displayFormat.DataFormatString = "{0:d}";
-#if NET_4_0
-                                       displayFormat.HtmlEncode = true;
-#endif
-                                       break;
-                               case DataType.Currency:
-                                       displayFormat = new DisplayFormatAttribute ();
-                                       displayFormat.ApplyFormatInEditMode = false;
-                                       displayFormat.ConvertEmptyStringToNull = true;
-                                       displayFormat.DataFormatString = "{0:C}";
-#if NET_4_0
-                                       displayFormat.HtmlEncode = true;
-#endif
-                                       break;
-
-                               default:
-                                       displayFormat = null;
-                                       break;
-                       }
-
-                       DisplayFormat = displayFormat;
-               }
-
-               public DataTypeAttribute (string customDataType)
-               {
-                       CustomDataType = customDataType;
-               }
-
-               public string CustomDataType { get; private set; }
-               public DataType DataType { get; private set; }
-               public DisplayFormatAttribute DisplayFormat { get; protected set; }
-
-               public virtual string GetDataTypeName ()
-               {
-                       DataType dt = DataType;
-                       if (dt == DataType.Custom)
-                               return CustomDataType;
-
-                       return dt.ToString ();
-               }
-
-               public override bool IsValid (object value)
-               {
-                       // Returns alwasy true  
-                       // See: http://msdn.microsoft.com/en-us/library/cc679235.aspx
-                       return true;
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayAttribute.cs
deleted file mode 100644 (file)
index ffdd5bd..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-//
-// DisplayAttribute.cs
-//
-// Author:
-//     David Stone <david@gixug.com>
-//
-// Copyright (C) 2010 David Stone
-//
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-#if NET_4_0
-       [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Method, AllowMultiple = false)]
-       public sealed class DisplayAttribute : Attribute
-       {
-               public Type ResourceType { get; set; }
-
-               public string Description { get; set; }
-               public string GroupName { get; set; }
-               public string Name { get; set; }
-               public string ShortName { get; set; }
-               public string Prompt { get; set; }
-
-               const string property_not_set_message = "The {0} property has not been set.  Use the Get{0} method to get the value.";
-               const string localization_failed_message = "Cannot retrieve property '{0}' because localization failed. Type '{1} is not public or does not contain a public static string property with the name '{2}'.";
-
-               bool? _autoGenerateField;
-               public bool AutoGenerateField {
-                       get {
-                               if (!_autoGenerateField.HasValue) {
-                                       throw new InvalidOperationException (string.Format (property_not_set_message, "AutoGenerateField"));
-                               }
-                               
-                               return _autoGenerateField.Value;
-                       }
-                       set { _autoGenerateField = value; }
-               }
-
-               bool? _autoGenerateFilter;
-               public bool AutoGenerateFilter {
-                       get {
-                               if (_autoGenerateFilter == null) {
-                                       throw new InvalidOperationException (string.Format (property_not_set_message, "AutoGenerateFilter"));
-                               }
-                               
-                               return _autoGenerateFilter.Value;
-                       }
-                       set { _autoGenerateFilter = value; }
-               }
-
-               int? _order;
-               public int Order {
-                       get {
-                               if (_order == null)
-                                       throw new InvalidOperationException (string.Format (property_not_set_message, "Order"));
-                                       
-                               return _order.Value;
-                       }
-                       set { _order = value; }
-               }
-
-               private string GetLocalizedString (string propertyName, string key)
-               {
-                       // If we don't have a resource or a key, go ahead and fall back on the key
-                       if (ResourceType == null || key == null)
-                               return key;
-                       
-                       var property = ResourceType.GetProperty (key);
-                       
-                       // Strings are only valid if they are public static strings
-                       var isValid = false;
-                       if (ResourceType.IsVisible && property != null && property.PropertyType == typeof(string)) {
-                               var getter = property.GetGetMethod ();
-                               
-                               // Gotta have a public static getter on the property
-                               if (getter != null && getter.IsStatic && getter.IsPublic) {
-                                       isValid = true;
-                               }
-                       }
-                       
-                       // If it's not valid, go ahead and throw an InvalidOperationException
-                       if (!isValid) {
-                               var message = string.Format (localization_failed_message, propertyName, ResourceType.ToString (), key);
-                               throw new InvalidOperationException (message);
-                       }
-                       
-                       return (string)property.GetValue (null, null);
-                       
-               }
-
-               #region Consumer Methods
-               public bool? GetAutoGenerateField ()
-               {
-                       return _autoGenerateField;
-               }
-
-               public bool? GetAutoGenerateFilter ()
-               {
-                       return _autoGenerateFilter;
-               }
-               
-               public int? GetOrder ()
-               {
-                       return _order;
-               }
-
-               public string GetName ()
-               {
-                       return GetLocalizedString ("Name", Name);
-               }
-
-               public string GetShortName ()
-               {
-                       // Short name falls back on Name if the short name isn't set
-                       return GetLocalizedString ("ShortName", ShortName) ?? GetName ();
-               }
-
-               public string GetDescription ()
-               {
-                       return GetLocalizedString ("Description", Description);
-               }
-
-               public string GetPrompt ()
-               {
-                       return GetLocalizedString ("Prompt", Prompt);
-               }
-               
-               public string GetGroupName ()
-               {
-                       return GetLocalizedString ("GroupName", GroupName);
-               }
-               
-               #endregion
-               
-       }
-#endif
-}
-
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayColumnAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayColumnAttribute.cs
deleted file mode 100644 (file)
index 301ee94..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// DisplayColumnAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Class, Inherited = true, AllowMultiple = false)]
-       public class DisplayColumnAttribute : Attribute
-       {
-               public DisplayColumnAttribute (string displayColumn)
-                       : this (displayColumn, null)
-               {
-               }
-
-               public DisplayColumnAttribute (string displayColumn, string sortColumn)
-                       : this (displayColumn, sortColumn, false)
-               {
-               }
-
-               public DisplayColumnAttribute (string displayColumn, string sortColumn, bool sortDescending)
-               {
-                       DisplayColumn = displayColumn;
-                       SortColumn = sortColumn;
-                       SortDescending = sortDescending;
-               }
-
-               public string DisplayColumn { get; private set; }
-               public string SortColumn { get; private set; }
-               public bool SortDescending { get; private set; }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayFormatAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/DisplayFormatAttribute.cs
deleted file mode 100644 (file)
index 4c48a83..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// DisplayFormatAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-       public class DisplayFormatAttribute : Attribute
-       {
-               public bool ApplyFormatInEditMode { get; set; }
-               public bool ConvertEmptyStringToNull { get; set; }
-               public string DataFormatString { get; set; }
-               public string NullDisplayText { get; set; }
-#if NET_4_0
-               public bool HtmlEncode { get; set; }
-#endif
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EditableAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EditableAttribute.cs
deleted file mode 100644 (file)
index abfba99..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// EditableAttribute.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
-       public sealed class EditableAttribute : Attribute
-       {
-               public bool AllowEdit { get; private set; }
-               public bool AllowInitialValue { get; set; }
-               
-               public EditableAttribute (bool allowEdit)
-               {
-                       this.AllowEdit = allowEdit;
-               }
-       }
-}
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EmailAddressAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EmailAddressAttribute.cs
deleted file mode 100644 (file)
index 5d79b92..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-//
-// EmailAddressAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Globalization;
-using System.Text.RegularExpressions;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class EmailAddressAttribute : DataTypeAttribute
-       {
-               private const string DefaultErrorMessage = "The {0} field is not a valid e-mail address.";
-               const string AtomCharacters = "!#$%&'*+-/=?^_`{|}~";
-
-               static bool IsLetterOrDigit (char c)
-               {
-                       return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9');
-               }
-
-               static bool IsAtom (char c)
-               {
-                       return IsLetterOrDigit (c) || AtomCharacters.IndexOf (c) != -1;
-               }
-
-               static bool IsDomain (char c)
-               {
-                       return IsLetterOrDigit (c) || c == '-';
-               }
-
-               static bool SkipAtom (string text, ref int index)
-               {
-                       int startIndex = index;
-
-                       while (index < text.Length && IsAtom (text[index]))
-                               index++;
-
-                       return index > startIndex;
-               }
-
-               static bool SkipSubDomain (string text, ref int index)
-               {
-                       if (!IsDomain (text[index]) || text[index] == '-')
-                               return false;
-
-                       index++;
-
-                       while (index < text.Length && IsDomain (text[index]))
-                               index++;
-
-                       return true;
-               }
-
-               static bool SkipDomain (string text, ref int index)
-               {
-                       if (!SkipSubDomain (text, ref index))
-                               return false;
-
-                       while (index < text.Length && text[index] == '.') {
-                               index++;
-
-                               if (index == text.Length)
-                                       return false;
-
-                               if (!SkipSubDomain (text, ref index))
-                                       return false;
-                       }
-
-                       return true;
-               }
-
-               static bool SkipQuoted (string text, ref int index)
-               {
-                       bool escaped = false;
-
-                       // skip over leading '"'
-                       index++;
-
-                       while (index < text.Length) {
-                               if (text[index] == (byte) '\\') {
-                                       escaped = !escaped;
-                               } else if (!escaped) {
-                                       if (text[index] == (byte) '"')
-                                               break;
-                               } else {
-                                       escaped = false;
-                               }
-
-                               index++;
-                       }
-
-                       if (index >= text.Length || text[index] != (byte) '"')
-                               return false;
-
-                       index++;
-
-                       return true;
-               }
-
-               static bool SkipWord (string text, ref int index)
-               {
-                       if (text[index] == (byte) '"')
-                               return SkipQuoted (text, ref index);
-
-                       return SkipAtom (text, ref index);
-               }
-
-               static bool SkipIPv4Literal (string text, ref int index)
-               {
-                       int groups = 0;
-
-                       while (index < text.Length && groups < 4) {
-                               int startIndex = index;
-                               int value = 0;
-
-                               while (index < text.Length && text[index] >= '0' && text[index] <= '9') {
-                                       value = (value * 10) + (text[index] - '0');
-                                       index++;
-                               }
-
-                               if (index == startIndex || index - startIndex > 3 || value > 255)
-                                       return false;
-
-                               groups++;
-
-                               if (groups < 4 && index < text.Length && text[index] == '.')
-                                       index++;
-                       }
-
-                       return groups == 4;
-               }
-
-               static bool IsHexDigit (char c)
-               {
-                       return (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (c >= '0' && c <= '9');
-               }
-
-               // This needs to handle the following forms:
-               //
-               // IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp
-               // IPv6-hex  = 1*4HEXDIG
-               // IPv6-full = IPv6-hex 7(":" IPv6-hex)
-               // IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)]
-               //             ; The "::" represents at least 2 16-bit groups of zeros
-               //             ; No more than 6 groups in addition to the "::" may be
-               //             ; present
-               // IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal
-               // IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::"
-               //               [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal
-               //             ; The "::" represents at least 2 16-bit groups of zeros
-               //             ; No more than 4 groups in addition to the "::" and
-               //             ; IPv4-address-literal may be present
-               static bool SkipIPv6Literal (string text, ref int index)
-               {
-                       bool compact = false;
-                       int colons = 0;
-
-                       while (index < text.Length) {
-                               int startIndex = index;
-
-                               while (index < text.Length && IsHexDigit (text[index]))
-                                       index++;
-
-                               if (index >= text.Length)
-                                       break;
-
-                               if (index > startIndex && colons > 2 && text[index] == '.') {
-                                       // IPv6v4
-                                       index = startIndex;
-
-                                       if (!SkipIPv4Literal (text, ref index))
-                                               return false;
-
-                                       break;
-                               }
-
-                               int count = index - startIndex;
-                               if (count > 4)
-                                       return false;
-
-                               if (text[index] != ':')
-                                       break;
-
-                               startIndex = index;
-                               while (index < text.Length && text[index] == ':')
-                                       index++;
-
-                               count = index - startIndex;
-                               if (count > 2)
-                                       return false;
-
-                               if (count == 2) {
-                                       if (compact)
-                                               return false;
-
-                                       compact = true;
-                                       colons += 2;
-                               } else {
-                                       colons++;
-                               }
-                       }
-
-                       if (colons < 2)
-                               return false;
-
-                       if (compact)
-                               return colons < 6;
-
-                       return colons < 7;
-               }
-
-               static bool Validate (string email)
-               {
-                       int index = 0;
-
-                       if (email.Length == 0)
-                               return false;
-
-                       if (!SkipWord (email, ref index) || index >= email.Length)
-                               return false;
-
-                       while (index < email.Length && email[index] == '.') {
-                               index++;
-
-                               if (!SkipWord (email, ref index) || index >= email.Length)
-                                       return false;
-                       }
-
-                       if (index + 1 >= email.Length || email[index++] != '@')
-                               return false;
-
-                       if (email[index] != '[') {
-                               // domain
-                               if (!SkipDomain (email, ref index))
-                                       return false;
-
-                               return index == email.Length;
-                       }
-
-                       // address literal
-                       index++;
-
-                       // we need at least 8 more characters
-                       if (index + 8 >= email.Length)
-                               return false;
-
-                       var ipv6 = email.Substring (index, 5);
-                       if (ipv6.ToLowerInvariant () == "ipv6:") {
-                               index += "IPv6:".Length;
-                               if (!SkipIPv6Literal (email, ref index))
-                                       return false;
-                       } else {
-                               if (!SkipIPv4Literal (email, ref index))
-                                       return false;
-                       }
-
-                       if (index >= email.Length || email[index++] != ']')
-                               return false;
-
-                       return index == email.Length;
-               }
-
-               public EmailAddressAttribute ()
-                       : base(DataType.EmailAddress)
-               {
-                       // XXX: There is no .ctor accepting Func<string> on DataTypeAttribute.. :?
-                       base.ErrorMessage = DefaultErrorMessage;
-               }
-
-               public override bool IsValid(object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       string email = value as string;
-                       if (email == null)
-                               return false;
-
-                       return Validate (email);
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EnumDataTypeAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EnumDataTypeAttribute.cs
deleted file mode 100644 (file)
index a0efa1e..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-// EnumDataTypeAttribute.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public sealed class EnumDataTypeAttribute : DataTypeAttribute
-       {
-               public Type EnumType { get; private set; }
-               
-               public EnumDataTypeAttribute (Type enumType)
-                       : base (DataType.Custom)
-               {
-                       this.EnumType = enumType;
-               }
-
-               public override bool IsValid (object value)
-               {
-                       Type type = EnumType;
-
-                       if (!type.IsEnum)
-                               throw new InvalidOperationException (
-                                       String.Format ("The type '{0}' needs to represent an enumeration type.", type.FullName)
-                               );
-
-                       if (value == null)
-                               return true;
-
-                       Type valueType = value.GetType ();
-                       if (valueType.IsEnum && valueType != type)
-                               return false;
-
-                       string s = value as string;
-                       if (s != null && s.Length == 0)
-                               return true;
-                       
-                       if (s != null && (valueType == typeof (bool) || valueType == typeof (char) || valueType == typeof (float)))
-                               return false;
-
-                       object o;
-
-                       if (s != null) {
-                               try {
-                                       o = Enum.Parse (type, s);
-                               } catch {
-                                       return false;
-                               }
-                       } else if (valueType.IsEnum)
-                               o = value;
-                       else {
-                               try {
-                                       o = Enum.ToObject (type, value);
-                               } catch {
-                                       return false;
-                               }
-                       }
-
-                       object[] attrs = type.GetCustomAttributes (typeof (FlagsAttribute), true);
-                       if (attrs != null && attrs.Length > 0) {
-                               string sval = Convert.ChangeType (o, Enum.GetUnderlyingType (type), CultureInfo.InvariantCulture).ToString ();
-
-                               // This looks weird, but what happens here is that if we have a
-                               // mismatch, the above type change will make sval equal o.ToString
-                               // () and if we have a match, then sval will be string
-                               // representation of the enum member's value. So, if we have an
-                               // enum:
-                               //
-                               // [Flags]
-                               // enum Test
-                               // {
-                               //     One = 1,
-                               //     Two = 2
-                               // }
-                               //
-                               // And the passed value was 3, then o.ToString () == "One, Two" and
-                               // sval == "3". If the passed value was 33, though, o.ToString () ==
-                               // "33" and sval == "33" - thus we DON'T have a match.
-                               return !sval.Equals (o.ToString ());
-                       }
-                       
-                       return Enum.IsDefined (type, o);
-               }
-       }
-}
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FileExtensionsAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FileExtensionsAttribute.cs
deleted file mode 100644 (file)
index de9c384..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// FileExtensionAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Linq;
-using System.Globalization;
-using System.Text.RegularExpressions;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       // See: http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.fileextensionsattribute.aspx
-
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class FileExtensionsAttribute : DataTypeAttribute
-       {
-               private const string DefaultErrorMessage = "The {0} field only accepts files with the following extensions: {1}.";
-               private const string DefaultExtensions = "png,jpg,jpeg,gif";
-
-               public FileExtensionsAttribute ()
-                       : base (DataType.Upload)
-               {
-                       // XXX: There is no .ctor accepting Func<string> on DataTypeAttribute.. :?
-                       base.ErrorMessage = DefaultErrorMessage;
-                       this.Extensions = DefaultExtensions;
-               }
-
-               public string Extensions { get; set; }
-
-               private string[] GetExtensionList ()
-               {
-                       return (Extensions ?? "").Split (',');
-               }
-
-               private string GetExtension (string filename)
-               {
-                       var parts = filename.Split ('.');
-                       return parts.Length > 0 ? parts [parts.Length - 1] : "";
-               }
-
-               public override string FormatErrorMessage (string name)
-               {
-                       var extensions = GetExtensionList().Aggregate ((cur, next) => cur + ", " + next);
-                       return string.Format (ErrorMessageString, name, extensions);
-               }
-
-               public override bool IsValid(object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       if (value is string)
-                       {
-                               var str = value as string;
-                               var ext = GetExtension (str);
-                               return GetExtensionList ().Any (x => string.Equals (x, ext, StringComparison.InvariantCultureIgnoreCase));
-                       }
-
-                       return false;
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FilterUIHintAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/FilterUIHintAttribute.cs
deleted file mode 100644 (file)
index 870e409..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// FilterUIHintAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_0
-
-using System.Runtime.CompilerServices;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
-       public sealed class FilterUIHintAttribute : Attribute
-       {
-               readonly ControlParameters controlParameters;
-
-               public FilterUIHintAttribute (string filterUIHint)
-                       : this (filterUIHint, null, null)
-               {
-               }
-
-               public FilterUIHintAttribute (string filterUIHint, string presentationLayer)
-                       : this (filterUIHint, presentationLayer, null)
-               {
-               }
-
-               public FilterUIHintAttribute (string filterUIHint, string presentationLayer, params object[] controlParameters)
-               {
-                       FilterUIHint = filterUIHint;
-                       PresentationLayer = presentationLayer;  
-                       this.controlParameters = new ControlParameters (controlParameters);
-               }
-
-               public IDictionary<string, object> ControlParameters {
-                       get {
-                               return controlParameters.Dictionary;
-                       }
-               }
-               
-               public string FilterUIHint { get; private set; }
-
-               public string PresentationLayer { get; private set; }
-
-               public override object TypeId {
-                       get {
-                               return this;
-                       }
-               }
-
-               public override int GetHashCode ()
-               {
-                       return RuntimeHelpers.GetHashCode (FilterUIHint) ^
-                               RuntimeHelpers.GetHashCode (PresentationLayer);
-               }
-
-               public override bool Equals (object obj)
-               {
-                       var fha = obj as FilterUIHintAttribute;
-                       if (fha == null)
-                               return false;
-
-                       return fha.FilterUIHint == FilterUIHint && 
-                               fha.PresentationLayer == PresentationLayer &&
-                               fha.controlParameters.Equals (controlParameters);
-               }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/IValidatableObject.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/IValidatableObject.cs
deleted file mode 100644 (file)
index cf68fc3..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// IValidatableObject.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_0
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public interface IValidatableObject
-       {
-               IEnumerable<ValidationResult> Validate (ValidationContext validationContext);
-       }
-}
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/KeyAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/KeyAttribute.cs
deleted file mode 100644 (file)
index 37cde19..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// KeyAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_0
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
-       public sealed class KeyAttribute : Attribute
-       {
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MaxLengthAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MaxLengthAttribute.cs
deleted file mode 100644 (file)
index 84fab2a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// MaxLengthAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//     Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2012 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Globalization;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class MaxLengthAttribute : ValidationAttribute
-       {
-               private const string DefaultErrorMessage = "The field {0} must be a string or array type with a maximum length of '{1}'.";
-               private const string InvalidLengthErrorMessage = "MaxLengthAttribute must have a Length value that is greater than zero. " +
-                                                                "Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length.";
-               private bool _maxLength = true;
-
-               public MaxLengthAttribute ()
-                       : base (() => DefaultErrorMessage)
-               {
-               }
-               
-               public MaxLengthAttribute (int length)
-                       : this ()
-               {
-                       Length = length;
-                       _maxLength = false;
-               }
-               
-               public int Length { get; private set; }
-
-               public override string FormatErrorMessage (string name)
-               {
-                       return string.Format (ErrorMessageString, name, Length);
-               }
-
-               public override bool IsValid (object value)
-               {
-                       // See: http://msdn.microsoft.com/en-us/library/gg696614.aspx
-
-                       if (this.Length == 0 || this.Length < -1)
-                               throw new InvalidOperationException (InvalidLengthErrorMessage);
-
-                       // Weird, but using 'MaxLength' with no length seems to be valid
-                       // and we should be returning true, and not throwing. (pablo)
-                       if (value != null && !_maxLength) {
-
-                               if (value is string) {
-                                       return (value as string).Length <= this.Length;
-                               }
-
-                               if (value is Array) {
-                                       return (value as Array).Length <= this.Length;
-                               }
-
-                               // NOTE: from my tests, MS.NET does not support IEnumerable as value. :(
-                       }
-
-                       return true;
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MetadataTypeAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MetadataTypeAttribute.cs
deleted file mode 100644 (file)
index 4fdae6c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// MetadataTypeAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Class, AllowMultiple = false)]
-       public sealed class MetadataTypeAttribute : Attribute
-       {
-               public MetadataTypeAttribute (Type metadataClassType)
-               {
-                       MetadataClassType = metadataClassType;
-               }
-
-               public Type MetadataClassType { get; private set; }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MinLengthAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/MinLengthAttribute.cs
deleted file mode 100644 (file)
index ff30f76..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// MinLengthAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Globalization;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class MinLengthAttribute : ValidationAttribute
-       {
-               private const string DefaultErrorMessage = "The field {0} must be a string or array type with a minimum length of '{1}'.";
-               private const string InvalidLengthErrorMessage = "MinLengthAttribute must have a Length value that is zero or greater.";
-
-               public MinLengthAttribute ()
-               {
-               }
-
-               public MinLengthAttribute (int length)
-               {
-                       Length = length;
-               }
-
-               public int Length { get; private set; }
-
-               public override string FormatErrorMessage (string name)
-               {
-                       return string.Format (ErrorMessageString, name, Length);
-               }
-
-               public override bool IsValid (object value)
-               {
-                       if (this.Length < 0)
-                               throw new InvalidOperationException (InvalidLengthErrorMessage);
-
-                       if (value != null) {
-
-                               if (value is string) {
-                                       return (value as string).Length >= this.Length;
-                               }
-
-                               if (value is Array) {
-                                       return (value as Array).Length >= this.Length;
-                               }
-
-                               // NOTE: from my tests, MS.NET does not support IEnumerable as value. :(
-                       }
-
-                       return true;
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/PhoneAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/PhoneAttribute.cs
deleted file mode 100644 (file)
index 58cec3b..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// PhoneAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-using System;
-using System.Globalization;
-using System.Text.RegularExpressions;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class PhoneAttribute : DataTypeAttribute
-       {
-               private const string DefaultErrorMessage = "The {0} field is not a valid phone number.";
-               private const string _regexStr = @"^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
-               private static Regex _regex = new Regex (_regexStr, RegexOptions.IgnoreCase | RegexOptions.Compiled);
-
-               public PhoneAttribute ()
-                       : base(DataType.PhoneNumber)
-               {
-                       // XXX: There is no .ctor accepting Func<string> on DataTypeAttribute.. :?
-                       base.ErrorMessage = DefaultErrorMessage;
-               }
-
-               public override bool IsValid(object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       if (value is string)
-                       {
-                               var str = value as string;
-                               return !string.IsNullOrEmpty(str) ? _regex.IsMatch(str) : false;
-                       }
-
-                       return false;
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RangeAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RangeAttribute.cs
deleted file mode 100644 (file)
index 9bf5266..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-//
-// RangeAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Globalization;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-#if NET_4_0
-       [AttributeUsage (AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
-#else
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#endif
-       public class RangeAttribute : ValidationAttribute
-       {
-               Func <object, bool> comparer;
-               TypeConverter cvt;
-
-               public object Maximum { get; private set; }
-               public object Minimum { get; private set; }
-               public Type OperandType { get; private set; }
-
-               IComparable MaximumComparable {
-                       get { return Maximum as IComparable; }
-               }
-
-               IComparable MinimumComparable {
-                       get { return Minimum as IComparable; }
-               }
-               
-               RangeAttribute ()
-                       : base (GetDefaultErrorMessage)
-               {
-               }
-               
-               public RangeAttribute (double minimum, double maximum) : this ()
-               {
-                       Minimum = minimum;
-                       Maximum = maximum;
-                       OperandType = typeof (double);
-               }
-
-               public RangeAttribute (int minimum, int maximum) : this ()
-               {
-                       Minimum = minimum;
-                       Maximum = maximum;
-                       OperandType = typeof (int);
-               }
-
-               public RangeAttribute (Type type, string minimum, string maximum) : this ()
-               {
-#if !NET_4_0
-                       if (type == null)
-                               throw new ArgumentNullException ("type");
-#endif
-                       OperandType = type;
-                       Minimum = minimum;
-                       Maximum = maximum;
-#if !NET_4_0
-                       comparer = SetupComparer ();
-#endif
-               }
-
-               static string GetDefaultErrorMessage ()
-               {
-                       return "The field {0} must be between {1} and {2}.";
-               }
-               
-               public override string FormatErrorMessage (string name)
-               {
-                       if (comparer == null)
-                               comparer = SetupComparer ();
-
-                       return String.Format (ErrorMessageString, name, Minimum, Maximum);
-               }
-
-               // LAMESPEC: does not throw ValidationException when value is out of range
-               public override bool IsValid (object value)
-               {
-                       if (comparer == null)
-                               comparer = SetupComparer ();
-                       
-                       if (value == null)
-                               return true;
-
-                       string s = value as string;
-                       if (s != null && s.Length == 0)
-                               return true;
-                       
-                       try {
-                               if (comparer != null)
-                                       return comparer (value);
-
-                               return false;
-                       } catch (FormatException) {
-                               return false;
-                       } catch (InvalidCastException) {
-                               return false;
-                       }
-               }
-
-               Func <object, bool> SetupComparer ()
-               {
-                       Type ot = OperandType;
-
-                       object min = Minimum, max = Maximum;
-#if NET_4_0
-                       if (min == null || max == null)
-                               throw new InvalidOperationException ("The minimum and maximum values must be set.");
-#endif
-                       if (min is int)
-                               return new Func <object, bool> (CompareInt);
-
-                       if (min is double)
-                               return new Func <object, bool> (CompareDouble);
-                       
-                       if (ot == null)
-                               throw new InvalidOperationException ("The OperandType must be set when strings are used for minimum and maximum values.");
-                       
-                       if (!typeof(IComparable).IsAssignableFrom (ot)) {
-#if NET_4_0
-                               string message = String.Format ("The type {0} must implement System.IComparable", ot.FullName);
-                               throw new InvalidOperationException (message);
-#else
-                               throw new ArgumentException ("object");
-#endif
-                       }
-                       
-                       string smin = min as string, smax = max as string;
-                       cvt = TypeDescriptor.GetConverter (ot);
-                       Minimum = cvt.ConvertFromString (smin);
-                       Maximum = cvt.ConvertFromString (smax);
-
-                       return new Func <object, bool> (CompareArbitrary);
-               }
-
-               bool CompareInt (object value)
-               {
-                       int cv = Convert.ToInt32 (value);
-
-                       return MinimumComparable.CompareTo (cv) <= 0 && MaximumComparable.CompareTo (cv) >= 0;
-               }
-
-               bool CompareDouble (object value)
-               {
-                       double cv = Convert.ToDouble (value);
-                       
-                       return MinimumComparable.CompareTo (cv) <= 0 && MaximumComparable.CompareTo (cv) >= 0;
-               }
-
-               bool CompareArbitrary (object value)
-               {
-                       object cv;
-                       if (value != null && value.GetType () == OperandType)
-                               cv = value;
-                       else if (cvt != null)
-                               cv = cvt.ConvertFrom (value);
-                       else
-                               cv = null;
-                       
-                       return MinimumComparable.CompareTo (cv) <= 0 && MaximumComparable.CompareTo (cv) >= 0;
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RegularExpressionAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RegularExpressionAttribute.cs
deleted file mode 100644 (file)
index d4d3041..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// RegularExpressionAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//  Antoine Cailliau <a.cailliau@maximux.net>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-// Copyright (C) 20011 Maximux Scris. http://maximux.net
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Globalization;
-using System.ComponentModel;
-using System.Text.RegularExpressions;
-
-namespace System.ComponentModel.DataAnnotations
-{
-
-#if NET_4_0
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter, AllowMultiple = false)]
-#else
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]      
-#endif
-       public class RegularExpressionAttribute : ValidationAttribute
-       {
-               public RegularExpressionAttribute (string pattern)
-                       : base(GetDefaultErrorMessage)
-               {
-                       if (pattern == null)
-                               throw new ArgumentNullException("pattern");
-                       Pattern = pattern;
-               }
-
-               public string Pattern { get; private set; }
-
-               static string GetDefaultErrorMessage ()
-               {
-                       return "The field {0} must match the regular expression {1}.";
-               }
-               
-               public override string FormatErrorMessage (string name)
-               {
-                       return string.Format (ErrorMessageString, name, Pattern);
-               }
-
-               // LAMESPEC: does not throw ValidationException when value does not match the regular expression
-               public override bool IsValid (object value)
-               {
-                       if (value == null) 
-                               return true;
-                       
-                       string str = (string) value;
-                       Regex regex = new Regex(Pattern);
-                       return regex.IsMatch(str);
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RequiredAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/RequiredAttribute.cs
deleted file mode 100644 (file)
index da77782..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// RequiredAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008-2010 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-#if NET_4_0
-       [AttributeUsage (AttributeTargets.Parameter|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#else
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#endif
-       public class RequiredAttribute : ValidationAttribute
-       {
-#if NET_4_0
-               public bool AllowEmptyStrings { get; set; }
-#endif
-
-               public override bool IsValid (object value)
-               {
-                       if (value == null)
-                               return false;
-
-                       string s = value as string;
-                       if (s != null
-#if NET_4_0
-                           && !AllowEmptyStrings
-#endif
-                       )
-                               return s.Length > 0;
-
-                       return true;
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldColumnAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldColumnAttribute.cs
deleted file mode 100644 (file)
index c893658..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// RequiredAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-       public class ScaffoldColumnAttribute : Attribute
-       {
-               public ScaffoldColumnAttribute (bool scaffold)
-               {
-                       Scaffold = scaffold;
-               }
-
-               [MonoTODO]
-               public bool Scaffold { get; private set; }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldTableAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ScaffoldTableAttribute.cs
deleted file mode 100644 (file)
index 505f775..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// RequiredAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Class, AllowMultiple = false)]
-       public class ScaffoldTableAttribute : Attribute
-       {
-               public ScaffoldTableAttribute (bool scaffold)
-               {
-                       Scaffold = scaffold;
-               }
-
-               [MonoTODO]
-               public bool Scaffold { get; private set; }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/StringLengthAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/StringLengthAttribute.cs
deleted file mode 100644 (file)
index 20a59e7..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// StringLengthAttribute.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//     Marek Habersack <grendel@twistedcode.net>
-//
-// Copyright (C) 2008-2010 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Globalization;
-using System.ComponentModel;
-
-namespace System.ComponentModel.DataAnnotations
-{
-#if NET_4_0
-       [AttributeUsage (AttributeTargets.Parameter|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#else
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = false)]
-#endif
-       public class StringLengthAttribute : ValidationAttribute
-       {
-               public int MaximumLength { get; private set; }
-#if NET_4_0
-               public int MinimumLength { get; set; }
-#endif
-               public StringLengthAttribute (int maximumLength)
-                       : base (GetDefaultErrorMessage)
-               {
-#if !NET_4_0
-                       if (maximumLength < 0)
-                               throw new ArgumentOutOfRangeException ("maximumLength", String.Format ("Actual value was {0}", maximumLength));
-#endif
-                       MaximumLength = maximumLength;
-               }
-
-               static string GetDefaultErrorMessage ()
-               {
-                       return "The field {0} must be a string with a maximum length of {1}.";
-               }
-
-               public override string FormatErrorMessage (string name)
-               {
-#if NET_4_0
-                       return String.Format (ErrorMessageString, name, MaximumLength, MinimumLength);
-#else
-                       return String.Format (ErrorMessageString, name, MaximumLength);
-#endif
-               }
-
-               public override bool IsValid (object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       string str = (string)value;
-                       int max = MaximumLength;
-#if NET_4_0
-                       int min = MinimumLength;
-
-                       // LAMESPEC: documented to throw ArgumentOutOfRangeException
-                       if (max < 0)
-                               throw new InvalidOperationException ("The maximum length must be a nonnegative integer.");
-
-                       if (min > max)
-                               throw new InvalidOperationException (
-                                       String.Format ("The maximum value '{0}' must be greater than or equal to the minimum value '{1}'.",
-                                                      max, min)
-                               );
-
-                       int len = str.Length;
-                       return len <= max && len >= min;
-#else                  
-                       return str.Length <= max;
-#endif
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/TimestampAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/TimestampAttribute.cs
deleted file mode 100644 (file)
index 4d67b9c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// TimestampAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//      Pablo Ruiz García <pablo.ruiz@gmail.com>
-//
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-// Copyright (C) 2013 Pablo Ruiz García
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_0
-
-using System;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public class TimestampAttribute : Attribute
-       {
-       }
-}
-
-#endif
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UIHintAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UIHintAttribute.cs
deleted file mode 100644 (file)
index ec6e115..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// UIHintAttribute.cs
-//
-// Authors:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2008 Novell Inc. http://novell.com
-// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Runtime.CompilerServices;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsage (AttributeTargets.Property|AttributeTargets.Field, AllowMultiple = true)]
-       public class UIHintAttribute : Attribute
-       {
-               readonly ControlParameters controlParameters;
-
-               public UIHintAttribute (string uiHint)
-                       : this (uiHint, null)
-               {
-               }
-
-               public UIHintAttribute (string uiHint, string presentationLayer)
-                       : this (uiHint, presentationLayer, null)
-               {
-               }
-
-               public UIHintAttribute (string uiHint, string presentationLayer, params object [] controlParameters)
-               {
-                       UIHint = uiHint;
-                       PresentationLayer = presentationLayer;
-                       this.controlParameters = new ControlParameters (controlParameters);
-               }
-
-               public IDictionary<string, object> ControlParameters {
-                       get {
-                               return controlParameters.Dictionary;
-                       }
-               }
-
-               public string PresentationLayer { get; private set; }
-
-               public string UIHint { get; private set; }
-
-#if NET_4_0
-               public override object TypeId {
-                       get {
-                               return this;
-                       }
-               }
-#endif
-
-               public override int GetHashCode ()
-               {
-                       return RuntimeHelpers.GetHashCode (UIHint) ^
-                               RuntimeHelpers.GetHashCode (PresentationLayer);
-               }
-
-               public override bool Equals (object obj)
-               {
-                       var ha = obj as UIHintAttribute;
-                       if (ha == null)
-                               return false;
-
-                       return ha.UIHint == UIHint && 
-                               ha.PresentationLayer == PresentationLayer &&
-                               ha.controlParameters.Equals (controlParameters);
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UrlAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/UrlAttribute.cs
deleted file mode 100644 (file)
index 4fa0dec..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// UrlAttribute.cs
-//
-// Authors:
-//     Marek Safar  <marek.safar@gmail.com>
-//
-// Copyright (C) 2014 Xamarin Inc (http://www.xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_4_5
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [AttributeUsageAttribute (AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
-       public sealed class UrlAttribute : DataTypeAttribute
-       {
-               public UrlAttribute ()
-                       : base (DataType.Url)
-               {
-               }
-
-               public override bool IsValid (object value)
-               {
-                       if (value == null)
-                               return true;
-
-                       var s = value as string;
-                       return s != null && Uri.IsWellFormedUriString (s, UriKind.Absolute);
-               }
-       }
-}
-
-#endif
\ No newline at end of file
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttribute.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttribute.cs
deleted file mode 100644 (file)
index d95ff90..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-//
-// ValidationAttribute.cs
-//
-// Authors:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2008-2010 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-using System.Reflection;
-using System.Globalization;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public abstract class ValidationAttribute : Attribute
-       {
-               const string DEFAULT_ERROR_MESSAGE = "The field {0} is invalid.";
-#if NET_4_0
-               object nestedCallLock = new object ();
-               bool nestedCall;
-#else
-               string errorMessageResourceName;
-               string errorMessageString;
-               Type errorMessageResourceType;
-#endif
-               string errorMessage;
-               string fallbackErrorMessage;
-               Func <string> errorMessageAccessor;
-               
-               protected ValidationAttribute ()
-               {
-               }
-
-               protected ValidationAttribute (Func<string> errorMessageAccessor)
-               {
-                       this.errorMessageAccessor = errorMessageAccessor;
-               }
-
-               protected ValidationAttribute (string errorMessage)
-               {
-                       fallbackErrorMessage = errorMessage;
-               }
-
-               public virtual string FormatErrorMessage (string name)
-               {
-                       string format = ErrorMessageString;
-                       if (String.IsNullOrEmpty (format))
-                               return String.Empty;
-
-                       return String.Format (ErrorMessageString, name);
-               }
-#if NET_4_0
-               public string ErrorMessage {
-                       get { return errorMessage; }
-                       set {
-                               errorMessage = value;
-                               if (errorMessage != null)
-                                       errorMessageAccessor = null;
-                       }
-               }
-               public string ErrorMessageResourceName { get; set; }
-               public Type ErrorMessageResourceType { get; set; }
-#else
-               public string ErrorMessage {
-                       get { return errorMessage; }
-
-                       set {
-#if !NET_4_0
-                               if (errorMessage != null)
-                                       throw new InvalidOperationException ("This property can be set only once.");
-#endif
-                               if (String.IsNullOrEmpty (value))
-                                       throw new ArgumentException ("Value cannot be null or empty.", "value");
-
-                               if (errorMessageResourceName != null || errorMessageResourceType != null)
-                                       throw new InvalidOperationException ("This property cannot be set because the attribute is already in the resource mode.");
-                               
-                               errorMessage = value;
-                       }
-               }
-
-               public string ErrorMessageResourceName {
-                       get { return errorMessageResourceName; }
-                       
-                       set {
-                               if (errorMessageResourceName != null)
-                                       throw new InvalidOperationException ("This property can be set only once.");
-
-                               if (String.IsNullOrEmpty (value))
-                                       throw new ArgumentException ("Value cannot be null or empty.", "value");
-
-                               errorMessageResourceName = value;
-                               if (errorMessageResourceType != null)
-                                       errorMessageString = GetStringFromResourceAccessor ();
-                       }
-               }
-
-               public Type ErrorMessageResourceType {
-                       get { return errorMessageResourceType; }
-                       set {
-                               errorMessageResourceType = value;
-                               if (!String.IsNullOrEmpty (errorMessageResourceName))
-                                       errorMessageString = GetStringFromResourceAccessor ();
-                       }
-               }
-#endif         
-               protected string ErrorMessageString {
-                       get { return GetStringFromResourceAccessor (); }
-               }
-
-#if NET_4_5
-               // See: http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validationattribute.requiresvalidationcontext.aspx
-               public virtual bool RequiresValidationContext { get { return false; } }
-#endif
-
-#if NET_4_0
-               NotImplementedException NestedNIEX ()
-               {
-                       return new NotImplementedException ("IsValid(object value) has not been implemented by this class.  The preferred entry point is GetValidationResult() and classes should override IsValid(object value, ValidationContext context).");
-               }
-               
-               //
-               // This is the weirdest (to be gentle) idea ever... The IsValid (object) overload
-               // throws the NIEX when it is called from the default IsValid (object,
-               // ValidationContext) overload, but not when directly. And the reverse situation is
-               // true as well. That means, the calls detect the "nested" calls and that we need to
-               // protect the nestedCall flag... ugh
-               //
-               public virtual bool IsValid (object value)
-               {
-                       lock (nestedCallLock) {
-                               if (nestedCall)
-                                       throw NestedNIEX ();
-                               try {
-                                       nestedCall = true;
-                                       return IsValid (value, null) == ValidationResult.Success;
-                               } finally {
-                                       nestedCall = false;
-                               }
-                       }
-               }
-
-               protected virtual ValidationResult IsValid (object value, ValidationContext validationContext)
-               {
-                       lock (nestedCallLock) {
-                               if (nestedCall)
-                                       throw NestedNIEX ();
-                               
-                               try {
-                                       nestedCall = true;
-                                       if (!IsValid (value)) {
-                                               // .NET emulation
-                                               if (validationContext == null)
-                                                       throw new NullReferenceException (".NET emulation.");
-                                               string memberName = validationContext.MemberName;
-                                               return new ValidationResult (FormatErrorMessage (validationContext.DisplayName), memberName != null ? new string[] { memberName } : new string[] {});
-                                       }
-                               } finally {
-                                       nestedCall = false;
-                               }
-                       }
-
-                       return ValidationResult.Success;
-               }
-#else
-               public abstract bool IsValid (object value);
-#endif
-
-#if NET_4_0
-               public ValidationResult GetValidationResult (object value, ValidationContext validationContext)
-               {
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       ValidationResult ret = IsValid (value, validationContext);
-                       if (ret != null && String.IsNullOrEmpty (ret.ErrorMessage))
-                               ret.ErrorMessage = FormatErrorMessage (validationContext.DisplayName);
-                               
-                       return ret;
-               }
-#endif
-               string GetStringFromResourceAccessor ()
-               {
-                       string resourceName = ErrorMessageResourceName;
-                       Type resourceType = ErrorMessageResourceType;
-                       string errorMessage = ErrorMessage;
-
-                       if (resourceName != null && errorMessage != null)
-                               throw new InvalidOperationException ("Either ErrorMessage or ErrorMessageResourceName must be set, but not both.");
-                       
-                       if (resourceType == null ^ resourceName == null)
-                               throw new InvalidOperationException ("Both ErrorMessageResourceType and ErrorMessageResourceName must be set on this attribute.");
-
-                       
-                       
-                       if (resourceType != null) {
-                               PropertyInfo pi = resourceType.GetProperty (resourceName, BindingFlags.Public | BindingFlags.Static);
-                               if (pi == null || !pi.CanRead)
-                                       throw new InvalidOperationException (
-                                               String.Format ("Resource type '{0}' does not have an accessible static property named '{1}'.",
-                                                              resourceType, resourceName)
-                                       );
-
-                               if (pi.PropertyType != typeof (string))
-                                       throw new InvalidOperationException (
-                                               String.Format ("The property '{0}' on resource type '{1}' is not a string type.",
-                                                              resourceName, resourceType)
-                                       );
-                               
-                               return pi.GetValue (null, null) as string;
-                       }
-                       
-                       if (errorMessage == null) {
-                               if (errorMessageAccessor != null)
-                                       return errorMessageAccessor ();
-                               
-                               if (fallbackErrorMessage != null)
-                                       return fallbackErrorMessage;
-                               else
-                                       return DEFAULT_ERROR_MESSAGE;
-                       }
-                       
-                       return errorMessage;
-               }
-#if NET_4_0
-               public void Validate (object value, ValidationContext validationContext)
-               {
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       ValidationResult result = IsValid (value, validationContext);
-                       if (result != null) {
-                               string message = result.ErrorMessage;
-                               if (message == null)
-                                       message = FormatErrorMessage (validationContext.DisplayName);
-                               
-                               throw new ValidationException (message, this, value);
-                       }
-               }
-#endif
-               public void Validate (object value, string name)
-               {
-                       if (!IsValid (value))
-                               throw new ValidationException (FormatErrorMessage (name), this, value);
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttributeCollectionExtensions.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationAttributeCollectionExtensions.cs
deleted file mode 100644 (file)
index 9dec319..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// Authors:
-//      Marek Habersack <grendel@twistedcode.net>
-//
-// Copyright (C) 2011 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Reflection;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       static class ValidationAttributeCollectionExtensions
-       {
-               public static void Validate <TAttribute> (this AttributeCollection attributes, object value, ValidationContext validationContext,
-                                                         ICollection <ValidationResult> validationResults, ref bool valid)
-                       where TAttribute: ValidationAttribute
-               {
-                       if (attributes == null || attributes == AttributeCollection.Empty || attributes.Count <= 0)
-                               return;
-
-                       ValidationResult result;
-                       foreach (TAttribute attr in attributes.OfType <TAttribute> ()) {
-                               result = attr.GetValidationResult (value, validationContext);
-                               if (result != ValidationResult.Success) {
-                                       valid = false;
-                                       if (validationResults != null)
-                                               validationResults.Add (result);
-                               }
-                       }
-               }
-
-               public static void ValidateExcept <TAttribute> (this AttributeCollection attributes, object value, ValidationContext validationContext,
-                                                               ICollection <ValidationResult> validationResults, ref bool valid)
-                       where TAttribute: ValidationAttribute
-               {
-                       if (attributes == null || attributes == AttributeCollection.Empty || attributes.Count <= 0)
-                               return;
-
-                       ValidationResult result;
-                       ValidationAttribute vattr;
-                       foreach (Attribute attr in attributes) {
-                               if (attr is TAttribute)
-                                       continue;
-                               vattr = attr as ValidationAttribute;
-                               if (vattr == null)
-                                       continue;                               
-
-                               result = vattr.GetValidationResult (value, validationContext);
-                               if (result != ValidationResult.Success) {
-                                       valid = false;
-                                       if (validationResults != null)
-                                               validationResults.Add (result);
-                               }
-                       }
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationContext.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationContext.cs
deleted file mode 100644 (file)
index f39c4a4..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-//
-// ValidationContext.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Design;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public sealed class ValidationContext : IServiceProvider
-       {
-               public string DisplayName { get; set; }
-               public IDictionary <object, object> Items { get; private set; }
-               public string MemberName { get; set; }
-               public object ObjectInstance { get; private set; }
-               public Type ObjectType { get; private set; }
-               public IServiceContainer ServiceContainer { get; private set; }
-               
-               public ValidationContext (object instance, IServiceProvider serviceProvider, IDictionary<object, object> items)
-               {
-                       if (instance == null)
-                               throw new ArgumentNullException ("instance");
-                       
-                       ObjectInstance = instance;
-                       ObjectType = instance.GetType ();
-                       if (items != null)
-                               Items = new Dictionary <object, object> (items);
-                       else
-                               Items = new Dictionary <object, object> ();
-                       
-                       DisplayName = instance.GetType ().Name;
-
-                       // LAMESPEC: MSDN says vc.ServiceContainer should be initialized with the passed container if it implements 
-                       // the IServiceContainer interface - not the case, though.
-                       //
-                       // IServiceContainer container = serviceProvider as IServiceContainer;
-                       // if (container != null)
-                       //      ServiceContainer = container;
-                       // else
-                       ServiceContainer = new ValidationContextServiceContainer ();
-               }
-               
-#if NET_4_5
-               public ValidationContext (object instance)
-                       : this (instance, null, null)
-               {
-               }
-               
-               public ValidationContext (object instance, IDictionary<object, object> items)
-                       : this (instance, null, items)
-               {
-               }
-
-               // FIXME: According to MSDN, this should be defined in
-               //        4.5, Silverlight and PCL
-               [MonoTODO]
-               public void InitializeServiceProvider (
-                       Func<Type, Object> serviceProvider)
-               {
-                       throw new NotImplementedException ();
-               }
-#endif
-               
-               public object GetService (Type serviceType)
-               {
-                       return ServiceContainer.GetService (serviceType);
-               }
-
-               sealed class ValidationContextServiceContainer : IServiceContainer
-               {
-                       Dictionary <Type, object> services = new Dictionary <Type, object> ();
-                       
-                       public void AddService (Type serviceType, ServiceCreatorCallback callback, bool promote)
-                       {
-                               AddService (serviceType, (object)callback, promote);
-                       }
-
-                       public void AddService (Type serviceType, ServiceCreatorCallback callback)
-                       {
-                               AddService (serviceType, callback, false);
-                       }
-
-                       public void AddService (Type serviceType, object serviceInstance, bool promote)
-                       {
-                               if (serviceType == null)
-                                       throw new ArgumentNullException ("serviceType");
-                               
-                               if (services.ContainsKey (serviceType))
-                                       throw new ArgumentException (
-                                               String.Format ("A service of type '{0}' already exists in the container.", serviceType)
-                                       );
-
-                               services.Add (serviceType, serviceInstance);
-                       }
-
-                       public void AddService (Type serviceType, object serviceInstance)
-                       {
-                               AddService (serviceType, serviceInstance, false);
-                       }
-
-                       public void RemoveService (Type serviceType, bool promote)
-                       {
-                               if (serviceType == null)
-                                       throw new ArgumentNullException ("serviceType");
-                               
-                               if (!services.ContainsKey (serviceType))
-                                       return;
-
-                               services.Remove (serviceType);
-                       }
-
-                       public void RemoveService (Type serviceType)
-                       {
-                               RemoveService (serviceType, false);
-                       }
-
-                       public object GetService (Type serviceType)
-                       {
-                               if (serviceType == null)
-                                       throw new ArgumentNullException ("serviceType");
-                               
-                               object o;
-                               if (!services.TryGetValue (serviceType, out o))
-                                       return null;
-
-                               var cb = o as ServiceCreatorCallback;
-                               if (cb != null)
-                                       return cb (this, serviceType);
-
-                               return o;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationException.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationException.cs
deleted file mode 100644 (file)
index f12507a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// ValidationException.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008-2011 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.ComponentModel;
-using System.Runtime.Serialization;
-using System.Security.Permissions;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       [Serializable]
-       public class ValidationException : Exception
-       {
-               public ValidationException ()
-               {
-               }
-               public ValidationException (string message)
-                       : base (message)
-               {
-               }
-               public ValidationException (string message, Exception innerException)
-                       : base (message, innerException)
-               {
-               }
-
-               public ValidationException (string errorMessage, ValidationAttribute validatingAttribute, object value)
-                       : base (errorMessage)
-               {
-                       ValidationAttribute = validatingAttribute;
-                       Value = value;
-               }
-
-               protected ValidationException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-                       throw new NotImplementedException ();
-               }
-#if NET_4_0
-               public ValidationException (ValidationResult validationResult, ValidationAttribute validatingAttribute, object value)
-                       : this (validationResult != null ? validationResult.ErrorMessage : null, validatingAttribute, value)
-               {
-                       this.ValidationResult = validationResult;
-               }
-
-               public ValidationResult ValidationResult { get; private set; }
-#endif
-               public ValidationAttribute ValidationAttribute { get; private set; }
-               public object Value { get; private set; }
-
-#if !NET_4_5
-               [SecurityPermission (SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
-               public override void GetObjectData (SerializationInfo info, StreamingContext context)
-               {
-                       throw new NotImplementedException ();
-               }
-#endif
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationResult.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/ValidationResult.cs
deleted file mode 100644 (file)
index 50afd21..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// ValidationResult.cs
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell Inc. (http://novell.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       public class ValidationResult
-       {
-               public static readonly ValidationResult Success = null; // it is supposed to be null
-
-               public string ErrorMessage { get; set; }
-               public IEnumerable<string> MemberNames { get; private set; }
-               
-               public ValidationResult (string errorMessage)
-               : this (errorMessage, new string[] {})
-                       
-               {
-               }
-
-               protected ValidationResult (ValidationResult validationResult)
-               {
-               }
-
-               public ValidationResult (string errorMessage, IEnumerable<string> memberNames)
-               {
-                       ErrorMessage = errorMessage;
-                       if (memberNames != null)
-                               MemberNames = memberNames;
-                       else
-                               MemberNames = new string[] {};
-               }
-
-#if NET_4_5
-               public override string ToString ()
-               {
-                       // See: http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validationresult.tostring.aspx
-                       if (!string.IsNullOrEmpty (ErrorMessage))
-                               return ErrorMessage;
-
-                       return base.ToString ();
-               }
-#endif
-       }
-}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/Validator.cs b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/Validator.cs
deleted file mode 100644 (file)
index 18f98fe..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-//
-// Authors:
-//      Marek Habersack <grendel@twistedcode.net>
-//
-// Copyright (C) 2011 Novell Inc. http://novell.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Reflection;
-
-namespace System.ComponentModel.DataAnnotations
-{
-       // TODO: we could probably use some kind of type cache here
-       public static class Validator
-       {
-               public static bool TryValidateObject (object instance, ValidationContext validationContext, ICollection <ValidationResult> validationResults)
-               {
-                       return TryValidateObject (instance, validationContext, validationResults, false);
-               }
-
-               public static bool TryValidateObject (object instance, ValidationContext validationContext, ICollection <ValidationResult> validationResults, bool validateAllProperties)
-               {
-                       if (instance == null)
-                               throw new ArgumentNullException ("instance");
-
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       if (!Object.ReferenceEquals (instance, validationContext.ObjectInstance))
-                               throw new ArgumentException ("The instance provided must match the ObjectInstance on the ValidationContext supplied.", "instance");
-
-                       bool valid = true;
-                       Type instanceType = instance.GetType ();
-                       TypeDescriptor.GetAttributes (instanceType).Validate <ValidationAttribute> (instance, validationContext, validationResults, ref valid);
-                       
-                       PropertyDescriptorCollection properties = TypeDescriptor.GetProperties (instance);
-                       if (properties != PropertyDescriptorCollection.Empty && properties.Count > 0) {
-                               foreach (PropertyDescriptor pdesc in properties) {
-                                       object value = pdesc.GetValue (instance);
-                                       ValidateProperty (pdesc, value, validationContext, validationResults, validateAllProperties, ref valid);
-                               }
-                       }
-                       
-                       return valid;
-               }
-
-               static void ValidateProperty (PropertyDescriptor pdesc, object value, ValidationContext validationContext, ICollection <ValidationResult> validationResults,
-                                             bool validateAll, ref bool valid)
-               {
-                       AttributeCollection attributes = pdesc.Attributes;
-                       attributes.Validate <RequiredAttribute> (value, validationContext, validationResults, ref valid);
-                       if (validateAll)
-                               attributes.ValidateExcept <RequiredAttribute> (value, validationContext, validationResults, ref valid);
-               }
-               
-               static PropertyDescriptor GetProperty (Type type, string propertyName, object value)
-               {
-                       if (String.IsNullOrEmpty (propertyName))
-                               throw new ArgumentNullException ("propertyName");
-
-                       PropertyDescriptorCollection properties = TypeDescriptor.GetProperties (type);
-                       PropertyDescriptor pdesc = null;
-                       if (properties != PropertyDescriptorCollection.Empty && properties.Count > 0)
-                               pdesc = properties.Find (propertyName, false);
-
-                       if (pdesc == null)
-                               throw new ArgumentException (String.Format ("The type '{0}' does not contain a public property named '{1}'.", type.Name, propertyName), "propertyName");
-
-                       Type valueType = value == null ? null : value.GetType ();
-                       Type propertyType = pdesc.PropertyType;
-                       bool invalidType = false;
-
-                       if (valueType == null)
-                               invalidType = (propertyType.IsValueType && Nullable.GetUnderlyingType(propertyType) == null);
-                       else
-                               invalidType = !propertyType.IsAssignableFrom(valueType);
-                       
-                       if (invalidType)
-                               throw new ArgumentException (String.Format ("The value of property '{0}' must be of type '{1}'.", propertyName, propertyType.FullName), "propertyName");
-                       
-                       return pdesc;
-               }
-               
-               public static bool TryValidateProperty (object value, ValidationContext validationContext, ICollection <ValidationResult> validationResults)
-               {
-                       // LAMESPEC: value can be null, validationContext must not
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       PropertyDescriptor pdesc = GetProperty (validationContext.ObjectType, validationContext.MemberName, value);
-
-                       bool valid = true;
-                       ValidateProperty (pdesc, value, validationContext, validationResults, true, ref valid);
-
-                       return valid;
-               }
-
-               public static bool TryValidateValue (object value, ValidationContext validationContext, ICollection<ValidationResult> validationResults,
-                                                    IEnumerable <ValidationAttribute> validationAttributes)
-               {
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       ValidationResult result;
-                       
-                       // It appears .NET makes this call before checking whether
-                       // validationAttributes is null...
-                       ValidationAttribute vattr = validationAttributes.FirstOrDefault <ValidationAttribute> (attr => attr is RequiredAttribute);
-                       if (vattr != null) {
-                               result = vattr.GetValidationResult (value, validationContext);
-                               if (result != ValidationResult.Success) {
-                                       if (validationResults != null)
-                                               validationResults.Add (result);
-                                       return false;
-                               }
-                       }
-
-                       if (validationAttributes == null)
-                               return true;
-
-                       bool valid = true;
-                       foreach (ValidationAttribute attr in validationAttributes) {
-                               if (attr == null || (attr is RequiredAttribute))
-                                       continue;
-                               
-                               result = attr.GetValidationResult (value, validationContext);
-                               if (result != ValidationResult.Success) {
-                                       valid = false;
-                                       if (validationResults != null)
-                                               validationResults.Add (result);
-                               }
-                       }
-                       
-                       return valid;
-               }
-
-               public static void ValidateObject (object instance, ValidationContext validationContext)
-               {
-                       ValidateObject (instance, validationContext, false);
-               }
-
-               public static void ValidateObject (object instance, ValidationContext validationContext, bool validateAllProperties)
-               {
-                       if (instance == null)
-                               throw new ArgumentNullException ("instance");
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       var validationResults = new List <ValidationResult> ();
-                       if (TryValidateObject (instance, validationContext, validationResults, validateAllProperties))
-                               return;
-
-                       ValidationResult result = validationResults.Count > 0 ? validationResults [0] : null;
-                       throw new ValidationException (result, null, instance);
-               }
-
-               public static void ValidateProperty (object value, ValidationContext validationContext)
-               {
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       var validationResults = new List <ValidationResult> ();
-                       if (TryValidateProperty (value, validationContext, validationResults))
-                               return;
-
-                       ValidationResult result = validationResults.Count > 0 ? validationResults [0] : null;
-                       throw new ValidationException (result, null, value);
-               }
-
-               public static void ValidateValue (object value, ValidationContext validationContext, IEnumerable <ValidationAttribute> validationAttributes)
-               {
-                       if (validationContext == null)
-                               throw new ArgumentNullException ("validationContext");
-
-                       var validationResults = new List <ValidationResult> ();
-                       if (TryValidateValue (value, validationContext, validationResults, validationAttributes))
-                               return;
-
-                       ValidationResult result = validationResults.Count > 0 ? validationResults [0] : null;
-                       throw new ValidationException (result, null, value);
-               }
-       }
-}
index 67ed9dac2838569db0ad35c9e20250bd796767a3..846ee326176cf4aaa46dd69ba1421be78055a3af 100644 (file)
@@ -46,14 +46,12 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
                        var sla = new CreditCardAttribute ();
 
                        Assert.IsTrue (sla.IsValid (null), "#A1-1");
-                       Assert.IsFalse (sla.IsValid (String.Empty), "#A1-2");
+                       Assert.IsTrue (sla.IsValid (String.Empty), "#A1-2");
                        Assert.IsFalse (sla.IsValid ("string"), "#A1-3");
                        Assert.IsTrue (sla.IsValid ("378282246310005"), "#A1-4");
                        Assert.IsTrue (sla.IsValid ("3782-8224-6310-005"), "#A1-5");
                        Assert.IsTrue (sla.IsValid ("371449635398431"), "#A-6");
-#if false
                        Assert.IsFalse (sla.IsValid ("371449635498431"), "#A-6b");
-#endif
                        Assert.IsFalse (sla.IsValid (true), "#A1-7");
                        Assert.IsFalse (sla.IsValid (DateTime.Now), "#A1-8");
                }
index 0753fde5a6995dd5a868b4c329fb6854efe989c9..3d54000c5dd8ab3c0ff2daa9a909a4c49d05b1ab 100644 (file)
@@ -71,7 +71,7 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
        public class DisplayAttributeTests
        {
                const string property_not_set_message = "The {0} property has not been set.  Use the Get{0} method to get the value.";
-               const string localization_failed_message = "Cannot retrieve property '{0}' because localization failed. Type '{1} is not public or does not contain a public static string property with the name '{2}'.";
+               const string localization_failed_message = "Cannot retrieve property '{0}' because localization failed. Type '{1}' is not public or does not contain a public static string property with the name '{2}'.";
        
                [Test]
                public void StringProperties_ReturnLiteralValues_Success()
index 09350cde8fda4bed66a18cdf15273dfb0cbce995..552e3eae6a44da5ba82b9dfc5e24f6604f6a0b9b 100644 (file)
@@ -50,11 +50,6 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
                        "$A12345@example.com",
                        "!def!xyz%abc@example.com",
                        "_somename@example.com",
-                       "valid.ipv4.addr@[123.1.72.10]",
-                       "valid.ipv6.addr@[IPv6:0::1]",
-                       "valid.ipv6.addr@[IPv6:2607:f0d0:1002:51::4]",
-                       "valid.ipv6.addr@[IPv6:fe80::230:48ff:fe33:bc33]",
-                       "valid.ipv6v4.addr@[IPv6:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:127.0.0.1]",
                };
 
                static readonly object[] InvalidAddresses = new object[] {
@@ -69,6 +64,12 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
                        "invalid@[127.0.0.1.]",
                        "invalid@[127.0.0.1].",
                        "invalid@[127.0.0.1]x",
+
+                       "valid.ipv4.addr@[123.1.72.10]",
+                       "valid.ipv6.addr@[IPv6:0::1]",
+                       "valid.ipv6.addr@[IPv6:2607:f0d0:1002:51::4]",
+                       "valid.ipv6.addr@[IPv6:fe80::230:48ff:fe33:bc33]",
+                       "valid.ipv6v4.addr@[IPv6:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:127.0.0.1]",
                };
 
                [Test]
index 6577839650226a09905c65264a3c74aa051a92a4..163e1a738b76aae3e4cc8d342826aabe86e96488 100644 (file)
@@ -90,26 +90,29 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
                        Assert.IsTrue (rea.IsValid (null), "Null does not match [A-Za-z].");
                        Assert.IsTrue (rea.IsValid ("A"), "'A' does not match [A-Za-z].");
                        Assert.IsTrue (rea.IsValid ("a"), "'a' does not match [A-Za-z].");
-                       Assert.IsTrue (rea.IsValid ("Bz"), "'Bz' does not match [A-Za-z].");
-                       Assert.IsTrue (rea.IsValid ("string"), "'string' does not match [A-Za-z].");
-                       Assert.IsFalse (rea.IsValid (String.Empty), "Empty string matches [A-Za-z].");
+                       Assert.IsFalse (rea.IsValid ("Bz"), "'Bz' does not match [A-Za-z].");
+                       Assert.IsFalse (rea.IsValid ("string"), "'string' does not match [A-Za-z].");
+                       Assert.IsTrue (rea.IsValid (String.Empty), "Empty string matches [A-Za-z].");
                        Assert.IsFalse (rea.IsValid ("0123456789"), "'0123456789' matches [A-Za-z].");
                        Assert.IsFalse (rea.IsValid ("0123456789"), "'0123456789A' matches [A-Za-z].");
-                       AssertExtensions.Throws<InvalidCastException> (() => {
-                               rea.IsValid (123);
-                       }, "Casting does not fails");
-                       AssertExtensions.Throws<InvalidCastException> (() => {
-                               rea.IsValid (DateTime.Now);
-                       }, "Casting does not fails");
+                       Assert.IsFalse (rea.IsValid (123), "Casting does not fails");
+                       Assert.IsFalse (rea.IsValid (DateTime.Now), "Casting does not fails");
 
                        rea = new RegularExpressionAttributePoker ("");
-                       Assert.IsTrue (rea.IsValid (null), "null does not match empty pattern");
-                       Assert.IsTrue (rea.IsValid (String.Empty), "empty string does not match empty pattern");
-                       Assert.IsTrue (rea.IsValid ("string"), "'string' does not match empty pattern");
+
+                       AssertExtensions.Throws<InvalidOperationException> (() => {
+                               rea.IsValid (null);
+                       }, "null does not match empty pattern");
+
+                       AssertExtensions.Throws<InvalidOperationException> (() => {
+                               rea.IsValid (String.Empty);
+                       }, "empty string does not match empty pattern");
+
+                       AssertExtensions.Throws<InvalidOperationException> (() => {
+                               rea.IsValid ("string");
+                       }, "'string' does not match empty pattern");
                        
-                       AssertExtensions.Throws<ArgumentNullException> (() => {
-                               rea = new RegularExpressionAttributePoker (null);
-                       }, "Null pattern allowed");
+                       rea = new RegularExpressionAttributePoker (null);
                }
        }
 }
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/mobile_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/mobile_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 3de14f5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include net_4_5_System.ComponentModel.DataAnnotations.dll.sources
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/mobile_static_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/mobile_static_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 3de14f5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include net_4_5_System.ComponentModel.DataAnnotations.dll.sources
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 3de14f5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include net_4_5_System.ComponentModel.DataAnnotations.dll.sources
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/monotouch_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/monotouch_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 3de14f5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include net_4_5_System.ComponentModel.DataAnnotations.dll.sources
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/net_4_0_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/net_4_0_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index a5a9a9d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#include System.ComponentModel.DataAnnotations.dll.sources
-
-System.ComponentModel.DataAnnotations/FilterUIHintAttribute.cs
-System.ComponentModel.DataAnnotations/KeyAttribute.cs
-System.ComponentModel.DataAnnotations/TimestampAttribute.cs
-System.ComponentModel.DataAnnotations/ValidationAttributeCollectionExtensions.cs
-System.ComponentModel.DataAnnotations/ValidationContext.cs
-System.ComponentModel.DataAnnotations/ValidationResult.cs
-System.ComponentModel.DataAnnotations/Validator.cs
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/net_4_5_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/net_4_5_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 49e068c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include net_4_0_System.ComponentModel.DataAnnotations.dll.sources
-
-System.ComponentModel.DataAnnotations/MinLengthAttribute.cs
-System.ComponentModel.DataAnnotations/MaxLengthAttribute.cs
-System.ComponentModel.DataAnnotations/CreditCardAttribute.cs
-System.ComponentModel.DataAnnotations/EmailAddressAttribute.cs
-System.ComponentModel.DataAnnotations/PhoneAttribute.cs
-System.ComponentModel.DataAnnotations/FileExtensionsAttribute.cs
-System.ComponentModel.DataAnnotations/CompareAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/ColumnAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/ComplexTypeAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/DatabaseGeneratedOption.cs
-System.ComponentModel.DataAnnotations.Schema/ForeignKeyAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/InversePropertyAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/NotMappedAttribute.cs
-System.ComponentModel.DataAnnotations.Schema/TableAttribute.cs
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/xammac_System.ComponentModel.DataAnnotations.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/xammac_System.ComponentModel.DataAnnotations.dll.sources
deleted file mode 100644 (file)
index 3de14f5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include net_4_5_System.ComponentModel.DataAnnotations.dll.sources
diff --git a/mcs/class/System.Configuration.Install/System.Configuration.Install-net_2_0.csproj b/mcs/class/System.Configuration.Install/System.Configuration.Install-net_2_0.csproj
deleted file mode 100644 (file)
index 2c42625..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{C8B650EA-042C-4352-8224-03F759A682C6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Configuration.Install</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Configuration.Install\AssemblyInstaller.cs" />\r
-    <Compile Include="System.Configuration.Install\ComponentInstaller.cs" />\r
-    <Compile Include="System.Configuration.Install\IManagedInstaller.cs" />\r
-    <Compile Include="System.Configuration.Install\InstallContext.cs" />\r
-    <Compile Include="System.Configuration.Install\Installer.cs" />\r
-    <Compile Include="System.Configuration.Install\InstallerCollection.cs" />\r
-    <Compile Include="System.Configuration.Install\InstallEventArgs.cs" />\r
-    <Compile Include="System.Configuration.Install\InstallEventHandler.cs" />\r
-    <Compile Include="System.Configuration.Install\InstallException.cs" />\r
-    <Compile Include="System.Configuration.Install\ManagedInstallerClass.cs" />\r
-    <Compile Include="System.Configuration.Install\TransactedInstaller.cs" />\r
-    <Compile Include="System.Configuration.Install\UninstallAction.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Configuration/System.Configuration-net_2_0.csproj b/mcs/class/System.Configuration/System.Configuration-net_2_0.csproj
deleted file mode 100644 (file)
index 6c2ede7..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2695A2F2-2271-423D-8E0D-553DAB84E917}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Configuration</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Configuration.Internal\DelegatingConfigHost.cs" />\r
-    <Compile Include="System.Configuration.Internal\IConfigErrorInfo.cs" />\r
-    <Compile Include="System.Configuration.Internal\IConfigSystem.cs" />\r
-    <Compile Include="System.Configuration.Internal\IConfigurationManagerHelper.cs" />\r
-    <Compile Include="System.Configuration.Internal\IConfigurationManagerInternal.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigClientHost.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigConfigurationFactory.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigHost.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigRecord.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigRoot.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigSettingsFactory.cs" />\r
-    <Compile Include="System.Configuration.Internal\IInternalConfigSystem.cs" />\r
-    <Compile Include="System.Configuration.Internal\InternalConfigEventArgs.cs" />\r
-    <Compile Include="System.Configuration.Internal\InternalConfigEventHandler.cs" />\r
-    <Compile Include="System.Configuration.Internal\StreamChangeCallback.cs" />\r
-    <Compile Include="System.Configuration.Provider\ProviderBase.cs" />\r
-    <Compile Include="System.Configuration.Provider\ProviderCollection.cs" />\r
-    <Compile Include="System.Configuration.Provider\ProviderException.cs" />\r
-    <Compile Include="System.Configuration\AppSettingsSection.cs" />\r
-    <Compile Include="System.Configuration\CallbackValidator.cs" />\r
-    <Compile Include="System.Configuration\CallbackValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\ClientConfigurationSystem.cs" />\r
-    <Compile Include="System.Configuration\CommaDelimitedStringCollection.cs" />\r
-    <Compile Include="System.Configuration\CommaDelimitedStringCollectionConverter.cs" />\r
-    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
-    <Compile Include="System.Configuration\ConfigInfo.cs" />\r
-    <Compile Include="System.Configuration\Configuration.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationAllowDefinition.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationAllowExeDefinition.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationCollectionAttribute.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationConverterBase.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationElement.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationElementCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationElementCollectionType.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationElementProperty.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationErrorsException.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationFileMap.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationLocation.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationLocationCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationLockCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationManager.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationPermission.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationPermissionAttribute.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationProperty.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationPropertyAttribute.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationPropertyCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationPropertyOptions.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationRemoveElement.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSaveEventArgs.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSaveEventHandler.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSaveMode.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSectionCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSectionGroup.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSectionGroupCollection.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationUserLevel.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationValidatorBase.cs" />\r
-    <Compile Include="System.Configuration\ConfigXmlTextReader.cs" />\r
-    <Compile Include="System.Configuration\ConnectionStringSettings.cs" />\r
-    <Compile Include="System.Configuration\ConnectionStringSettingsCollection.cs" />\r
-    <Compile Include="System.Configuration\ConnectionStringsSection.cs" />\r
-    <Compile Include="System.Configuration\ContextInformation.cs" />\r
-    <Compile Include="System.Configuration\DefaultSection.cs" />\r
-    <Compile Include="System.Configuration\DefaultValidator.cs" />\r
-    <Compile Include="System.Configuration\DpapiProtectedConfigurationProvider.cs" />\r
-    <Compile Include="System.Configuration\ElementInformation.cs" />\r
-    <Compile Include="System.Configuration\ExeConfigurationFileMap.cs" />\r
-    <Compile Include="System.Configuration\ExeContext.cs" />\r
-    <Compile Include="System.Configuration\GenericEnumConverter.cs" />\r
-    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
-    <Compile Include="System.Configuration\IgnoreSection.cs" />\r
-    <Compile Include="System.Configuration\InfiniteIntConverter.cs" />\r
-    <Compile Include="System.Configuration\InfiniteTimeSpanConverter.cs" />\r
-    <Compile Include="System.Configuration\IntegerValidator.cs" />\r
-    <Compile Include="System.Configuration\IntegerValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\InternalConfigurationFactory.cs" />\r
-    <Compile Include="System.Configuration\InternalConfigurationHost.cs" />\r
-    <Compile Include="System.Configuration\InternalConfigurationRoot.cs" />\r
-    <Compile Include="System.Configuration\KeyValueConfigurationCollection.cs" />\r
-    <Compile Include="System.Configuration\KeyValueConfigurationElement.cs" />\r
-    <Compile Include="System.Configuration\KeyValueInternalCollection.cs" />\r
-    <Compile Include="System.Configuration\LongValidator.cs" />\r
-    <Compile Include="System.Configuration\LongValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\NameValueConfigurationCollection.cs" />\r
-    <Compile Include="System.Configuration\NameValueConfigurationElement.cs" />\r
-    <Compile Include="System.Configuration\PositiveTimeSpanValidator.cs" />\r
-    <Compile Include="System.Configuration\PositiveTimeSpanValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\PropertyInformation.cs" />\r
-    <Compile Include="System.Configuration\PropertyInformationCollection.cs" />\r
-    <Compile Include="System.Configuration\PropertyValueOrigin.cs" />\r
-    <Compile Include="System.Configuration\ProtectedConfiguration.cs" />\r
-    <Compile Include="System.Configuration\ProtectedConfigurationProvider.cs" />\r
-    <Compile Include="System.Configuration\ProtectedConfigurationProviderCollection.cs" />\r
-    <Compile Include="System.Configuration\ProtectedConfigurationSection.cs" />\r
-    <Compile Include="System.Configuration\ProtectedProviderSettings.cs" />\r
-    <Compile Include="System.Configuration\ProviderSettings.cs" />\r
-    <Compile Include="System.Configuration\ProviderSettingsCollection.cs" />\r
-    <Compile Include="System.Configuration\RegexStringValidator.cs" />\r
-    <Compile Include="System.Configuration\RegexStringValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\RsaProtectedConfigurationProvider.cs" />\r
-    <Compile Include="System.Configuration\SectionGroupInfo.cs" />\r
-    <Compile Include="System.Configuration\SectionInfo.cs" />\r
-    <Compile Include="System.Configuration\SectionInformation.cs" />\r
-    <Compile Include="System.Configuration\StringValidator.cs" />\r
-    <Compile Include="System.Configuration\StringValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\SubclassTypeValidator.cs" />\r
-    <Compile Include="System.Configuration\SubclassTypeValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanMinutesConverter.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanMinutesOrInfiniteConverter.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanSecondsConverter.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanSecondsOrInfiniteConverter.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanValidator.cs" />\r
-    <Compile Include="System.Configuration\TimeSpanValidatorAttribute.cs" />\r
-    <Compile Include="System.Configuration\TypeNameConverter.cs" />\r
-    <Compile Include="System.Configuration\ValidatorCallback.cs" />\r
-    <Compile Include="System.Configuration\WhiteSpaceTrimStringConverter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-1.csproj">\r
-      <Project>{5A1ED72C-ADAB-4396-AB03-D0E26AA91E90}</Project>\r
-      <Name>System\System-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0.csproj">\r
-      <Project>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Configuration/System.Configuration-tests-net_2_0.csproj b/mcs/class/System.Configuration/System.Configuration-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 9ac1884..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5C13CE48-3692-4869-8205-730A86C0BE0F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.Configuration-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Configuration_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Configuration.Provider\ProviderBaseTest.cs" />\r
-    <Compile Include="Test\System.Configuration.Provider\ProviderCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\AppSettingsSectionTest.cs" />    
-    <Compile Include="Test\System.Configuration\CallbackValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\CommaDelimitedStringCollectionConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\CommaDelimitedStringCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationElementTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationErrorsExceptionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationLockCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationManagerTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationPermissionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationPropertyTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationSaveTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationSectionGroupTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationSectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConnectionStringSettingsTest.cs" />\r
-    <Compile Include="Test\System.Configuration\DefaultValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ExeConfigurationFileMapTest.cs" />\r
-    <Compile Include="Test\System.Configuration\GenericEnumConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\InfiniteIntConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\InfiniteTimeSpanConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\IntegerValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\KeyValueConfigurationCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\KeyValueConfigurationElementTest.cs" />\r
-    <Compile Include="Test\System.Configuration\LongValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\PositiveTimeSpanValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\RegexStringValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\StringValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SubclassTypeValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TimeSpanMinutesConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TimeSpanMinutesOrInfiniteConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TimeSpanSecondsConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TimeSpanSecondsOrInfiniteConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TimeSpanValidatorTest.cs" />\r
-    <Compile Include="Test\System.Configuration\TypeNameConverterTest.cs" />\r
-    <Compile Include="Test\System.Configuration\WhiteSpaceTrimStringConverterTest.cs" />\r
-    <Compile Include="Test\Util\TestLabel.cs" />\r
-    <Compile Include="Test\Util\TestUtil.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-1.csproj">\r
-      <Project>{5A1ED72C-ADAB-4396-AB03-D0E26AA91E90}</Project>\r
-      <Name>System\System-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0.csproj">\r
-      <Project>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index eeca6391a148100f8f228a3eaf03059b546f4320..3480ca910981bf637ad374df4cb3879be7ad9a45 100644 (file)
@@ -4,7 +4,8 @@ include ../../build/rules.make
 
 LIBRARY = System.Core.dll
 
-LIB_MCS_FLAGS = -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
+REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5
+LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
 
 ifneq (2.1, $(FRAMEWORK_VERSION))
 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
diff --git a/mcs/class/System.Core/ReferenceSources/SR.cs b/mcs/class/System.Core/ReferenceSources/SR.cs
new file mode 100644 (file)
index 0000000..ad05d3d
--- /dev/null
@@ -0,0 +1,55 @@
+//
+// SR.cs: Manually collected resource strings for ReferenceSources
+//
+// Authors:
+//     Marek Safar  <marek.safar@gmail.com>
+//
+// Copyright (C) 2014 Xamarin Inc (http://www.xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+partial class SR
+{
+       public const string MoreThanOneMatch = "MoreThanOneMatch";
+       public const string NoElements = "NoElements";
+       public const string PLINQ_CommonEnumerator_Current_NotStarted = "PLINQ_CommonEnumerator_Current_NotStarted";
+       public const string PLINQ_DisposeRequested = "PLINQ_DisposeRequested";
+       public const string PLINQ_EnumerationPreviouslyFailed = "PLINQ_EnumerationPreviouslyFailed";
+       public const string PLINQ_ExternalCancellationRequested = "PLINQ_ExternalCancellationRequested";
+       public const string ParallelEnumerable_BinaryOpMustUseAsParallel = "ParallelEnumerable_BinaryOpMustUseAsParallel";
+       public const string ParallelEnumerable_WithCancellation_TokenSourceDisposed = "ParallelEnumerable_WithCancellation_TokenSourceDisposed";
+       public const string ParallelEnumerable_WithMergeOptions_InvalidOptions = "ParallelEnumerable_WithMergeOptions_InvalidOptions";
+       public const string ParallelEnumerable_WithQueryExecutionMode_InvalidMode = "ParallelEnumerable_WithQueryExecutionMode_InvalidMode";
+       public const string ParallelPartitionable_IncorretElementCount = "ParallelPartitionable_IncorretElementCount";
+       public const string ParallelPartitionable_NullElement = "ParallelPartitionable_NullElement";
+       public const string ParallelPartitionable_NullReturn = "ParallelPartitionable_NullReturn";
+       public const string ParallelQuery_DuplicateDOP = "ParallelQuery_DuplicateDOP";
+       public const string ParallelQuery_DuplicateExecutionMode = "The WithExecutionMode operator may be used at most once in a query.";
+       public const string ParallelQuery_DuplicateMergeOptions = "ParallelQuery_DuplicateMergeOptions";
+       public const string ParallelQuery_DuplicateTaskScheduler = "ParallelQuery_DuplicateTaskScheduler";
+       public const string ParallelQuery_DuplicateWithCancellation = "ParallelQuery_DuplicateWithCancellation";
+       public const string ParallelQuery_InvalidAsOrderedCall = "AsOrdered may only be called on the result of AsParallel, ParallelEnumerable.Range, or ParallelEnumerable.Repeat.";
+       public const string ParallelQuery_InvalidNonGenericAsOrderedCall = "ParallelQuery_InvalidNonGenericAsOrderedCall";
+       public const string ParallelQuery_PartitionerNotOrderable = "ParallelQuery_PartitionerNotOrderable";
+       public const string PartitionerQueryOperator_NullPartition = "PartitionerQueryOperator_NullPartition";
+       public const string PartitionerQueryOperator_NullPartitionList = "PartitionerQueryOperator_NullPartitionList";
+       public const string PartitionerQueryOperator_WrongNumberOfPartitions = "PartitionerQueryOperator_WrongNumberOfPartitions";
+}
diff --git a/mcs/class/System.Core/ReferenceSources/Set.cs b/mcs/class/System.Core/ReferenceSources/Set.cs
new file mode 100644 (file)
index 0000000..533a914
--- /dev/null
@@ -0,0 +1,113 @@
+// Extracted from ../../../external/referencesource/System.Core/System/Linq/Enumerable.cs
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading;
+
+namespace System.Linq
+{
+    internal class Set<TElement>
+    {
+        int[] buckets;
+        Slot[] slots;
+        int count;
+        int freeList;
+        IEqualityComparer<TElement> comparer;
+
+        public Set() : this(null) { }
+
+        public Set(IEqualityComparer<TElement> comparer) {
+            if (comparer == null) comparer = EqualityComparer<TElement>.Default;
+            this.comparer = comparer;
+            buckets = new int[7];
+            slots = new Slot[7];
+            freeList = -1;
+        }
+
+        // If value is not in set, add it and return true; otherwise return false
+        public bool Add(TElement value) {
+            return !Find(value, true);
+        }
+
+        // Check whether value is in set
+        public bool Contains(TElement value) {
+            return Find(value, false);
+        }
+
+        // If value is in set, remove it and return true; otherwise return false
+        public bool Remove(TElement value) {
+            int hashCode = InternalGetHashCode(value);
+            int bucket = hashCode % buckets.Length;
+            int last = -1;
+            for (int i = buckets[bucket] - 1; i >= 0; last = i, i = slots[i].next) {
+                if (slots[i].hashCode == hashCode && comparer.Equals(slots[i].value, value)) {
+                    if (last < 0) {
+                        buckets[bucket] = slots[i].next + 1;
+                    }
+                    else {
+                        slots[last].next = slots[i].next;
+                    }
+                    slots[i].hashCode = -1;
+                    slots[i].value = default(TElement);
+                    slots[i].next = freeList;
+                    freeList = i;
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        bool Find(TElement value, bool add) {
+            int hashCode = InternalGetHashCode(value);
+            for (int i = buckets[hashCode % buckets.Length] - 1; i >= 0; i = slots[i].next) {
+                if (slots[i].hashCode == hashCode && comparer.Equals(slots[i].value, value)) return true;
+            }
+            if (add) {
+                int index;
+                if (freeList >= 0) {
+                    index = freeList;
+                    freeList = slots[index].next;
+                }
+                else {
+                    if (count == slots.Length) Resize();
+                    index = count;
+                    count++;
+                }
+                int bucket = hashCode % buckets.Length;
+                slots[index].hashCode = hashCode;
+                slots[index].value = value;
+                slots[index].next = buckets[bucket] - 1;
+                buckets[bucket] = index + 1;
+            }
+            return false;
+        }
+
+        void Resize() {
+            int newSize = checked(count * 2 + 1);
+            int[] newBuckets = new int[newSize];
+            Slot[] newSlots = new Slot[newSize];
+            Array.Copy(slots, 0, newSlots, 0, count);
+            for (int i = 0; i < count; i++) {
+                int bucket = newSlots[i].hashCode % newSize;
+                newSlots[i].next = newBuckets[bucket] - 1;
+                newBuckets[bucket] = i + 1;
+            }
+            buckets = newBuckets;
+            slots = newSlots;
+        }
+
+        internal int InternalGetHashCode(TElement value)
+        {
+            //[....] DevDivBugs 171937. work around comparer implementations that throw when passed null
+            return (value == null) ? 0 : comparer.GetHashCode(value) & 0x7FFFFFFF;
+        }
+
+        internal struct Slot
+        {
+            internal int hashCode;
+            internal TElement value;
+            internal int next;
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcs/class/System.Core/System.Core-net_2_0.csproj b/mcs/class/System.Core/System.Core-net_2_0.csproj
deleted file mode 100644 (file)
index d4bcfd9..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Core</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafePipeHandle.cs" />\r
-    <Compile Include="System.Collections.Generic\HashSet.cs" />\r
-    <Compile Include="System.IO.Pipes\AnonymousPipeClientStream.cs" />\r
-    <Compile Include="System.IO.Pipes\AnonymousPipeServerStream.cs" />\r
-    <Compile Include="System.IO.Pipes\NamedPipeClientStream.cs" />\r
-    <Compile Include="System.IO.Pipes\NamedPipeServerStream.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAccessRights.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAccessRule.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAuditRule.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeDirection.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeInterfaces.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeOptions.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeSecurity.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeStream.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeStreamImpersonationWorker.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeTransmissionMode.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeUnix.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeWin32.cs" />\r
-    <Compile Include="System.IO\HandleInheritability.cs" />\r
-    <Compile Include="System.Linq.Expressions\BinaryExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ConditionalExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ConstantExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ElementInit.cs" />\r
-    <Compile Include="System.Linq.Expressions\EmitContext.cs" />\r
-    <Compile Include="System.Linq.Expressions\Expression.cs" />\r
-    <Compile Include="System.Linq.Expressions\Expression_T.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionPrinter.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionTransformer.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionType.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionVisitor.cs" />\r
-    <Compile Include="System.Linq.Expressions\Extensions.cs" />\r
-    <Compile Include="System.Linq.Expressions\InvocationExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\LambdaExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ListInitExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberAssignment.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberBindingType.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberInitExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberListBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberMemberBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MethodCallExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\NewArrayExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\NewExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ParameterExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\TypeBinaryExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\UnaryExpression.cs" />\r
-    <Compile Include="System.Linq\Check.cs" />\r
-    <Compile Include="System.Linq\Enumerable.cs" />\r
-    <Compile Include="System.Linq\Grouping.cs" />\r
-    <Compile Include="System.Linq\IGrouping.cs" />\r
-    <Compile Include="System.Linq\ILookup_T.cs" />\r
-    <Compile Include="System.Linq\IOrderedEnumerable_T.cs" />\r
-    <Compile Include="System.Linq\IOrderedQueryable.cs" />\r
-    <Compile Include="System.Linq\IOrderedQueryable_T.cs" />\r
-    <Compile Include="System.Linq\IQueryable.cs" />\r
-    <Compile Include="System.Linq\IQueryable_T.cs" />\r
-    <Compile Include="System.Linq\IQueryProvider.cs" />\r
-    <Compile Include="System.Linq\Lookup.cs" />\r
-    <Compile Include="System.Linq\OrderedEnumerable.cs" />\r
-    <Compile Include="System.Linq\OrderedSequence.cs" />\r
-    <Compile Include="System.Linq\Queryable.cs" />\r
-    <Compile Include="System.Linq\QueryableEnumerable.cs" />\r
-    <Compile Include="System.Linq\QueryableTransformer.cs" />\r
-    <Compile Include="System.Linq\QuickSort.cs" />\r
-    <Compile Include="System.Linq\SortContext.cs" />\r
-    <Compile Include="System.Linq\SortDirection.cs" />\r
-    <Compile Include="System.Linq\SortSequenceContext.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DynamicAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ExecutionScope.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ExtensionAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IStrongBox.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\StrongBox_T.cs" />\r
-    <Compile Include="System.Security.Cryptography\Aes.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesCryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesManaged.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography\CngAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\CngAlgorithmGroup.cs" />\r
-    <Compile Include="System.Security.Cryptography\MD5Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA1Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Threading\LockRecursionException.cs" />\r
-    <Compile Include="System.Threading\LockRecursionPolicy.cs" />\r
-    <Compile Include="System.Threading\ReaderWriterLockSlim.cs" />\r
-    <Compile Include="System.Threading\ReaderWriterLockSlimExtensions.cs" />\r
-    <Compile Include="System.Threading\ThreadLockState.cs" />\r
-    <Compile Include="System\Actions.cs" />\r
-    <Compile Include="System\Funcs.cs" />\r
-    <Compile Include="System\InvalidTimeZoneException.cs" />\r
-    <Compile Include="System\TimeZoneInfo.AdjustmentRule.cs" />\r
-    <Compile Include="System\TimeZoneInfo.cs" />\r
-    <Compile Include="System\TimeZoneInfo.TransitionTime.cs" />\r
-    <Compile Include="System\TimeZoneNotFoundException.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Core/System.Core-plaincore-net_2_0.csproj b/mcs/class/System.Core/System.Core-plaincore-net_2_0.csproj
deleted file mode 100644 (file)
index 274b4fb..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F0743710-AB7C-4019-A13A-07AE79F514E4}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/plaincore</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Core</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafePipeHandle.cs" />\r
-    <Compile Include="System.Collections.Generic\HashSet.cs" />\r
-    <Compile Include="System.IO.Pipes\AnonymousPipeClientStream.cs" />\r
-    <Compile Include="System.IO.Pipes\AnonymousPipeServerStream.cs" />\r
-    <Compile Include="System.IO.Pipes\NamedPipeClientStream.cs" />\r
-    <Compile Include="System.IO.Pipes\NamedPipeServerStream.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAccessRights.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAccessRule.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeAuditRule.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeDirection.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeInterfaces.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeOptions.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeSecurity.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeStream.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeStreamImpersonationWorker.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeTransmissionMode.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeUnix.cs" />\r
-    <Compile Include="System.IO.Pipes\PipeWin32.cs" />\r
-    <Compile Include="System.IO\HandleInheritability.cs" />\r
-    <Compile Include="System.Linq.Expressions\BinaryExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ConditionalExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ConstantExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ElementInit.cs" />\r
-    <Compile Include="System.Linq.Expressions\EmitContext.cs" />\r
-    <Compile Include="System.Linq.Expressions\Expression.cs" />\r
-    <Compile Include="System.Linq.Expressions\Expression_T.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionPrinter.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionTransformer.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionType.cs" />\r
-    <Compile Include="System.Linq.Expressions\ExpressionVisitor.cs" />\r
-    <Compile Include="System.Linq.Expressions\Extensions.cs" />\r
-    <Compile Include="System.Linq.Expressions\InvocationExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\LambdaExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ListInitExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberAssignment.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberBindingType.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberInitExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberListBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MemberMemberBinding.cs" />\r
-    <Compile Include="System.Linq.Expressions\MethodCallExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\NewArrayExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\NewExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\ParameterExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\TypeBinaryExpression.cs" />\r
-    <Compile Include="System.Linq.Expressions\UnaryExpression.cs" />\r
-    <Compile Include="System.Linq\Check.cs" />\r
-    <Compile Include="System.Linq\Enumerable.cs" />\r
-    <Compile Include="System.Linq\Grouping.cs" />\r
-    <Compile Include="System.Linq\IGrouping.cs" />\r
-    <Compile Include="System.Linq\ILookup_T.cs" />\r
-    <Compile Include="System.Linq\IOrderedEnumerable_T.cs" />\r
-    <Compile Include="System.Linq\IOrderedQueryable.cs" />\r
-    <Compile Include="System.Linq\IOrderedQueryable_T.cs" />\r
-    <Compile Include="System.Linq\IQueryable.cs" />\r
-    <Compile Include="System.Linq\IQueryable_T.cs" />\r
-    <Compile Include="System.Linq\IQueryProvider.cs" />\r
-    <Compile Include="System.Linq\Lookup.cs" />\r
-    <Compile Include="System.Linq\OrderedEnumerable.cs" />\r
-    <Compile Include="System.Linq\OrderedSequence.cs" />\r
-    <Compile Include="System.Linq\Queryable.cs" />\r
-    <Compile Include="System.Linq\QueryableEnumerable.cs" />\r
-    <Compile Include="System.Linq\QueryableTransformer.cs" />\r
-    <Compile Include="System.Linq\QuickSort.cs" />\r
-    <Compile Include="System.Linq\SortContext.cs" />\r
-    <Compile Include="System.Linq\SortDirection.cs" />\r
-    <Compile Include="System.Linq\SortSequenceContext.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DynamicAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ExecutionScope.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ExtensionAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IStrongBox.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\StrongBox_T.cs" />\r
-    <Compile Include="System.Security.Cryptography\Aes.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesCryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesManaged.cs" />\r
-    <Compile Include="System.Security.Cryptography\AesTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography\CngAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\CngAlgorithmGroup.cs" />\r
-    <Compile Include="System.Security.Cryptography\MD5Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA1Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512Cng.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Threading\LockRecursionException.cs" />\r
-    <Compile Include="System.Threading\LockRecursionPolicy.cs" />\r
-    <Compile Include="System.Threading\ReaderWriterLockSlim.cs" />\r
-    <Compile Include="System.Threading\ReaderWriterLockSlimExtensions.cs" />\r
-    <Compile Include="System.Threading\ThreadLockState.cs" />\r
-    <Compile Include="System\Actions.cs" />\r
-    <Compile Include="System\Funcs.cs" />\r
-    <Compile Include="System\InvalidTimeZoneException.cs" />\r
-    <Compile Include="System\TimeZoneInfo.AdjustmentRule.cs" />\r
-    <Compile Include="System\TimeZoneInfo.cs" />\r
-    <Compile Include="System\TimeZoneInfo.TransitionTime.cs" />\r
-    <Compile Include="System\TimeZoneNotFoundException.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{AAA3F683-244C-40EF-8EF8-A95938862A44}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System/System-bare-net_2_0.csproj">\r
-      <Project>{5459507F-DC25-401C-A2F4-D5ECAC3A34E6}</Project>\r
-      <Name>System\System-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../Mono.Posix/Mono.Posix-net_2_0.csproj">\r
-      <Project>{2CA4E20E-76B6-4A2D-B121-39C558BB6E28}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Core/System.Core-tests-net_2_0.csproj b/mcs/class/System.Core/System.Core-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 85d3407..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{25672EF9-2390-404D-AD04-A009C8DFEBFB}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>bin\Debug\System.Core-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Core_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSCORE;LIBC;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\corlib\Test\System.Security.Cryptography\HashAlgorithmTest.cs" />\r
-    <Compile Include="..\corlib\Test\System.Security.Cryptography\SHA1Test.cs" />\r
-    <Compile Include="..\corlib\Test\System.Security.Cryptography\SHA256Test.cs" />\r
-    <Compile Include="..\corlib\Test\System.Security.Cryptography\SHA384Test.cs" />\r
-    <Compile Include="..\corlib\Test\System.Security.Cryptography\SHA512Test.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\HashSetTest.cs" />\r
-    <Compile Include="Test\System.IO.MemoryMappedFiles\MemoryMappedFileTest.cs" />\r
-    <Compile Include="Test\System.IO.Pipes\PipeSecurityTest.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Add.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_AddChecked.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_And.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_AndAlso.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ArrayIndex.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ArrayLength.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Bind.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Call.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Coalesce.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Condition.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Constant.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Convert.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Divide.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ElementInit.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Equal.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ExclusiveOr.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Field.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_GreaterThan.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_GreaterThanOrEqual.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Invoke.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Lambda.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_LeftShift.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_LessThan.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_LessThanOrEqual.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Lift.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ListBind.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_ListInit.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_MakeBinary.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_MemberBind.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_MemberInit.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Modulo.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Multiply.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_MultiplyChecked.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Negate.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_New.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_NewArrayBounds.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_NewArrayInit.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Not.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_NotEqual.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Or.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_OrElse.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Power.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Property.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_PropertyOrField.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Quote.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_RightShift.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Subtract.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_SubtractChecked.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_TypeAs.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_TypeIs.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_UnaryPlus.cs" />\r
-    <Compile Include="Test\System.Linq.Expressions\ExpressionTest_Utils.cs" />\r
-    <Compile Include="Test\System.Linq\EnumerableAsQueryableTest.cs" />\r
-    <Compile Include="Test\System.Linq\EnumerableFixture.cs" />\r
-    <Compile Include="Test\System.Linq\EnumerableMoreTest.cs" />\r
-    <Compile Include="Test\System.Linq\EnumerableTest.cs" />\r
-    <Compile Include="Test\System.Linq\LookupTest.cs" />\r
-    <Compile Include="Test\System.Linq\ParallelEnumerableTests.cs" />\r
-    <Compile Include="Test\System.Linq\ParallelTestHelper.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\DynamicAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AesCryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AesManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CngAlgorithmGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CngAlgorithmTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\MD5CngTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA1CngTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA256CngTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA256CryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA384CngTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA384CryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA512CngTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA512CryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskExtensionsTests.cs" />\r
-    <Compile Include="Test\System.Threading\ReaderWriterLockSlimTest.cs" />\r
-    <Compile Include="Test\System\TimeZoneInfo.AdjustmentRuleTest.cs" />\r
-    <Compile Include="Test\System\TimeZoneInfo.TransitionTimeTest.cs" />\r
-    <Compile Include="Test\System\TimeZoneInfoTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-net_2_0.csproj">\r
-      <Project>{2F9C802E-F1DA-4779-80B2-5AACE033D398}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 80b1e3fa33691c69dfa450388790d9c54b1b3ff9..157b53c8be37a1a82d57c585c710975749a28eee 100644 (file)
@@ -2765,14 +2765,14 @@ namespace System.Linq
                {
                        Check.Source (source);
 
+                       if (count <= 0)
+                               return EmptyOf<TSource>.Instance;
+
                        return CreateTakeIterator (source, count);
                }
 
                static IEnumerable<TSource> CreateTakeIterator<TSource> (IEnumerable<TSource> source, int count)
                {
-                       if (count <= 0)
-                               yield break;
-
                        int counter = 0;
                        foreach (TSource element in source) {
                                yield return element;
index f6fa19c0d34e182fd43b44a98bfddb524e98cb96..354b47a2a064188a19b2a44c4d31f1dec64308c9 100644 (file)
@@ -1179,9 +1179,9 @@ namespace System
                                DateTime ttime = pair.Key;
                                TimeType ttype = pair.Value;
                                if (!ttype.IsDst) {
-                                       if (standardDisplayName != ttype.Name || baseUtcOffset.TotalSeconds != ttype.Offset) {
+                                       if (standardDisplayName != ttype.Name)
                                                standardDisplayName = ttype.Name;
-                                               daylightDisplayName = null;
+                                       if (baseUtcOffset.TotalSeconds != ttype.Offset) {
                                                baseUtcOffset = new TimeSpan (0, 0, ttype.Offset);
                                                if (adjustmentRules.Count > 0) // We ignore AdjustmentRules but store transitions.
                                                        storeTransition = true;
@@ -1217,10 +1217,11 @@ namespace System
                                        }
                                        dst_observed = false;
                                } else {
-                                       if (daylightDisplayName != ttype.Name || dstDelta.TotalSeconds != ttype.Offset - baseUtcOffset.TotalSeconds) {
+                                       if (daylightDisplayName != ttype.Name)
                                                daylightDisplayName = ttype.Name;
+                                       if (dstDelta.TotalSeconds != ttype.Offset - baseUtcOffset.TotalSeconds)
                                                dstDelta = new TimeSpan(0, 0, ttype.Offset) - baseUtcOffset;
-                                       }
+
                                        dst_start = ttime;
                                        dst_observed = true;
                                }
index 1cf514c7aab2be8561e47bf776e30175b6f5a33e..19bfe4856cdb59ddeefd570d6eae23ff03e4f73e 100644 (file)
@@ -627,7 +627,7 @@ namespace MonoTests.System.Linq {
                        // Contains<TSource> (TSource)
                        Assert.IsTrue (data.Contains (2));
                        for (int i = 0; i < 50; ++i)
-                               Console.WriteLine (icoll.Contains (0));//Console.WriteLine (data.Contains (0));
+                               icoll.Contains (i);//Console.WriteLine (data.Contains (0));
                        IsFalse (data.Contains (0), data);
 
                        // Contains<TSource> (TSource, IEqualityComparer<TSource>)
index 6629133fc3d39204bc59de9893b5a9b7bda7bef3..d9fac1818d3704bc36d573df94e71dbab5d698f5 100644 (file)
@@ -313,7 +313,7 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4, 5};
                        int [] result = {3, 4, 5};
 
-                       AssertAreSame (result, data.AsReallyParallel ().AsOrdered ().Skip (3).ToArray ());
+                       AssertAreSame (result, data.AsParallel ().AsOrdered ().Skip (3).ToArray ());
                }
                
                [Test]
@@ -322,7 +322,7 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4, 5};
                        int [] result = {3, 4, 5};
 
-                       AssertAreSame (result, data.AsReallyParallel ().AsOrdered ().Skip (3));
+                       AssertAreSame (result, data.AsParallel ().AsOrdered ().Skip (3));
                }
 
                [Test]
@@ -331,7 +331,7 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4, 5};
                        int [] result = {3, 4, 5};
 
-                       AssertAreSame (result, data.AsReallyParallel ().AsOrdered ().SkipWhile (i => i < 3));
+                       AssertAreSame (result, data.AsParallel ().AsOrdered ().SkipWhile (i => i < 3));
                }
 
                [Test]
@@ -340,7 +340,7 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4, 5};
                        int [] result = {0, 1, 2};
 
-                       AssertAreSame (result, data.AsReallyParallel ().AsOrdered ().Take (3));
+                       AssertAreSame (result, data.AsParallel ().AsOrdered ().Take (3));
                }
 
                [Test]
@@ -349,7 +349,7 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4, 5};
                        int [] result = {0, 1, 2};
 
-                       AssertAreSame (result, data.AsReallyParallel ().AsOrdered ().TakeWhile (i => i < 3));
+                       AssertAreSame (result, data.AsParallel ().AsOrdered ().TakeWhile (i => i < 3));
                }
 
                [Test]
@@ -371,7 +371,7 @@ namespace MonoTests.System.Linq
                        IEnumerable<int> expected = initial.SelectMany ((i) => Enumerable.Range (1, i));
 
                        ParallelTestHelper.Repeat (() => {
-                                       var actual = initial.AsReallyParallel ().AsOrdered ().SelectMany ((i) => Enumerable.Range (1, i));
+                                       var actual = initial.AsParallel ().AsOrdered ().SelectMany ((i) => Enumerable.Range (1, i));
                                        AssertAreSame (expected, actual);
                                });
                }
@@ -381,7 +381,7 @@ namespace MonoTests.System.Linq
                {
                        int [] data = {1, 2, 3};
 
-                       Assert.AreEqual (3, data.AsReallyParallel ().AsOrdered ().Last ());
+                       Assert.AreEqual (3, data.AsParallel ().AsOrdered ().Last ());
                }
 
                [Test]
@@ -389,7 +389,7 @@ namespace MonoTests.System.Linq
                {
                        int [] data = {};
 
-                       Assert.AreEqual (default (int), data.AsReallyParallel ().AsOrdered ().LastOrDefault ());
+                       Assert.AreEqual (default (int), data.AsParallel ().AsOrdered ().LastOrDefault ());
                }
 
                [Test]
@@ -397,7 +397,7 @@ namespace MonoTests.System.Linq
                {
                        int [] data = {1, 2, 3};
 
-                       Assert.AreEqual (1, data.AsReallyParallel ().AsOrdered ().First ());
+                       Assert.AreEqual (1, data.AsParallel ().AsOrdered ().First ());
                }
 
                [Test]
@@ -405,7 +405,7 @@ namespace MonoTests.System.Linq
                {
                        int [] data = {};
 
-                       Assert.AreEqual (default (int), data.AsReallyParallel ().AsOrdered ().FirstOrDefault ());
+                       Assert.AreEqual (default (int), data.AsParallel ().AsOrdered ().FirstOrDefault ());
                }
                
                [Test]
@@ -414,8 +414,8 @@ namespace MonoTests.System.Linq
                        int [] data = {0, 1, 2, 3, 4};
                        int [] result = {4, 3, 2, 1, 0};
 
-                       AssertAreSame (result, ((IEnumerable<int>)data).Select ((i) => i).AsReallyParallel ().AsOrdered ().Reverse ());
-                       AssertAreSame (result, ParallelEnumerable.Range (0, 5).AsReallyParallel ().AsOrdered ().Reverse ());
+                       AssertAreSame (result, ((IEnumerable<int>)data).Select ((i) => i).AsParallel ().AsOrdered ().Reverse ());
+                       AssertAreSame (result, ParallelEnumerable.Range (0, 5).AsParallel ().AsOrdered ().Reverse ());
                }
                
                [Test]
@@ -561,9 +561,9 @@ namespace MonoTests.System.Linq
                public void ElementAtTestCase()
                {
                        //ParallelTestHelper.Repeat (() => {
-                                       Assert.AreEqual(1, baseEnumerable.AsReallyParallel ().AsOrdered ().ElementAt(0), "#1");
-                                       Assert.AreEqual(51, baseEnumerable.AsReallyParallel ().AsOrdered ().ElementAt(50), "#2");
-                                       Assert.AreEqual(489, baseEnumerable.AsReallyParallel ().AsOrdered ().ElementAt(488), "#3");
+                                       Assert.AreEqual(1, baseEnumerable.AsParallel ().AsOrdered ().ElementAt(0), "#1");
+                                       Assert.AreEqual(51, baseEnumerable.AsParallel ().AsOrdered ().ElementAt(50), "#2");
+                                       Assert.AreEqual(489, baseEnumerable.AsParallel ().AsOrdered ().ElementAt(488), "#3");
                        //});
                }
 
@@ -591,12 +591,11 @@ namespace MonoTests.System.Linq
                {
                        var items = new [] { 1, 2, 3 };
                        var items2 = new [] { 1, 2, 3, 4 };
-                       var actual = items.AsReallyParallel ().Join (items2.AsReallyParallel (), i => i, i => i, (e1, e2) => e1 + e2);
+                       var actual = items.AsReallyParallel ().Join (items2.AsParallel (), i => i, i => i, (e1, e2) => e1 + e2);
                        AreEquivalent (new[] { 2, 4, 6 }, actual);
                }
 
                [Test]
-               [Category ("NotWorking")] // Deadlocks randomly
                public void TestGroupBy ()
                {
                        int num = 100;
@@ -624,12 +623,12 @@ namespace MonoTests.System.Linq
                public void TakeTestCase()
                {
                        ParallelTestHelper.Repeat (() => {
-                               ParallelQuery<int> async_res = baseEnumerable.AsReallyParallel ().AsOrdered ().Take(800);
+                               ParallelQuery<int> async_res = baseEnumerable.AsParallel ().AsOrdered ().Take(800);
                                IEnumerable<int> sync = baseEnumerable.Take(800);
 
                                AreEquivalent(sync, async_res);
 
-                               async_res = baseEnumerable.AsReallyParallel ().AsOrdered ().Take(100);
+                               async_res = baseEnumerable.AsParallel ().AsOrdered ().Take(100);
                                sync = baseEnumerable.Take(100);
 
                                AreEquivalent(sync, async_res);
@@ -656,7 +655,7 @@ namespace MonoTests.System.Linq
                public void SkipTestCase()
                {
                        ParallelTestHelper.Repeat (() => {
-                               ParallelQuery<int> async_res = baseEnumerable.AsReallyParallel ().AsOrdered().Skip (800);
+                               ParallelQuery<int> async_res = baseEnumerable.AsParallel ().AsOrdered().Skip (800);
                                IEnumerable<int> sync = baseEnumerable.Skip (800);
                                
                                AreEquivalent (sync, async_res);
@@ -778,14 +777,14 @@ namespace MonoTests.System.Linq
 
                        int [] result = {0, 1, 2};
 
-                       var array = coll.AsReallyParallel ().AsOrdered().ToArray ();
+                       var array = coll.AsParallel ().AsOrdered().ToArray ();
 
                        AssertAreSame (result, array);
                        AssertIsOrdered (array, result.Length);
 
                        Assert.AreEqual (typeof (int []), array.GetType ());
 
-                       array = Enumerable.Range (1, 100).Select ((i) => i).AsReallyParallel ().AsOrdered().ToArray ();
+                       array = Enumerable.Range (1, 100).Select ((i) => i).AsParallel ().AsOrdered().ToArray ();
                        result = Enumerable.Range (1, 100).ToArray ();
 
                        AssertAreSame (result, array);
@@ -897,12 +896,12 @@ namespace MonoTests.System.Linq
                        var data2 = new int[] { 1, 2, 4 };
                        var data3 = new int[] { 1, 2, 3, 4 };
 
-                       Assert.IsTrue (data1.AsReallyParallel ().SequenceEqual (data1.AsReallyParallel ()));
-                       Assert.IsTrue (data2.AsReallyParallel ().SequenceEqual (data2.AsReallyParallel ()));
-                       Assert.IsTrue (data3.AsReallyParallel ().SequenceEqual (data3.AsReallyParallel ()));
-                       Assert.IsFalse (data1.AsReallyParallel ().SequenceEqual (data2.AsReallyParallel ()));
-                       Assert.IsFalse (data1.AsReallyParallel ().SequenceEqual (data3.AsReallyParallel ()));
-                       Assert.IsFalse (data2.AsReallyParallel ().SequenceEqual (data3.AsReallyParallel ()));
+                       Assert.IsTrue (data1.AsParallel ().SequenceEqual (data1.AsParallel ()));
+                       Assert.IsTrue (data2.AsParallel ().SequenceEqual (data2.AsParallel ()));
+                       Assert.IsTrue (data3.AsParallel ().SequenceEqual (data3.AsParallel ()));
+                       Assert.IsFalse (data1.AsParallel ().SequenceEqual (data2.AsParallel ()));
+                       Assert.IsFalse (data1.AsParallel ().SequenceEqual (data3.AsParallel ()));
+                       Assert.IsFalse (data2.AsParallel ().SequenceEqual (data3.AsParallel ()));
                }
 
                [Test]
index aef9fffbb55ea934a8231c8678d1538a2f61d40a..8e2c31745047e5cf74f3a6a1b3bb7bd33462b164 100644 (file)
@@ -401,9 +401,14 @@ namespace MonoTests.System.Threading
                {
                        var v = new ReaderWriterLockSlim ();
                        int local = 10;
+                       int ready_count = 0;
+                       int entered_count = 0;
+                       const int thread_count = 10;
 
-                       var r = from i in Enumerable.Range (1, 10) select new Thread (() => {
+                       var r = from i in Enumerable.Range (1, thread_count) select new Thread (() => {
+                               Interlocked.Increment (ref ready_count);
                                v.EnterReadLock ();
+                               Interlocked.Increment (ref entered_count);
 
                                Assert.AreEqual (11, local);
                        });
@@ -415,12 +420,16 @@ namespace MonoTests.System.Threading
                                t.Start ();
                        }
 
-                       Thread.Sleep (200);
+                       while (ready_count != thread_count)
+                               Thread.Sleep (10);
+
+                       /* Extra up to 2s of sleep to ensure all threads got the chance to enter the lock */
+                       for (int i = 0; i < 200 && v.WaitingReadCount != thread_count; ++i)
+                               Thread.Sleep (10);
                        local = 11;
 
-                       // FIXME: Don't rely on Thread.Sleep (200)
                        Assert.AreEqual (0, v.WaitingWriteCount, "in waiting write");
-                       Assert.AreEqual (10, v.WaitingReadCount, "in waiting read");
+                       Assert.AreEqual (thread_count, v.WaitingReadCount, "in waiting read");
                        Assert.AreEqual (0, v.WaitingUpgradeCount, "in waiting upgrade");
                        v.ExitWriteLock ();
 
index 10e86231252605c39a1131a359ee7047e9b7199c..61ec3815c6a662c11303ce399e59900c91325c5e 100644 (file)
@@ -40,56 +40,10 @@ System.Threading/LockRecursionPolicy.cs
 System.Threading/ReaderWriterLockSlim.cs
 System.Threading/ThreadLockState.cs
 System.Threading/ReaderWriterLockSlimExtensions.cs
-System.Linq.Parallel.QueryNodes/QueryBaseNode.cs
-System.Linq.Parallel.QueryNodes/QueryCastNode.cs
-System.Linq.Parallel.QueryNodes/QueryChildNode.cs
-System.Linq.Parallel.QueryNodes/QueryConcatNode.cs
-System.Linq.Parallel.QueryNodes/QueryDefaultEmptyNode.cs
-System.Linq.Parallel.QueryNodes/QueryGroupByNode.cs
-System.Linq.Parallel.QueryNodes/QueryHeadWorkerNode.cs
-System.Linq.Parallel.QueryNodes/QueryJoinNode.cs
-System.Linq.Parallel.QueryNodes/QueryMuxNode.cs
-System.Linq.Parallel.QueryNodes/QueryOptionNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderByNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderGuardNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderedStreamNode.cs
-System.Linq.Parallel.QueryNodes/QueryReverseNode.cs
-System.Linq.Parallel.QueryNodes/QuerySelectManyNode.cs
-System.Linq.Parallel.QueryNodes/QuerySelectNode.cs
-System.Linq.Parallel.QueryNodes/QuerySetNode.cs
-System.Linq.Parallel.QueryNodes/QueryStartNode.cs
-System.Linq.Parallel.QueryNodes/QueryStreamNode.cs
-System.Linq.Parallel.QueryNodes/QueryWhereNode.cs
-System.Linq.Parallel.QueryNodes/QueryZipNode.cs
-System.Linq.Parallel.QueryNodes/SetInclusion.cs
-System.Linq.Parallel.QueryNodes/WrapHelper.cs
-System.Linq.Parallel/AggregationList.cs
-System.Linq.Parallel/ConcurrentGrouping.cs
-System.Linq.Parallel/ConcurrentLookup.cs
-System.Linq.Parallel/INodeVisitor.cs
-System.Linq.Parallel/IVisitableNode.cs
-System.Linq.Parallel/OrderingEnumerator.cs
-System.Linq.Parallel/ParallelExecuter.cs
-System.Linq.Parallel/ParallelPartitioner.cs
-System.Linq.Parallel/ParallelQueryEnumerator.cs
-System.Linq.Parallel/ParallelQuickSort.cs
-System.Linq.Parallel/QueryCheckerVisitor.cs
-System.Linq.Parallel/QueryIsOrderedVisitor.cs
-System.Linq.Parallel/QueryOptions.cs
-System.Linq.Parallel/RangeList.cs
-System.Linq.Parallel/RepeatList.cs
-System.Linq.Parallel/ReverseList.cs
-System.Linq.Parallel/StripPartitioner.cs
-System.Linq.Parallel/TemporaryArea.cs
 System.Linq/EnumerableExecutor.cs
 System.Linq/EnumerableExecutor_T.cs
 System.Linq/EnumerableQuery.cs
 System.Linq/EnumerableQuery_T.cs
-System.Linq/OrderedParallelQuery.cs
-System.Linq/ParallelEnumerable.cs
-System.Linq/ParallelExecutionMode.cs
-System.Linq/ParallelMergeOptions.cs
-System.Linq/ParallelQuery.cs
 System.IO.MemoryMappedFiles/MemoryMappedFile.cs
 System.IO.MemoryMappedFiles/MemoryMappedFileAccess.cs
 System.IO.MemoryMappedFiles/MemoryMappedFileOptions.cs
@@ -106,3 +60,142 @@ System.Linq.Expressions/ExpressionTransformer.cs
 ../dlr/Runtime/Microsoft.Scripting.Core/Ast/DynamicExpression.cs
 ../dlr/Runtime/Microsoft.Scripting.Core/Compiler/Closure.cs
 System.Linq.Expressions/DynamicExpressionVisitor.cs
+../../../external/referencesource/System.Core/System/Linq/ParallelEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/ParallelMergeOptions.cs
+../../../external/referencesource/System.Core/System/Linq/ParallelExecutionMode.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Channels/AsynchronousChannel.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Channels/SynchronousChannel.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/AggregationMinMaxHelpers.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/EmptyEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/EnumerableWrapperWeakToStrong.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/IParallelPartitionable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/OrderedParallelQuery.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/ParallelEnumerableWrapper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/ParallelQuery.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/QueryAggregationOptions.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/RangeEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/RepeatEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/ArrayMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/AsynchronousChannelMergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/DefaultMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/IMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/MergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/MergeExecutor.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/OrderPreservingMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/OrderPreservingPipeliningMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/SynchronousChannelMergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/HashRepartitionEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/HashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/IPartitionedStreamRecipient.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/OrderedHashRepartitionEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/OrderedHashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/PartitionedDataSource.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/PartitionedStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/UnorderedHashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/AssociativeAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/ExceptQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/GroupJoinQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/HashJoinQueryOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/IntersectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/JoinQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/UnionQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/ZipQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/BinaryQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/CountAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/InlinedAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/InlinedAggregationOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongCountAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/ListQueryResults.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Options/OrderingQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Options/QueryExecutionOption.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/OrdinalIndexState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/PartitionedStreamMerger.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/PartitionerQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOpeningEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryResults.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QuerySettings.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/ScanQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/AnyAllSearchOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ConcatQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ContainsSearchOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/DefaultIfEmptyQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/DistinctQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ElementAtQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/FirstQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ForAllOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/GroupByQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/IndexedSelectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/IndexedWhereQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/LastQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ReverseQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SelectManyQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SelectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SingleQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SortQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/TakeOrSkipQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/TakeOrSkipWhileQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/WhereQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/UnaryQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/CancellationState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/OrderPreservingPipeliningSpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/OrderPreservingSpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryLifecycle.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryTaskGroupState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/Scheduling.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/SpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/SpoolingTaskBase.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/CancellableEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ExceptionAggregator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ExchangeUtilities.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/FixedMaxHeap.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/GrowingArray.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/HashLookup.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/IntValueEvent.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ListChunk.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Lookup.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Pair.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/PairComparer.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ReverseComparer.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Shared.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Sorting.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/TraceHelpers.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Util.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Wrapper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/WrapperEqualityComparer.cs
+
+ReferenceSources/Set.cs
+ReferenceSources/SR.cs
+../../build/common/SR.cs
index ee0a10c7b1c0681d325a1f180a9aee042b5458dd..245d280ca08156c8dc8585be077f1d18adaafdcc 100644 (file)
@@ -1,4 +1,5 @@
 #include dynamic_System.Core.dll.sources
+../../build/common/SR.cs
 Assembly/AssemblyInfo.cs
 System/Actions.cs
 System/Funcs.cs
@@ -90,49 +91,142 @@ System.IO.Pipes/PipeUnix.cs
 System.IO.Pipes/PipeWin32.cs
 System.IO/HandleInheritability.cs
 
-System.Linq.Parallel/ParallelQueryEnumerator.cs
-System.Linq/OrderedParallelQuery.cs
-System.Linq/ParallelMergeOptions.cs
-System.Linq/ParallelExecutionMode.cs
-System.Linq/ParallelEnumerable.cs
-System.Linq.Parallel/ParallelPartitioner.cs
-System.Linq.Parallel/RangeList.cs
-System.Linq.Parallel/StripPartitioner.cs
-System.Linq.Parallel/RepeatList.cs
-System.Linq.Parallel/ParallelQuickSort.cs
-System.Linq.Parallel/OrderingEnumerator.cs
-System.Linq.Parallel/AggregationList.cs
-System.Linq.Parallel/ConcurrentLookup.cs
-System.Linq.Parallel/ConcurrentGrouping.cs
-System.Linq.Parallel/ReverseList.cs
-System.Linq.Parallel/ParallelExecuter.cs
-System.Linq.Parallel/TemporaryArea.cs
-System.Linq/ParallelQuery.cs
-System.Linq.Parallel.QueryNodes/QueryWhereNode.cs
-System.Linq.Parallel.QueryNodes/QueryCastNode.cs
-System.Linq.Parallel.QueryNodes/QueryConcatNode.cs
-System.Linq.Parallel.QueryNodes/QueryDefaultEmptyNode.cs
-System.Linq.Parallel.QueryNodes/QueryOptionNode.cs
-System.Linq.Parallel.QueryNodes/QueryGroupByNode.cs
-System.Linq.Parallel.QueryNodes/QuerySelectNode.cs
-System.Linq.Parallel.QueryNodes/QuerySelectManyNode.cs
-System.Linq.Parallel.QueryNodes/QueryStreamNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderedStreamNode.cs
-System.Linq.Parallel.QueryNodes/QueryStartNode.cs
-System.Linq.Parallel.QueryNodes/QueryBaseNode.cs
-System.Linq.Parallel.QueryNodes/QueryChildNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderGuardNode.cs
-System.Linq.Parallel.QueryNodes/QueryOrderByNode.cs
-System.Linq.Parallel.QueryNodes/QueryMuxNode.cs
-System.Linq.Parallel.QueryNodes/QueryZipNode.cs
-System.Linq.Parallel.QueryNodes/QuerySetNode.cs
-System.Linq.Parallel.QueryNodes/QueryReverseNode.cs
-System.Linq.Parallel.QueryNodes/SetInclusion.cs
-System.Linq.Parallel.QueryNodes/WrapHelper.cs
-System.Linq.Parallel.QueryNodes/QueryHeadWorkerNode.cs
-System.Linq.Parallel.QueryNodes/QueryJoinNode.cs
-System.Linq.Parallel/INodeVisitor.cs
-System.Linq.Parallel/IVisitableNode.cs
-System.Linq.Parallel/QueryCheckerVisitor.cs
-System.Linq.Parallel/QueryIsOrderedVisitor.cs
-System.Linq.Parallel/QueryOptions.cs
+#PLINQ
+../../../external/referencesource/System.Core/System/Linq/ParallelEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/ParallelMergeOptions.cs
+../../../external/referencesource/System.Core/System/Linq/ParallelExecutionMode.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Channels/AsynchronousChannel.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Channels/SynchronousChannel.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/AggregationMinMaxHelpers.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/EmptyEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/EnumerableWrapperWeakToStrong.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/IParallelPartitionable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/OrderedParallelQuery.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/ParallelEnumerableWrapper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/ParallelQuery.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/QueryAggregationOptions.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/RangeEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Enumerables/RepeatEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/ArrayMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/AsynchronousChannelMergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/DefaultMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/IMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/MergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/MergeExecutor.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/OrderPreservingMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/OrderPreservingPipeliningMergeHelper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Merging/SynchronousChannelMergeEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/HashRepartitionEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/HashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/IPartitionedStreamRecipient.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/OrderedHashRepartitionEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/OrderedHashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/PartitionedDataSource.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/PartitionedStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Partitioning/UnorderedHashRepartitionStream.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/AssociativeAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/ExceptQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/GroupJoinQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/HashJoinQueryOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/IntersectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/JoinQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/UnionQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Binary/ZipQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/BinaryQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/CountAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DecimalSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/DoubleSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/FloatSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/InlinedAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/InlinedAggregationOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/IntSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongCountAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/LongSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDecimalSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableDoubleSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableFloatSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableIntSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongAverageAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongMinMaxAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Inlined/NullableLongSumAggregationOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/ListQueryResults.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Options/OrderingQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Options/QueryExecutionOption.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/OrdinalIndexState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/PartitionedStreamMerger.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/PartitionerQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOpeningEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryOperatorEnumerator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QueryResults.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/QuerySettings.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/ScanQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/AnyAllSearchOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ConcatQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ContainsSearchOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/DefaultIfEmptyQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/DistinctQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ElementAtQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/FirstQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ForAllOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/GroupByQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/IndexedSelectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/IndexedWhereQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/LastQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/ReverseQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SelectManyQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SelectQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SingleQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/SortQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/TakeOrSkipQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/TakeOrSkipWhileQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/Unary/WhereQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/QueryOperators/UnaryQueryOperator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/CancellationState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/OrderPreservingPipeliningSpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/OrderPreservingSpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryLifecycle.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/QueryTaskGroupState.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/Scheduling.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/SpoolingTask.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Scheduling/SpoolingTaskBase.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/CancellableEnumerable.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ExceptionAggregator.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ExchangeUtilities.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/FixedMaxHeap.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/GrowingArray.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/HashLookup.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/IntValueEvent.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ListChunk.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Lookup.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Pair.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/PairComparer.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/ReverseComparer.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Shared.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Sorting.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/TraceHelpers.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Util.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/Wrapper.cs
+../../../external/referencesource/System.Core/System/Linq/Parallel/Utils/WrapperEqualityComparer.cs
+
+ReferenceSources/Set.cs
+ReferenceSources/SR.cs
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_2_0.csproj b/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_2_0.csproj
deleted file mode 100644 (file)
index ad266ec..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{BB9C24C9-41DC-4F08-BBCE-3698C695332B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.DataSetExtensions</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Data\DataRowComparer.cs" />\r
-    <Compile Include="System.Data\DataRowComparer_1.cs" />\r
-    <Compile Include="System.Data\DataRowExtensions.cs" />\r
-    <Compile Include="System.Data\DataTableExtensions.cs" />\r
-    <Compile Include="System.Data\EnumerableRowCollection.cs" />\r
-    <Compile Include="System.Data\EnumerableRowCollection_1.cs" />\r
-    <Compile Include="System.Data\EnumerableRowCollectionExtensions.cs" />\r
-    <Compile Include="System.Data\OrderedEnumerableRowCollection.cs" />\r
-    <Compile Include="System.Data\RowEnumerableDataReader.cs" />\r
-    <Compile Include="System.Data\TypedTableBase.cs" />\r
-    <Compile Include="System.Data\TypedTableBaseExtensions.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-tests-net_2_0.csproj b/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-tests-net_2_0.csproj
deleted file mode 100644 (file)
index a8f9cc1..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{B9F3CFD2-99EE-49B0-986F-E6089E4E5CFA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\System.Data.DataSetExtensions-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.DataSetExtensions_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Data\DataRowComparerTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRowExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Data\EnumerableRowCollectionTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.DataSetExtensions\System.Data.DataSetExtensions-net_2_0.csproj">\r
-      <Project>{BB9C24C9-41DC-4F08-BBCE-3698C695332B}</Project>\r
-      <Name>System.Data.DataSetExtensions\System.Data.DataSetExtensions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index ff9dd8fd02b9793ce77ad127926b462375d3e359..6a8469e3e3004e4ad7d3ffc1ffb67d9d320ddde8 100755 (executable)
@@ -12,17 +12,12 @@ LIB_MCS_FLAGS = \
                /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd \
                /d:MONO_STRICT /d:MONO_DEPLOY -warn:1
 
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
-endif
-
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = src/DbLinq/Schema/Dbml/DbmlSchema.xsd
 
 # This is a .NET 3.5+ assembly
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Data.Linq.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.Data.Linq/System.Data.Linq-net_2_0.csproj b/mcs/class/System.Data.Linq/System.Data.Linq-net_2_0.csproj
deleted file mode 100644 (file)
index 6893a2f..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.Linq</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;MONO_STRICT;MONO_DEPLOY;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;MONO_STRICT;MONO_DEPLOY;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdDataContext.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdExpressionTranslator.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.Firebird\FirebirdVendor.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresDataContext.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.Ingres\IngresVendor.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlDataContext.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.MySql\MySqlVendor.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleDataContext.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.Oracle\OracleVendor.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlDataContext.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.PostgreSql\PgsqlVendor.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\Schema\DataCommand.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteDataContext.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Constraints.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.Sqlite\SqliteVendor.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerDataContext.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerExpressionTranslator.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerTypeConversions.cs" />\r
-    <Compile Include="src\DbLinq.SqlServer\SqlServerVendor.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\ChangeAction.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\ChangeSet.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\IDatabaseContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\IDatabaseTransaction.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseConnection.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseTransaction.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\TransactionalCommand.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Database\ITransactionalCommand.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\DataContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\DataLoadOptions.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\DBLinqExtendedAttributte.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\EntityRef.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\EntitySet.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\IdentityKey.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityReader.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityReaderFactory.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityReader.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\IExecuteResult.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\IMemberModificationHandler.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\DisabledEntityTracker.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityState.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityTrack.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityTracker.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\IEntityTracker.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\MemberModificationHandler.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\QueryProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Implementation\VendorProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\ITable.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\IVendorProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaAssociation.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaFunction.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaModel.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaTable.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaType.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributeMappingSource.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\LambdaMetaAccessor.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\MappingContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Mapping\XmlMappingSource.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\RefreshMode.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlLiteralPart.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlParameterPart.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlPart.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlStatement.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlStatementBuilder.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\FirebirdProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\IngresProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\MySqlProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\OracleProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\PostgreSqlProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2000Provider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2005Provider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2008Provider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\SqliteProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\SqlClient\SqlServerProvider.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\AbstractQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\BuilderContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\DeleteQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\DirectQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Error.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionChain.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionPrecedence.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ColumnExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ExpressionTranslator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\GroupExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\IMutableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\MutableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\OrderByExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SelectExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SpecialExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SubSelectExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\TableExpression.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\TableJoinType.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionTier.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IDataMapper.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IDataRecordReader.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionDispatcher.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionLanguageParser.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionOptimizer.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionQualifier.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\DataMapper.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\DataRecordReader.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\LineGrouping.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryBuilder.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryCache.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryRunner.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IPrequelAnalyzer.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryBuilder.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryCache.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryRunner.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ISqlBuilder.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\ParameterizedQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\QueryContext.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\SelectQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Sugar\UpsertQuery.cs" />\r
-    <Compile Include="src\DbLinq\Data\Linq\Table.cs" />\r
-    <Compile Include="src\DbLinq\DbLinqToDoAttribute.cs" />\r
-    <Compile Include="src\DbLinq\Factory\DbLinqAttribute.cs" />\r
-    <Compile Include="src\DbLinq\Factory\Implementation\ReflectionObjectFactory.cs" />\r
-    <Compile Include="src\DbLinq\Factory\IObjectFactory.cs" />\r
-    <Compile Include="src\DbLinq\Factory\ObjectFactory.cs" />\r
-    <Compile Include="src\DbLinq\Language\ILanguages.cs" />\r
-    <Compile Include="src\DbLinq\Language\ILanguageWords.cs" />\r
-    <Compile Include="src\DbLinq\Language\Implementation\AbstractEndPluralWords.cs" />\r
-    <Compile Include="src\DbLinq\Language\Implementation\AbstractWords.cs" />\r
-    <Compile Include="src\DbLinq\Language\Implementation\Languages.cs" />\r
-    <Compile Include="src\DbLinq\Language\Implementation\NoLanguageWords.cs" />\r
-    <Compile Include="src\DbLinq\Schema\AssociationName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Case.cs" />\r
-    <Compile Include="src\DbLinq\Schema\ColumnName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\ArrayAdapter.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\CsvArrayAdapter.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\EnumType.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\INamedType.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\ISimpleList.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\DatabaseSerializer.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSchema.Adapter.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSchema.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSerializer.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Implementation\NameFormatter.cs" />\r
-    <Compile Include="src\DbLinq\Schema\INameFormatter.cs" />\r
-    <Compile Include="src\DbLinq\Schema\Name.cs" />\r
-    <Compile Include="src\DbLinq\Schema\NameFormat.cs" />\r
-    <Compile Include="src\DbLinq\Schema\ParameterName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\ProcedureName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\SchemaName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\TableName.cs" />\r
-    <Compile Include="src\DbLinq\Schema\WordsExtraction.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\Binary.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ChangeConflictCollection.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ChangeConflictException.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\CompiledQuery.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ConflictMode.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\DBConvert.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\DuplicateKeyException.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ForeignKeyReferenceAlreadyHasValueException.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\IFunctionResult.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\IMultipleResults.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ISingleResult.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\Link.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\MemberChangeConflict.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ModifiedMemberInfo.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\ObjectChangeConflict.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\AssociationAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\AutoSync.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ColumnAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\DataAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\DatabaseAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\FunctionAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\InheritanceMappingAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MappingSource.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor_2.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAssociation.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaDataMember.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaFunction.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaModel.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaParameter.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaTable.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaType.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ParameterAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ProviderAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ResultTypeAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\TableAttribute.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\UpdateCheck.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ObjectMaterializer.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlHelpers.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlMethods.cs" />\r
-    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlProvider.cs" />\r
-    <Compile Include="src\DbLinq\Util\DataCommand.cs" />\r
-    <Compile Include="src\DbLinq\Util\DbmlExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\ExpressionChainEqualityComparer.cs" />\r
-    <Compile Include="src\DbLinq\Util\ExpressionEqualityComparer.cs" />\r
-    <Compile Include="src\DbLinq\Util\IDataRecordExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\IDataTypeExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\IDbDataParameterExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\IThreadSafeDictionary.cs" />\r
-    <Compile Include="src\DbLinq\Util\LambdaComparer.cs" />\r
-    <Compile Include="src\DbLinq\Util\MemberInfoExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\Output.cs" />\r
-    <Compile Include="src\DbLinq\Util\OutputLevel.cs" />\r
-    <Compile Include="src\DbLinq\Util\Page.cs" />\r
-    <Compile Include="src\DbLinq\Util\Profiler.cs" />\r
-    <Compile Include="src\DbLinq\Util\QuotesHelper.cs" />\r
-    <Compile Include="src\DbLinq\Util\ReferenceEqualityComparer.cs" />\r
-    <Compile Include="src\DbLinq\Util\ReflectionExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\ReflectionUtility.cs" />\r
-    <Compile Include="src\DbLinq\Util\StringExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\TextWriterExtension.cs" />\r
-    <Compile Include="src\DbLinq\Util\ThreadSafeDictionary.cs" />\r
-    <Compile Include="src\DbLinq\Util\TypeConvert.cs" />\r
-    <Compile Include="src\DbLinq\Util\TypeExtensions.cs" />\r
-    <Compile Include="src\DbLinq\Util\TypeLoader.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\DbSchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\IDataName.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\IDataTableColumn.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\IDataType.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Columns.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.DataName.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.ForeignKey.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Name.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Tables.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.TypeMapping.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\SqlProvider.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\Vendor.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\Implementation\Vendor.ProcedureResult.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\INameAliases.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\ISchemaLoader.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\ISqlProvider.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\IVendor.cs" />\r
-    <Compile Include="src\DbLinq\Vendor\VendorAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="./src/DbLinq/Schema/Dbml/DbmlSchema.xsd">\r
-      <LogicalName>DbLinq.Schema.Dbml.DbmlSchema.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.Linq/System.Data.Linq-tests-net_2_0.csproj b/mcs/class/System.Data.Linq/System.Data.Linq-tests-net_2_0.csproj
deleted file mode 100644 (file)
index eee1f76..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{50082F92-4608-4F6F-B2BB-338DC1B3B591}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>bin\Debug\System.Data.Linq-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.Linq_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;MONO_STRICT;MONO_DEPLOY;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;MONO_STRICT;MONO_DEPLOY;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="src\DbLinq.SqlServer\Test\MsSqlDataContextTest.cs" />\r
-    <Compile Include="src\DbLinq\Test\BinaryTest.cs" />\r
-    <Compile Include="src\DbLinq\Test\DataContextTest.cs" />\r
-    <Compile Include="src\DbLinq\Test\EntitySetTest.cs" />\r
-    <Compile Include="src\DbLinq\Test\NullProvider.cs" />\r
-    <Compile Include="src\DbLinq\Test\PeopleTable.cs" />\r
-    <Compile Include="src\DbLinq\Test\Providers\DataContextTestBase.cs" />\r
-    <Compile Include="src\DbLinq\Test\TableTest.cs" />\r
-    <Compile Include="Test\dummy.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="./src/DbLinq/Schema/Dbml/DbmlSchema.xsd">\r
-      <LogicalName>DbLinq.Schema.Dbml.DbmlSchema.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_2_0.csproj b/mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_2_0.csproj
deleted file mode 100644 (file)
index 68cb0f8..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{FB31E958-0E46-4D09-80B2-EF1245FDDB87}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.OracleClient</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciAttributeType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciBindHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciCalls.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciColumnInfo.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciCredentialType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciDataType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciDateTimeDescriptor.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciDefineHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciDescriptorHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciEnvironmentHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciEnvironmentMode.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciErrorHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciErrorInfo.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciExecuteMode.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciHandleType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciIntervalDescriptor.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciLobLocator.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciLobType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciNlsServiceType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciParameterDescriptor.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciPointerType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciRowIdDescriptor.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciServerHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciServiceHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciSessionHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciSessionMode.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciStatementHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciStatementLanguage.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciStatementMode.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciStatementType.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciTransactionFlags.cs" />\r
-    <Compile Include="System.Data.OracleClient.Oci\OciTransactionHandle.cs" />\r
-    <Compile Include="System.Data.OracleClient\OciGlue.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleBFile.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleBinary.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleBoolean.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleClientFactory.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleCommand.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleCommandBuilder.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleConnection.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleConnectionPool.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleConnectionPoolManager.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleConnectionStringBuilder.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleDataAdapter.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleDataReader.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleDateTime.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleException.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleInfoMessageEventArgs.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleInfoMessageEventHandler.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleLob.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleLobOpenMode.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleMonthSpan.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleNumber.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleParameter.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleParameterCollection.cs" />\r
-    <Compile Include="System.Data.OracleClient\OraclePermission.cs" />\r
-    <Compile Include="System.Data.OracleClient\OraclePermissionAttribute.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleRowUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleRowUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleRowUpdatingEventArgs.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleRowUpdatingEventHandler.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleString.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleTimeSpan.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleTransaction.cs" />\r
-    <Compile Include="System.Data.OracleClient\OracleType.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient-tests-net_2_0.csproj b/mcs/class/System.Data.OracleClient/System.Data.OracleClient-tests-net_2_0.csproj
deleted file mode 100644 (file)
index dc651ac..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F5A01B66-E44D-4901-9607-DB7BF2D6B572}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.Data.OracleClient-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.OracleClient_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\ADONetTesterClass.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\ConnectedDataProvider.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\DbTypeParameter.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\DbTypeParametersCollection.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\MonoTests.System.Data.Utils\GHTBase.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandText.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandTimeout.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_CommandType.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Connection.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Dispose.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteNonQuery.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteReader.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_ExecuteScalar.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_New.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Parameters.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Prepare.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommand\OracleCommand_Transaction.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleCommandBuilder\OracleCommandBuilder_DeriveParameters_O.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\IDBConnection_For_Oracle.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_BeginTransaction.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ChangeDatabase.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Close.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ConnectionString.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_ConnectionTimeout.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_CreateCommand.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Database.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_DataSource.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_Equals.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_InfoMessage.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_New.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_State.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleConnection\OracleConnection_StateChange.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_AcceptChangesDuringFill.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ContinueUpdateOnError.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_O.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_SO.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ctor_SS.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_DeleteCommand.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Dispose.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_1.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_2.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_3.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Ds.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Ds_Int_Int_Str.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_DsStr.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Fill_Dt.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillError.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DS.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DSS.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DsSt.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_FillSchema_DtSch.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_GetFillParameters.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_InsertCommand.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_MissingMappingAction.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_MissingSchemaAction.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_RowUpdated.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_RowUpdating.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_SelectCommand.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_TableMappings.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_ToString.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Dr.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Ds.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_DsStr.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_Update_Dt.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataAdapter\OracleDataAdapter_UpdateCommand.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Close.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_ctor.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Depth.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetBoolean.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetByte_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetBytes_IIBII.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetChars.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDataTypeName.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDateTime.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDecimal_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetDouble_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetFieldType.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetFloat_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetGuiid_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt16.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt32_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetInt64.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetName_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetOrdinal.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetSchemaTable.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetString_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetTimeSpan_I.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetValue.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_GetValues.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_HasRows.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_IsDBNull.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Item.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_NextResult.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_Read.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleDataReader\OracleDataReader_RecordsAffected.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SO.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOIPBBBSDO.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtype.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtype_IS.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameter\OracleParameter_ctor_SOtypeI.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Add.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Contains.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleParameterCollection\OracleParameterCollection_Count.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Begin.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Commit.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Connection.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_ctor.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_IsolationLevel.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleTransaction\OracleTransaction_Rollback.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.jvm\OracleType\OracleType_Date.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient.Oci\OciDefineHandleTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleCommandTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleConnectionTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleDataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleLobTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleParameterCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleParameterTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OraclePermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Data.OracleClient\OracleTimeSpanTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.OracleClient\System.Data.OracleClient-net_2_0.csproj">\r
-      <Project>{FB31E958-0E46-4D09-80B2-EF1245FDDB87}</Project>\r
-      <Name>System.Data.OracleClient\System.Data.OracleClient-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_2_0.csproj b/mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_2_0.csproj
deleted file mode 100644 (file)
index 18b6958..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2BD87584-B572-4E15-9941-93776CE3C901}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.Services.Client</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\Client\AssemblyAttributes.cs" />\r
-    <Compile Include=".\Client\Parameterized.System.Data.Services.Client.cs" />\r
-    <Compile Include=".\Client\System.Data.Services.Client.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\DataServiceExpressionVisitor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\DataServiceQueryProvider.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\Evaluator.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionNormalizer.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionVisitor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionWriter.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\FilterQueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\InputBinder.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\InputReferenceExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\NavigationPropertySingletonExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\OrderByQueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ParameterReplacerVisitor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\PathBox.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionAnalyzer.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionQueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionRewriter.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\QueryComponents.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\QueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ReflectionUtil.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceBinder.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceExpressionType.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceSetExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\SkipQueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\TakeQueryOptionExpression.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\TypeSystem.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\UriHelper.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ALinq\UriWriter.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ArraySet.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomContentProperty.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomDataKind.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomEntry.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomFeed.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomMaterializer.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomMaterializerLog.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\AtomParser.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\BaseAsyncResult.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\BatchStream.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\BatchStreamState.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingEntityInfo.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingGraph.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingObserver.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingUtils.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceCollectionOfT.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceEntityAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceSaveChangesEventArgs.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\EntityChangedParams.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\EntityCollectionChangedParams.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Binding\LoadCompletedEventArgs.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ChangesetResponse.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ClientConvert.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ClientType.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceClientException.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceContext.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceEntityAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceKeyAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceProtocolVersion.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQuery.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryContinuation.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryException.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryOfT.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequest.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestArgs.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestException.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestOfT.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceResponse.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\DataServiceStreamResponse.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Descriptor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\EntityDescriptor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\EntityPropertyMappingAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\EntityStates.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Epm\EpmSyndicationContentSerializer.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Error.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\GetReadStreamResult.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\HasStreamAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\LinkDescriptor.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\MaterializeFromAtom.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\MediaEntryAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\MemberAssignmentAnalysis.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\MergeOption.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\MimeTypePropertyAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\OpenObject.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\OpenObjectAttribute.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\OperationResponse.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPath.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPathBuilder.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPathSegment.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPlan.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPlanCompiler.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\QueryOperationResponseOfT.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\QueryResponse.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\QueryResult.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ReadingWritingEntityEventArgs.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\ReferenceEqualityComparer.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\SaveChangesOptions.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\SendingRequestEventArgs.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Util.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\WebUtil.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Xml\XmlAtomErrorReader.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\Xml\XmlWrappingReader.cs" />\r
-    <Compile Include=".\Client\System\Data\Services\Client\XmlUtil.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmContentSerializerBase.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmCustomContentSerializer.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmCustomContentWriterNodeData.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmSourcePathSegment.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmSourceTree.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmTargetPathSegment.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Epm\EpmTargetTree.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\HttpProcessUtility.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Parsing\WebConvert.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\Providers\EntityPropertyMappingInfo.cs" />\r
-    <Compile Include=".\Server\System\Data\Services\XmlConstants.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Xml.Linq\System.Xml.Linq-net_2_0.csproj">\r
-      <Project>{80B8A117-6BB4-4646-8BE9-863A5C105437}</Project>\r
-      <Name>System.Xml.Linq\System.Xml.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\WindowsBase\WindowsBase-net_2_0.csproj">\r
-      <Project>{65F08514-3634-45C8-8EEB-6BAEA2EDC0C8}</Project>\r
-      <Name>WindowsBase\WindowsBase-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Client/System.Data.Services.Client.resources">\r
-      <LogicalName>System.Data.Services.Client.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.Services/System.Data.Services-net_2_0.csproj b/mcs/class/System.Data.Services/System.Data.Services-net_2_0.csproj
deleted file mode 100644 (file)
index c40c38d..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{09A92F36-0617-4D47-95BB-17AAB6588793}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.Services</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\System.Data.Services\ChangeInterceptorAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\DataService.cs" />\r
-    <Compile Include=".\System.Data.Services\DataServiceException.cs" />\r
-    <Compile Include=".\System.Data.Services\DataServiceHost.cs" />\r
-    <Compile Include=".\System.Data.Services\DataServiceHostFactory.cs" />\r
-    <Compile Include=".\System.Data.Services\EntitySetRights.cs" />\r
-    <Compile Include=".\System.Data.Services\ETagAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\ExpandSegment.cs" />\r
-    <Compile Include=".\System.Data.Services\ExpandSegmentCollection.cs" />\r
-    <Compile Include=".\System.Data.Services\HandleExceptionArgs.cs" />\r
-    <Compile Include=".\System.Data.Services\IDataServiceConfiguration.cs" />\r
-    <Compile Include=".\System.Data.Services\IDataServiceHost.cs" />\r
-    <Compile Include=".\System.Data.Services\IExpandedResult.cs" />\r
-    <Compile Include=".\System.Data.Services\IExpandProvider.cs" />\r
-    <Compile Include=".\System.Data.Services\IgnorePropertiesAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\IRequestHandler.cs" />\r
-    <Compile Include=".\System.Data.Services\IUpdatable.cs" />\r
-    <Compile Include=".\System.Data.Services\MimeTypeAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\ProcessRequestArgs.cs" />\r
-    <Compile Include=".\System.Data.Services\QueryInterceptorAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\ServiceOperationRights.cs" />\r
-    <Compile Include=".\System.Data.Services\SingleResultAttribute.cs" />\r
-    <Compile Include=".\System.Data.Services\UpdateOperations.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel.Web\System.ServiceModel.Web-net_2_0.csproj">\r
-      <Project>{3C6EB10D-5929-4CB4-81F2-7984FCECCDAA}</Project>\r
-      <Name>System.ServiceModel.Web\System.ServiceModel.Web-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Services.Client\System.Data.Services.Client-net_2_0.csproj">\r
-      <Project>{2BD87584-B572-4E15-9941-93776CE3C901}</Project>\r
-      <Name>System.Data.Services.Client\System.Data.Services.Client-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data.Services/System.Data.Services-tests-net_2_0.csproj b/mcs/class/System.Data.Services/System.Data.Services-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 4a2a04d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E5666F81-4D04-454B-A208-25A90186E92C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Data.Services-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data.Services_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web.DynamicData\Test\Common\AssertExtensions.cs" />\r
-    <Compile Include="Test\.\ChangeInterceptorAttributeTests.cs" />\r
-    <Compile Include="Test\.\DataServiceExceptionTests.cs" />\r
-    <Compile Include="Test\.\DataServiceTests.cs" />\r
-    <Compile Include="Test\.\ETagAttributeTests.cs" />\r
-    <Compile Include="Test\.\ExpandSegmentCollectionTests.cs" />\r
-    <Compile Include="Test\.\ExpandSegmentTests.cs" />\r
-    <Compile Include="Test\.\IgnorePropertiesAttributeTests.cs" />\r
-    <Compile Include="Test\.\MimeTypeAttributeTests.cs" />\r
-    <Compile Include="Test\.\QueryInterceptorAttributeTests.cs" />\r
-    <Compile Include="Test\.\System.Data.Services.Providers\DataServiceProviderMethodsTest.cs" />\r
-    <Compile Include="Test\.\System.Data.Services.Providers\ResourceTypeTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Services\System.Data.Services-net_2_0.csproj">\r
-      <Project>{09A92F36-0617-4D47-95BB-17AAB6588793}</Project>\r
-      <Name>System.Data.Services\System.Data.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 2fb0b08ecd5ca399090d45d510a4b654bae5dd90..59772888b4d95660e774e631b5e549de89de4103 100644 (file)
@@ -2,27 +2,13 @@ thisdir = class/System.Data
 SUBDIRS = 
 include ../../build/rules.make
 
-# I have *no idea* why I need to do this.
-
-ifeq ($(PROFILE),atomic)
-system = System.dll
-else
-system = $(topdir)/class/lib/$(PROFILE)/System.dll
-endif
-
-ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
-OTHER_LIB_MCS_FLAGS = -r:System.Configuration.dll \
-                       -r:System.Transactions.dll
-endif
-
 LIBRARY = System.Data.dll
+
 LIB_MCS_FLAGS = \
        -nowarn:649 \
        -unsafe \
-       -r:$(corlib)                            \
-       -r:$(system)                            \
-       -r:System.Xml.dll                       \
-
+       -r:System                               \
+       -r:System.Xml.dll
 
 MOBILE := $(filter monotouch monodroid xammac mobile mobile_static, $(PROFILE))
 ifdef MOBILE
@@ -33,7 +19,8 @@ else
 LIB_MCS_FLAGS += \
        -r:System.EnterpriseServices.dll        \
        -r:Mono.Data.Tds.dll \
-       $(OTHER_LIB_MCS_FLAGS)
+       -r:System.Configuration.dll \
+       -r:System.Transactions.dll
 endif
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -r:System.Core.dll -r:Mono.Data.Sqlite.dll -nowarn:618,169,612,219,168
diff --git a/mcs/class/System.Data/System.Data-net_2_0.csproj b/mcs/class/System.Data/System.Data-net_2_0.csproj
deleted file mode 100644 (file)
index fc6d5c4..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,649</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,649</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,649</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs.in" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\DataAccessKind.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\Format.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\IBinarySerialize.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\InvalidUdtException.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlFacetAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlFunctionAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlMetaData.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlMethodAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlProcedureAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlTriggerAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlTriggerContext.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlUserDefinedAggregateAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SqlUserDefinedTypeAttribute.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\SystemDataAccessKind.cs" />\r
-    <Compile Include="Microsoft.SqlServer.Server\TriggerAction.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Aggregation.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\ArithmeticExpressions.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\BooleanExpressions.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\ColumnReference.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Comparison.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Expressions.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Functions.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\In.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Like.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Literal.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Numeric.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\StringFunctions.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Tokenizer.cs" />\r
-    <Compile Include="System.Data.Common\CatalogLocation.cs" />\r
-    <Compile Include="System.Data.Common\ComparerFactory.cs" />\r
-    <Compile Include="System.Data.Common\DataAdapter.cs" />\r
-    <Compile Include="System.Data.Common\DataColumnMapping.cs" />\r
-    <Compile Include="System.Data.Common\DataColumnMappingCollection.cs" />\r
-    <Compile Include="System.Data.Common\DataColumnMappingConverter.cs" />\r
-    <Compile Include="System.Data.Common\DataContainer.cs" />\r
-    <Compile Include="System.Data.Common\DataTableMapping.cs" />\r
-    <Compile Include="System.Data.Common\DataTableMappingCollection.cs" />\r
-    <Compile Include="System.Data.Common\DataTableMappingConverter.cs" />\r
-    <Compile Include="System.Data.Common\DbCommand.cs" />\r
-    <Compile Include="System.Data.Common\DbCommandBuilder.cs" />\r
-    <Compile Include="System.Data.Common\DbConnection.cs" />\r
-    <Compile Include="System.Data.Common\DbConnectionOptions.cs" />\r
-    <Compile Include="System.Data.Common\DbConnectionString.cs" />\r
-    <Compile Include="System.Data.Common\DbConnectionStringBuilder.cs" />\r
-    <Compile Include="System.Data.Common\DbConnectionStringBuilderHelper.cs" />\r
-    <Compile Include="System.Data.Common\DbDataAdapter.cs" />\r
-    <Compile Include="System.Data.Common\DbDataPermission.cs" />\r
-    <Compile Include="System.Data.Common\DbDataPermissionAttribute.cs" />\r
-    <Compile Include="System.Data.Common\DbDataReader.cs" />\r
-    <Compile Include="System.Data.Common\DbDataRecord.cs" />\r
-    <Compile Include="System.Data.Common\DbDataSourceEnumerator.cs" />\r
-    <Compile Include="System.Data.Common\DbEnumerator.cs" />\r
-    <Compile Include="System.Data.Common\DbException.cs" />\r
-    <Compile Include="System.Data.Common\DbMetaDataCollectionNames.cs" />\r
-    <Compile Include="System.Data.Common\DbMetaDataColumnNames.cs" />\r
-    <Compile Include="System.Data.Common\DbParameter.cs" />\r
-    <Compile Include="System.Data.Common\DbParameterCollection.cs" />\r
-    <Compile Include="System.Data.Common\DbProviderConfigurationHandler.cs" />\r
-    <Compile Include="System.Data.Common\DbProviderFactories.cs" />\r
-    <Compile Include="System.Data.Common\DbProviderFactoriesConfigurationHandler.cs" />\r
-    <Compile Include="System.Data.Common\DbProviderFactory.cs" />\r
-    <Compile Include="System.Data.Common\DbProviderSpecificTypePropertyAttribute.cs" />\r
-    <Compile Include="System.Data.Common\DbTable.cs" />\r
-    <Compile Include="System.Data.Common\DbTransaction.cs" />\r
-    <Compile Include="System.Data.Common\DbTypes.cs" />\r
-    <Compile Include="System.Data.Common\ExceptionHelper.cs" />\r
-    <Compile Include="System.Data.Common\FieldNameLookup.cs" />\r
-    <Compile Include="System.Data.Common\GroupByBehavior.cs" />\r
-    <Compile Include="System.Data.Common\IdentifierCase.cs" />\r
-    <Compile Include="System.Data.Common\Index.cs" />\r
-    <Compile Include="System.Data.Common\Key.cs" />\r
-    <Compile Include="System.Data.Common\PermissionHelper.cs" />\r
-    <Compile Include="System.Data.Common\RecordCache.cs" />\r
-    <Compile Include="System.Data.Common\RowUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Data.Common\RowUpdatingEventArgs.cs" />\r
-    <Compile Include="System.Data.Common\SchemaInfo.cs" />\r
-    <Compile Include="System.Data.Common\SchemaTableColumn.cs" />\r
-    <Compile Include="System.Data.Common\SchemaTableOptionalColumn.cs" />\r
-    <Compile Include="System.Data.Common\SupportedJoinOperators.cs" />\r
-    <Compile Include="System.Data.Common\TaskHelper.cs" />\r
-    <Compile Include="System.Data.Odbc\libodbc.cs" />\r
-    <Compile Include="System.Data.Odbc\NativeBuffer.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcCategoryAttribute.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcColumn.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcCommand.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcCommandBuilder.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcConnection.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcConnectionStringBuilder.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcDataAdapter.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcDataReader.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcDescriptionAttribute.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcError.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcErrorCollection.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcException.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcFactory.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcInfoMessageEventArgs.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcInfoMessageEventHandler.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcMetaDataCollectionNames.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcMetaDataColumnNames.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcParameter.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcParameterCollection.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcParameterConverter.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcPermission.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcPermissionAttribute.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcRowUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcRowUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcRowUpdatingEventArgs.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcRowUpdatingEventHandler.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcTransaction.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcType.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcTypeConverter.cs" />\r
-    <Compile Include="System.Data.Odbc\OdbcTypeMap.cs" />\r
-    <Compile Include="System.Data.OleDb\libgda.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbCommand.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbCommandBuilder.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbConnection.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbDataAdapter.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbDataReader.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbError.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbErrorCollection.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbException.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbFactory.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbInfoMessageEventArgs.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbInfoMessageEventHandler.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbLiteral.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbMetaDataCollectionNames.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbParameter.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbParameterCollection.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbParameterConverter.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbPermission.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbPermissionAttribute.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbRowUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbRowUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbRowUpdatingEventArgs.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbRowUpdatingEventHandler.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbSchemaGuid.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbTransaction.cs" />\r
-    <Compile Include="System.Data.OleDb\OleDbType.cs" />\r
-    <Compile Include="System.Data.Sql\SqlDataSourceEnumerator.cs" />\r
-    <Compile Include="System.Data.Sql\SqlNotificationRequest.cs" />\r
-    <Compile Include="System.Data.SqlClient\NetworkLibraryConverter.cs" />\r
-    <Compile Include="System.Data.SqlClient\OnChangeEventHandler.cs" />\r
-    <Compile Include="System.Data.SqlClient\SortOrder.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlAsyncResult.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlAsyncState.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlBulkCopy.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlBulkCopyColumnMapping.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlBulkCopyColumnMappingCollection.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlBulkCopyOptions.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlClientFactory.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlClientMetaDataCollectionNames.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlClientPermission.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlClientPermissionAttribute.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlCommand.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlCommandBuilder.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlConnection.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlConnectionStringBuilder.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlDataAdapter.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlDataReader.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlDataSourceConverter.cs" />\r
-    <Compile Include="System.Data.SqlClient\SQLDebugging.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlDependency.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlError.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlErrorCollection.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlException.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlInfoMessageEventArgs.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlInfoMessageEventHandler.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlInitialCatalogConverter.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlNotificationEventArgs.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlNotificationInfo.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlNotificationSource.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlNotificationType.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlParameter.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlParameterCollection.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlParameterConverter.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowsCopiedEventArgs.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowsCopiedEventHandler.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowUpdatingEventArgs.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlRowUpdatingEventHandler.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlTransaction.cs" />\r
-    <Compile Include="System.Data.SqlClient\SqlXmlTextReader.cs" />\r
-    <Compile Include="System.Data.SqlTypes\INullable.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlAlreadyFilledException.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlBinary.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlBoolean.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlByte.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlBytes.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlChars.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlCompareOptions.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlDateTime.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlDecimal.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlDouble.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlGuid.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlInt16.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlInt32.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlInt64.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlMoney.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlNotFilledException.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlNullValueException.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlSingle.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlString.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlTruncateException.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlTypeException.cs" />\r
-    <Compile Include="System.Data.SqlTypes\SqlXml.cs" />\r
-    <Compile Include="System.Data.SqlTypes\StorageState.cs" />\r
-    <Compile Include="System.Data\AcceptRejectRule.cs" />\r
-    <Compile Include="System.Data\ColumnTypeConverter.cs" />\r
-    <Compile Include="System.Data\CommandBehavior.cs" />\r
-    <Compile Include="System.Data\CommandType.cs" />\r
-    <Compile Include="System.Data\ConflictOption.cs" />\r
-    <Compile Include="System.Data\ConnectionState.cs" />\r
-    <Compile Include="System.Data\Constraint.cs" />\r
-    <Compile Include="System.Data\ConstraintCollection.cs" />\r
-    <Compile Include="System.Data\ConstraintConverter.cs" />\r
-    <Compile Include="System.Data\ConstraintException.cs" />\r
-    <Compile Include="System.Data\CustomDataClassGenerator.cs" />\r
-    <Compile Include="System.Data\DataCategoryAttribute.cs" />\r
-    <Compile Include="System.Data\DataColumn.cs" />\r
-    <Compile Include="System.Data\DataColumnChangeEventArgs.cs" />\r
-    <Compile Include="System.Data\DataColumnChangeEventHandler.cs" />\r
-    <Compile Include="System.Data\DataColumnCollection.cs" />\r
-    <Compile Include="System.Data\DataColumnPropertyDescriptor.cs" />\r
-    <Compile Include="System.Data\DataException.cs" />\r
-    <Compile Include="System.Data\DataRelation.cs" />\r
-    <Compile Include="System.Data\DataRelationCollection.cs" />\r
-    <Compile Include="System.Data\DataRelationPropertyDescriptor.cs" />\r
-    <Compile Include="System.Data\DataRow.cs" />\r
-    <Compile Include="System.Data\DataRowAction.cs" />\r
-    <Compile Include="System.Data\DataRowBuilder.cs" />\r
-    <Compile Include="System.Data\DataRowChangeEventArgs.cs" />\r
-    <Compile Include="System.Data\DataRowChangeEventHandler.cs" />\r
-    <Compile Include="System.Data\DataRowCollection.cs" />\r
-    <Compile Include="System.Data\DataRowState.cs" />\r
-    <Compile Include="System.Data\DataRowVersion.cs" />\r
-    <Compile Include="System.Data\DataRowView.cs" />\r
-    <Compile Include="System.Data\DataSet.cs" />\r
-    <Compile Include="System.Data\DataSetDateTime.cs" />\r
-    <Compile Include="System.Data\DataSysDescriptionAttribute.cs" />\r
-    <Compile Include="System.Data\DataTable.cs" />\r
-    <Compile Include="System.Data\DataTableClearEventArgs.cs" />\r
-    <Compile Include="System.Data\DataTableClearEventHandler.cs" />\r
-    <Compile Include="System.Data\DataTableCollection.cs" />\r
-    <Compile Include="System.Data\DataTableNewRowEventArgs.cs" />\r
-    <Compile Include="System.Data\DataTableNewRowEventHandler.cs" />\r
-    <Compile Include="System.Data\DataTablePropertyDescriptor.cs" />\r
-    <Compile Include="System.Data\DataTableReader.cs" />\r
-    <Compile Include="System.Data\DataTableTypeConverter.cs" />\r
-    <Compile Include="System.Data\DataView.cs" />\r
-    <Compile Include="System.Data\DataViewManager.cs" />\r
-    <Compile Include="System.Data\DataViewManagerListItemTypeDescriptor.cs" />\r
-    <Compile Include="System.Data\DataViewRowState.cs" />\r
-    <Compile Include="System.Data\DataViewSetting.cs" />\r
-    <Compile Include="System.Data\DataViewSettingCollection.cs" />\r
-    <Compile Include="System.Data\DBConcurrencyException.cs" />\r
-    <Compile Include="System.Data\DbType.cs" />\r
-    <Compile Include="System.Data\DefaultValueTypeConverter.cs" />\r
-    <Compile Include="System.Data\DeletedRowInaccessibleException.cs" />\r
-    <Compile Include="System.Data\DuplicateNameException.cs" />\r
-    <Compile Include="System.Data\EvaluateException.cs" />\r
-    <Compile Include="System.Data\FillErrorEventArgs.cs" />\r
-    <Compile Include="System.Data\FillErrorEventHandler.cs" />\r
-    <Compile Include="System.Data\ForeignKeyConstraint.cs" />\r
-    <Compile Include="System.Data\IColumnMapping.cs" />\r
-    <Compile Include="System.Data\IColumnMappingCollection.cs" />\r
-    <Compile Include="System.Data\IDataAdapter.cs" />\r
-    <Compile Include="System.Data\IDataParameter.cs" />\r
-    <Compile Include="System.Data\IDataParameterCollection.cs" />\r
-    <Compile Include="System.Data\IDataReader.cs" />\r
-    <Compile Include="System.Data\IDataRecord.cs" />\r
-    <Compile Include="System.Data\IDbCommand.cs" />\r
-    <Compile Include="System.Data\IDbConnection.cs" />\r
-    <Compile Include="System.Data\IDbDataAdapter.cs" />\r
-    <Compile Include="System.Data\IDbDataParameter.cs" />\r
-    <Compile Include="System.Data\IDbTransaction.cs" />\r
-    <Compile Include="System.Data\InRowChangingEventException.cs" />\r
-    <Compile Include="System.Data\InternalDataCollectionBase.cs" />\r
-    <Compile Include="System.Data\InvalidConstraintException.cs" />\r
-    <Compile Include="System.Data\InvalidExpressionException.cs" />\r
-    <Compile Include="System.Data\ISafeDataRecord.cs" />\r
-    <Compile Include="System.Data\IsolationLevel.cs" />\r
-    <Compile Include="System.Data\ITableMapping.cs" />\r
-    <Compile Include="System.Data\ITableMappingCollection.cs" />\r
-    <Compile Include="System.Data\KeyRestrictionBehavior.cs" />\r
-    <Compile Include="System.Data\LoadOption.cs" />\r
-    <Compile Include="System.Data\MappingType.cs" />\r
-    <Compile Include="System.Data\MergeFailedEventArgs.cs" />\r
-    <Compile Include="System.Data\MergeFailedEventHandler.cs" />\r
-    <Compile Include="System.Data\MergeManager.cs" />\r
-    <Compile Include="System.Data\MissingMappingAction.cs" />\r
-    <Compile Include="System.Data\MissingPrimaryKeyException.cs" />\r
-    <Compile Include="System.Data\MissingSchemaAction.cs" />\r
-    <Compile Include="System.Data\Node.cs" />\r
-    <Compile Include="System.Data\NoNullAllowedException.cs" />\r
-    <Compile Include="System.Data\OperationAbortedException.cs" />\r
-    <Compile Include="System.Data\ParameterDirection.cs" />\r
-    <Compile Include="System.Data\PropertyAttributes.cs" />\r
-    <Compile Include="System.Data\PropertyCollection.cs" />\r
-    <Compile Include="System.Data\ReadOnlyException.cs" />\r
-    <Compile Include="System.Data\RelatedDataView.cs" />\r
-    <Compile Include="System.Data\RelationshipConverter.cs" />\r
-    <Compile Include="System.Data\ResDescriptionAttribute.cs" />\r
-    <Compile Include="System.Data\RowNotInTableException.cs" />\r
-    <Compile Include="System.Data\Rule.cs" />\r
-    <Compile Include="System.Data\SchemaSerializationMode.cs" />\r
-    <Compile Include="System.Data\SchemaType.cs" />\r
-    <Compile Include="System.Data\SerializationFormat.cs" />\r
-    <Compile Include="System.Data\SqlDbType.cs" />\r
-    <Compile Include="System.Data\StateChangeEventArgs.cs" />\r
-    <Compile Include="System.Data\StateChangeEventHandler.cs" />\r
-    <Compile Include="System.Data\StatementCompletedEventArgs.cs" />\r
-    <Compile Include="System.Data\StatementCompletedEventHandler.cs" />\r
-    <Compile Include="System.Data\StatementType.cs" />\r
-    <Compile Include="System.Data\StrongTypingException.cs" />\r
-    <Compile Include="System.Data\SyntaxErrorException.cs" />\r
-    <Compile Include="System.Data\TableAdapterSchemaInfo.cs" />\r
-    <Compile Include="System.Data\TypeDataSetGeneratorException.cs" />\r
-    <Compile Include="System.Data\TypedDataSetGenerator.cs" />\r
-    <Compile Include="System.Data\UniqueConstraint.cs" />\r
-    <Compile Include="System.Data\UpdateRowSource.cs" />\r
-    <Compile Include="System.Data\UpdateStatus.cs" />\r
-    <Compile Include="System.Data\VersionNotFoundException.cs" />\r
-    <Compile Include="System.Data\XmlConstants.cs" />\r
-    <Compile Include="System.Data\XmlDataInferenceLoader.cs" />\r
-    <Compile Include="System.Data\XmlDataLoader.cs" />\r
-    <Compile Include="System.Data\XmlDataReader.cs" />\r
-    <Compile Include="System.Data\XmlDiffLoader.cs" />\r
-    <Compile Include="System.Data\XmlHelper.cs" />\r
-    <Compile Include="System.Data\XmlReadMode.cs" />\r
-    <Compile Include="System.Data\XmlSchemaDataImporter.cs" />\r
-    <Compile Include="System.Data\XmlSchemaWriter.cs" />\r
-    <Compile Include="System.Data\XmlTableWriter.cs" />\r
-    <Compile Include="System.Data\XmlWriteMode.cs" />\r
-    <Compile Include="System.Xml\XmlDataDocument.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Parser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Tds\Mono.Data.Tds-net_2_0.csproj">\r
-      <Project>{C21CB6AB-7059-4FA5-A23C-84EA0B854BB7}</Project>\r
-      <Name>Mono.Data.Tds\Mono.Data.Tds-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Data/System.Data-tests-net_2_0.csproj b/mcs/class/System.Data/System.Data-tests-net_2_0.csproj
deleted file mode 100644 (file)
index cb4d133..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{98528310-9599-43E7-B342-C9686B861C6E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,649,618,169,612,219,168</NoWarn>\r
-    <OutputPath>bin\Debug\System.Data-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Data_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,649,618,169,612,219,168</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,649,618,169,612,219,168</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Mono.Data.SqlExpressions\DataColumnExpressionTest.cs" />\r
-    <Compile Include="Test\Mono.Data.SqlExpressions\DateComparisonTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\ConnectionStringsSectionTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DataColumnMappingCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DataTableMappingCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DbCommandBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DbConnectionStringBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DbDataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DBDataPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DBDataPermissionTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DbProviderFactoriesConfigurationHandlerTest.cs" />\r
-    <Compile Include="Test\System.Data.Common\DbTransactionTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcCommandBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcCommandTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcConnectionStringBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcConnectionTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcDataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcMetaDataCollectionNamesTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcParameterCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcParameterTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Data.Odbc\OdbcPermissionTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbCommandTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbConnectionTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbDataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbMetaDataCollectionNamesTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbParameterCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Data.OleDb\OleDbPermissionTest.cs" />\r
-    <Compile Include="Test\System.Data.Sql\SqlNotificationRequestTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlBulkCopyTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlClientMetaDataCollectionNamesTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlClientPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlClientPermissionTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlCommandBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlCommandTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlConnectionStringBuilderTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlConnectionTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlDataAdapterTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlClient\SqlParameterTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlBinaryTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlBooleanTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlBytesTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlByteTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlCharsTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlDateTimeTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlDecimalTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlDoubleTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlGuidTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlInt16Test.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlInt32Test.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlInt64Test.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlMoneyTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlSingleTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlStringTest.cs" />\r
-    <Compile Include="Test\System.Data.SqlTypes\SqlXmlTest.cs" />\r
-    <Compile Include="Test\System.Data.Test.Utils\DataProvider.cs" />\r
-    <Compile Include="Test\System.Data\BinarySerializationTest.cs" />\r
-    <Compile Include="Test\System.Data\ConstraintCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data\ConstraintCollectionTest2.cs" />\r
-    <Compile Include="Test\System.Data\ConstraintExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\ConstraintTest.cs" />\r
-    <Compile Include="Test\System.Data\DataColumnCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data\DataColumnCollectionTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataColumnTest.cs" />\r
-    <Compile Include="Test\System.Data\DataColumnTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataRelationCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRelationCollectionTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataRelationTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRelationTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataRowCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRowCollectionTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataRowTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRowTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataRowViewTest.cs" />\r
-    <Compile Include="Test\System.Data\DataRowViewTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataSet1.Designer.cs" />\r
-    <Compile Include="Test\System.Data\DataSetAssertion.cs" />\r
-    <Compile Include="Test\System.Data\DataSetInferXmlSchemaTest.cs" />\r
-    <Compile Include="Test\System.Data\DataSetReadXmlSchemaTest.cs" />\r
-    <Compile Include="Test\System.Data\DataSetReadXmlTest.cs" />\r
-    <Compile Include="Test\System.Data\DataSetTest.cs" />\r
-    <Compile Include="Test\System.Data\DataSetTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataSetTypedDataSetTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableCollectionTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableCollectionTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataTableLoadRowTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableReaderTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableReadWriteXmlTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableReadXmlSchemaTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableTest.cs" />\r
-    <Compile Include="Test\System.Data\DataTableTest2.cs" />\r
-    <Compile Include="Test\System.Data\DataTableTest3.cs" />\r
-    <Compile Include="Test\System.Data\DataTableTest4.cs" />\r
-    <Compile Include="Test\System.Data\DataTableTest5.cs" />\r
-    <Compile Include="Test\System.Data\DataViewManagerTest.cs" />\r
-    <Compile Include="Test\System.Data\DataViewTest.cs" />\r
-    <Compile Include="Test\System.Data\DataViewTest_IBindingList.cs" />\r
-    <Compile Include="Test\System.Data\DataViewTest_IBindingListView.cs" />\r
-    <Compile Include="Test\System.Data\DataViewTest2.cs" />\r
-    <Compile Include="Test\System.Data\DBConcurrencyExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\DeletedRowInaccessibleExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\DuplicateNameExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\EvaluateExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\ForeignKeyConstraintTest.cs" />\r
-    <Compile Include="Test\System.Data\ForeignKeyConstraintTest2.cs" />\r
-    <Compile Include="Test\System.Data\InRowChangingEventExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\InvalidConstraintExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\MissingPrimaryKeyExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\MonkeyDataSet.cs" />\r
-    <Compile Include="Test\System.Data\NoNullAllowedExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\ReadOnlyExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\RowNotInTableExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\SyntaxErrorExceptionTest.cs" />\r
-    <Compile Include="Test\System.Data\TrailingSpaceTest.cs" />\r
-    <Compile Include="Test\System.Data\TypedDataSetGeneratorTest.cs" />\r
-    <Compile Include="Test\System.Data\UniqueConstraintTest.cs" />\r
-    <Compile Include="Test\System.Data\UniqueConstraintTest2.cs" />\r
-    <Compile Include="Test\System.Data\VersionNotFoundException.cs" />\r
-    <Compile Include="Test\System.Data\XmlDataLoaderTest.cs" />\r
-    <Compile Include="Test\System.Data\XmlDataReaderTest.cs" />\r
-    <Compile Include="Test\System.Data\XmlExportOfTypedDataSetTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDataDocumentTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDataDocumentTest2.cs" />\r
-    <Compile Include="Mono.Data.SqlExpressions\Parser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Tds\Mono.Data.Tds-net_2_0.csproj">\r
-      <Project>{C21CB6AB-7059-4FA5-A23C-84EA0B854BB7}</Project>\r
-      <Name>Mono.Data.Tds\Mono.Data.Tds-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="Mono.Data.Sqlite.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>Mono.Data.Sqlite.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 2a6c0da4885d78eb7a81a2198a3ab49bb1fe34ba..7cad139dc3d7a581efa8501630cca1f3b478aaaf 100644 (file)
@@ -43,7 +43,6 @@ namespace System.Data.Common {
                readonly IDataReader reader;
                readonly bool closeReader;
                readonly SchemaInfo [] schema;
-               readonly object [] values;
        
                #endregion // Fields
 
@@ -58,7 +57,6 @@ namespace System.Data.Common {
                {
                        this.reader = reader;
                        this.closeReader = closeReader;
-                       this.values = new object [reader.FieldCount];
                        this.schema = LoadSchema (reader);
                }
 
@@ -67,8 +65,13 @@ namespace System.Data.Common {
                #region Properties
 
                public object Current {
-                       get { 
+                       get {
+                               // DbDataRecordImpl does not do copy of the array
+                               // and MoveNext would overwrite any previously filled data
+                               var values = new object [reader.FieldCount];
                                reader.GetValues (values);
+
+                               // TODO: Should not allocate on every property call
                                return new DbDataRecordImpl (schema, values); 
                        }
                }
diff --git a/mcs/class/System.Design/System.Design-net_2_0.csproj b/mcs/class/System.Design/System.Design-net_2_0.csproj
deleted file mode 100644 (file)
index f146ad3..0000000
+++ /dev/null
@@ -1,438 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D3F4E3E9-C9E8-43D4-9E6C-A4AD4433592C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Design</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;DRAWING_DESIGN_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;DRAWING_DESIGN_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DataSourceDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DataSourceDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DataSourceGroup.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DataSourceGroupCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DataSourceProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataColumn.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataConnection.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataParameter.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataRelationship.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataSchemaClass.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataStoredProcedure.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataTable.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataTableBase.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\DesignerDataView.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\IDataEnvironment.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\IDesignerDataSchema.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Data\QueryBuilderMode.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\BasicDesignerLoader.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomComponentSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomDesignerLoader.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomLocalizationModel.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomLocalizationProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializationProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializerBase.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializerException.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\CollectionCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ComponentCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerSerializationManager.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\EnumCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\EventCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ExpressionContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ICodeDomDesignerReload.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ObjectStatementCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\PrimitiveCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\PropertyCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\RootCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\RootContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\SerializeAbsoluteContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\StatementContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\TypeCodeDomSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignSurfaceChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignSurfaceChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ArrayEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\BinaryEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ByteViewer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CollectionEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentActionsType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DateTimeEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionHeaderItem.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionItem.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionItemCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionList.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionListCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionMethodItem.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionPropertyItem.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionTextItem.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionUIService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerCommandSet.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignModeNestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignModeSite.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurface.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurfaceCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurfaceEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurfaceEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurfaceManager.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignSurfaceServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DisplayMode.cs" />\r
-    <Compile Include="System.ComponentModel.Design\EventBindingService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ExceptionCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ExtenderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentDesignerDebugService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentDesignerStateService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\InheritanceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\LoadedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\LoadedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\LocalizationExtenderProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommandService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MultilineStringEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ObjectSelectorEditor.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ReferenceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\SelectionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\TypeDescriptorFilterService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\UndoEngine.cs" />\r
-    <Compile Include="System.Data.Design\MethodSignatureGenerator.cs" />\r
-    <Compile Include="System.Data.Design\ParameterGenerationOption.cs" />\r
-    <Compile Include="System.Data.Design\TypedDataSetGenerator.cs" />\r
-    <Compile Include="System.Data.Design\TypedDataSetGeneratorException.cs" />\r
-    <Compile Include="System.Data.Design\TypedDataSetSchemaImporterExtension.cs" />\r
-    <Compile Include="System.Design\DummyClass.cs" />\r
-    <Compile Include="System.Diagnostics.Design\LogConverter.cs" />\r
-    <Compile Include="System.Diagnostics.Design\ProcessDesigner.cs" />\r
-    <Compile Include="System.Diagnostics.Design\ProcessModuleDesigner.cs" />\r
-    <Compile Include="System.Diagnostics.Design\ProcessThreadDesigner.cs" />\r
-    <Compile Include="System.Diagnostics.Design\StringValueConverter.cs" />\r
-    <Compile Include="System.Messaging.Design\MessageDesigner.cs" />\r
-    <Compile Include="System.Resources.Tools\StronglyTypedResourceBuilder.cs" />\r
-    <Compile Include="System.ServiceProcess.Design\ServiceControllerDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.Util\DummyClass.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\AdRotatorDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\BaseDataBoundControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\BaseDataListComponentEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\BaseDataListDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\BaseValidatorDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\ButtonDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\CalendarAutoFormatDialog.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\CalendarDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\CheckBoxDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\CompositeControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\DataBoundControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\DataListComponentEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\DataProviderNameConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\DataSourceIDConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\HierarchicalDataBoundControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\HyperLinkDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\LabelDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\LinkButtonDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\ListControlDataBindingHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\ListControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\PanelDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\RegexEditorDialog.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\RegexTypeEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\RepeaterDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\TableCellsCollectionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\TableDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\TableRowsCollectionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design.WebControls\XmlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\AppSettingsExpressionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\CalendarDataBindingHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\ClientScriptItem.cs" />\r
-    <Compile Include="System.Web.UI.Design\ClientScriptItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.Design\ColorBuilder.cs" />\r
-    <Compile Include="System.Web.UI.Design\ConnectionStringEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ConnectionStringsExpressionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ContainerControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\ContentDefinition.cs" />\r
-    <Compile Include="System.Web.UI.Design\ContentDesignerState.cs" />\r
-    <Compile Include="System.Web.UI.Design\ControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\ControlDesignerState.cs" />\r
-    <Compile Include="System.Web.UI.Design\ControlLocation.cs" />\r
-    <Compile Include="System.Web.UI.Design\ControlParser.cs" />\r
-    <Compile Include="System.Web.UI.Design\ControlPersister.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataBindingCollectionConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataBindingCollectionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataBindingHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataBindingValueUIHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataColumnSelectionConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataFieldConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataMemberConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSetFieldSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSetSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSetViewSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSourceBooleanViewSchemaConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSourceConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSourceDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\DataSourceViewSchemaConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerAutoFormat.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerAutoFormatCollection.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerAutoFormatStyle.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerHierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerObject.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerRegion.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerRegionCollection.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignerRegionMouseEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignTimeData.cs" />\r
-    <Compile Include="System.Web.UI.Design\DesignTimeResourceProviderFactory.cs" />\r
-    <Compile Include="System.Web.UI.Design\EditableDesignerRegion.cs" />\r
-    <Compile Include="System.Web.UI.Design\ExpressionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ExpressionEditorSheet.cs" />\r
-    <Compile Include="System.Web.UI.Design\ExpressionsCollectionConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\ExpressionsCollectionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\HierarchicalDataSourceConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\HierarchicalDataSourceDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\HtmlControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\HtmlIntrinsicControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\HyperLinkDataBindingHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\IContentResolutionService.cs" />\r
-    <Compile Include="System.Web.UI.Design\IControlDesignerBehaviour.cs" />\r
-    <Compile Include="System.Web.UI.Design\IControlDesignerTag.cs" />\r
-    <Compile Include="System.Web.UI.Design\IControlDesignerView.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataBindingSchemaProvider.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataSourceDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataSourceFieldSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataSourceProvider.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataSourceSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDataSourceViewSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDesignTimeResourceProviderFactoryService.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDesignTimeResourceWriter.cs" />\r
-    <Compile Include="System.Web.UI.Design\IDocumentProjectItem.cs" />\r
-    <Compile Include="System.Web.UI.Design\IFolderProjectItem.cs" />\r
-    <Compile Include="System.Web.UI.Design\IHierarchicalDataSourceDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\IHtmlControlDesignerBehavior.cs" />\r
-    <Compile Include="System.Web.UI.Design\ImageUrlEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\IProjectItem.cs" />\r
-    <Compile Include="System.Web.UI.Design\ITemplateEditingFrame.cs" />\r
-    <Compile Include="System.Web.UI.Design\ITemplateEditingService.cs" />\r
-    <Compile Include="System.Web.UI.Design\IWebAdministrationService.cs" />\r
-    <Compile Include="System.Web.UI.Design\IWebApplication.cs" />\r
-    <Compile Include="System.Web.UI.Design\IWebFormReferenceManager.cs" />\r
-    <Compile Include="System.Web.UI.Design\IWebFormsBuilderUIService.cs" />\r
-    <Compile Include="System.Web.UI.Design\IWebFormsDocumentService.cs" />\r
-    <Compile Include="System.Web.UI.Design\MailFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\MdbDataFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ReadWriteControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\ResourceExpressionEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ResourceExpressionEditorSheet.cs" />\r
-    <Compile Include="System.Web.UI.Design\SkinIDTypeConverter.cs" />\r
-    <Compile Include="System.Web.UI.Design\SupportsPreviewControlAttribute.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplatedControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplatedEditableDesignerRegion.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateDefinition.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateEditingService.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateEditingVerb.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateGroup.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateGroupCollection.cs" />\r
-    <Compile Include="System.Web.UI.Design\TemplateModeChangedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.Design\TextControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\TextDataBindingHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\TransactedChangeCallback.cs" />\r
-    <Compile Include="System.Web.UI.Design\TypeSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\UrlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.Design\UrlBuilderOptions.cs" />\r
-    <Compile Include="System.Web.UI.Design\UrlEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\UserControlDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\UserControlFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\ViewEvent.cs" />\r
-    <Compile Include="System.Web.UI.Design\ViewEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.Design\ViewEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.Design\ViewFlags.cs" />\r
-    <Compile Include="System.Web.UI.Design\ViewRendering.cs" />\r
-    <Compile Include="System.Web.UI.Design\WebControlToolboxItem.cs" />\r
-    <Compile Include="System.Web.UI.Design\WebFormsDesignerActionService.cs" />\r
-    <Compile Include="System.Web.UI.Design\WebFormsReferenceManager.cs" />\r
-    <Compile Include="System.Web.UI.Design\WebFormsRootDesigner.cs" />\r
-    <Compile Include="System.Web.UI.Design\XmlDataFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\XmlDocumentSchema.cs" />\r
-    <Compile Include="System.Web.UI.Design\XmlFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\XmlUrlEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\XsdSchemaFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\XslTransformFileEditor.cs" />\r
-    <Compile Include="System.Web.UI.Design\XslUrlEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\Adorner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\Behavior.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorDragDropEventArgs.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorDragDropEventHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorServiceAdornerCollection.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorServiceAdornerCollectionEnumerator.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\ComponentGlyph.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\ControlBodyGlyph.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\Glyph.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\GlyphCollection.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\GlyphSelectionType.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLine.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLinePriority.cs" />\r
-    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLineType.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\AnchorEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\AxImporter.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\AxParameterData.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\AxWrapperGen.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\BorderSidesEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ComponentDocumentDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ComponentTray.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ControlBindingsConverter.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ControlCodeDomSerializer.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ControlCollectionCodeDomSerializer.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ControlDataObject.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ControlDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DataMemberFieldConverter.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DataMemberFieldEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DataMemberListEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DataSourceConverter.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DefaultMenuCommands.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DesignerOptions.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DockEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\DocumentDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\EventHandlerService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\FileNameEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\FolderNameEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\FormatStringEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\FormDocumentDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ImageCollectionEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ImageIndexEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ImageListCodeDomSerializer.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ImageListImageEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IMenuEditorService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IMessageReceiver.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IOleDragClient.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ISelectionUIHandler.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\IUISelectionService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ListControlStringCollectionEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\MaskDescriptor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\MenuCommands.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\Native.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\PanelDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ParentControlDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ScrollableControlDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\SelectionFrame.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\SelectionRules.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\ShortcutKeysEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\SplitContainerDesigner.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\StringArrayEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\StringCollectionEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\TabPageCollectionEditor.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\UISelectionService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\WindowsFormsDesignerOptionService.cs" />\r
-    <Compile Include="System.Windows.Forms.Design\WndProcRouter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Accessibility\Accessibility-net_2_0.csproj">\r
-      <Project>{43A23ADA-35D9-4A48-BCE5-C21C081C6676}</Project>\r
-      <Name>Accessibility\Accessibility-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Drawing.Design.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Drawing.Design.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Design/System.Design-tests-net_2_0.csproj b/mcs/class/System.Design/System.Design-tests-net_2_0.csproj
deleted file mode 100644 (file)
index a60dee7..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D963664C-F52A-43CB-987B-D5B9563FA779}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Design-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Design_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.ComponentModel.Design\DesignerActionListsChangedEventArgsTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design\DesignerActionMethodItemTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design\DesignerActionPropertyItemTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Design\StringValueConverterTest.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderBaseNameTests.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderCodeDomTest.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderNamespaceTests.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderOtherTests.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderResourceNameTests.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderResxFileTests.cs" />\r
-    <Compile Include="Test\System.Resources.Tools\StronglyTypedResourceBuilderVerifyResourceNameTests.cs" />\r
-    <Compile Include="Test\System.Windows.Forms.Design\MenuCommandsTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Design\System.Design-net_2_0-1.csproj">\r
-      <Project>{31BD6BF1-0C7A-4C0A-AB48-091F2EBB4AAC}</Project>\r
-      <Name>System.Design\System.Design-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_2_0.csproj b/mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_2_0.csproj
deleted file mode 100644 (file)
index 0af954f..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{38D88F62-36F7-4E60-BE74-09C0D2EFD4A0}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.DirectoryServices.Protocols</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\AddRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\AddResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\AsqRequestControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\AsqResponseControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\AuthType.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\BerConversionException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\BerConverter.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\CompareRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\CompareResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\CrossDomainMoveControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DeleteRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DeleteResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DereferenceAlias.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DereferenceConnectionCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttribute.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeModification.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeModificationCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeOperation.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryConnection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryControlCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryIdentifier.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryNotificationControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryOperation.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryOperationException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectoryResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirectorySynchronizationOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirSyncRequestControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DirSyncResponseControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DomainScopeControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlAuthRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlAuthResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlDirectoryIdentifier.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlDocument.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlDocumentProcessing.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlErrorProcessing.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlErrorResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlInvalidDocumentException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlRequestDocument.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlResponseDocument.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlResponseOrder.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlSoapConnection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\DsmlSoapHttpConnection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ErrorResponseCategory.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ErrorResponseException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ExtendedDNControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ExtendedDNFlag.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ExtendedRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ExtendedResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LazyCommitControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LdapConnection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LdapDirectoryIdentifier.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LdapException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LdapSessionOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\LocatorFlags.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ModifyDNRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ModifyDNResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ModifyRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ModifyResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\NotifyOfNewConnectionCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\PageResultRequestControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\PageResultResponseControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\PartialResultProcessing.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\PartialResultsCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\PermissiveModifyControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\QueryClientCertificateCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\QueryForConnectionCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\QuotaControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ReferralCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ReferralChasingOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ResultCode.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchOption.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchOptionsControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchRequest.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResponse.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResultAttributeCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResultEntry.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResultEntryCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResultReference.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchResultReferenceCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SearchScope.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SecurityDescriptorFlagControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SecurityMasks.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SecurityPackageContextConnectionInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SecurityProtocol.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\ShowDeletedControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SortKey.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SortRequestControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\SortResponseControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\TlsOperationException.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\TreeDeleteControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\VerifyNameControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\VerifyServerCertificateCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\VlvRequestControl.cs" />\r
-    <Compile Include="System.DirectoryServices.Protocols\VlvResponseControl.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.DirectoryServices\System.DirectoryServices-net_2_0.csproj">\r
-      <Project>{390BE0FB-F60C-4E2C-8C52-A221087F1355}</Project>\r
-      <Name>System.DirectoryServices\System.DirectoryServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.DirectoryServices/System.DirectoryServices-net_2_0.csproj b/mcs/class/System.DirectoryServices/System.DirectoryServices-net_2_0.csproj
deleted file mode 100644 (file)
index 7d203c9..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{390BE0FB-F60C-4E2C-8C52-A221087F1355}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.DirectoryServices</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs.in" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryOperationException.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryPartition.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryReplicationMetadata.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryRole.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryRoleCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchedule.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchema.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaClass.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaClassCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaProperty.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaPropertyCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySecurity.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryServerDownException.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySite.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLink.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLinkBridge.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLinkCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySubnet.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySubnetCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySyntax.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryTransportType.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ApplicationPartition.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ApplicationPartitionCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\AttributeMetadata.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\AttributeMetadataCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryContext.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryContextType.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryEntryConfiguration.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryServer.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryServerCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\Domain.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainCollisionOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainController.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainControllerCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainMode.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\Forest.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestMode.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustCollisionException.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustCollisionType.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainInfoCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainStatus.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipCollision.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipCollisionCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\GlobalCatalog.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\GlobalCatalogCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\HourOfDay.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\LocatorOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\MinuteOfHour.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\NotificationStatus.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\PropertyTypes.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyActiveDirectorySchemaClassCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyActiveDirectorySchemaPropertyCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyDirectoryServerCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteLinkBridgeCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteLinkCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyStringCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationConnection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationConnectionCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationCursor.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationCursorCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationFailure.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationFailureCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationNeighbor.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationNeighborCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationType.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationSecurityLevel.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationSpan.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SchemaClassType.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SecurityMasks.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersErrorCategory.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersErrorInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersEvent.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersOperationException.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncUpdateCallback.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelName.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameCollisionOptions.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameStatus.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustDirection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustRelationshipInformation.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustRelationshipInformationCollection.cs" />\r
-    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustType.cs" />\r
-    <Compile Include="System.DirectoryServices.Design\DirectoryEntryConverter.cs" />\r
-    <Compile Include="System.DirectoryServices\ActiveDirectoryAccessRule.cs" />\r
-    <Compile Include="System.DirectoryServices\ActiveDirectoryAuditRule.cs" />\r
-    <Compile Include="System.DirectoryServices\ActiveDirectoryRights.cs" />\r
-    <Compile Include="System.DirectoryServices\ActiveDirectorySecurityInheritance.cs" />\r
-    <Compile Include="System.DirectoryServices\AuthenticationTypes.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryEntries.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryEntry.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectorySearcher.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesCOMException.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesPermission.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionAccess.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionAttribute.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionEntry.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionEntryCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectorySynchronization.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectorySynchronizationOptions.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryVirtualListView.cs" />\r
-    <Compile Include="System.DirectoryServices\DirectoryVirtualListViewContext.cs" />\r
-    <Compile Include="System.DirectoryServices\DSDescriptionAttribute.cs" />\r
-    <Compile Include="System.DirectoryServices\ExtendedDN.cs" />\r
-    <Compile Include="System.DirectoryServices\ExtendedRightAccessRule.cs" />\r
-    <Compile Include="System.DirectoryServices\ListChildrenAccessRule.cs" />\r
-    <Compile Include="System.DirectoryServices\PasswordEncodingMethod.cs" />\r
-    <Compile Include="System.DirectoryServices\PropertyAccess.cs" />\r
-    <Compile Include="System.DirectoryServices\PropertyAccessRule.cs" />\r
-    <Compile Include="System.DirectoryServices\PropertyCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\PropertySetAccessRule.cs" />\r
-    <Compile Include="System.DirectoryServices\PropertyValueCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\ReferralChasingOption.cs" />\r
-    <Compile Include="System.DirectoryServices\ResultPropertyCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\ResultPropertyValueCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\SchemaNameCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\SearchResult.cs" />\r
-    <Compile Include="System.DirectoryServices\SearchResultCollection.cs" />\r
-    <Compile Include="System.DirectoryServices\SearchScope.cs" />\r
-    <Compile Include="System.DirectoryServices\SortDirection.cs" />\r
-    <Compile Include="System.DirectoryServices\SortOption.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0.csproj">\r
-      <Project>{30C57C43-3A84-4E9F-A889-53CAE3C634C4}</Project>\r
-      <Name>Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.DirectoryServices/System.DirectoryServices-tests-net_2_0.csproj b/mcs/class/System.DirectoryServices/System.DirectoryServices-tests-net_2_0.csproj
deleted file mode 100644 (file)
index ddbc318..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F179583B-C57D-4274-BCB0-CF8E90C639B0}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\System.DirectoryServices-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.DirectoryServices_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.DirectoryServices\DirectoryServicesDirectoryEntryTest.cs" />\r
-    <Compile Include="Test\System.DirectoryServices\DirectoryServicesDirectorySearcherTest.cs" />\r
-    <Compile Include="Test\System.DirectoryServices\DirectoryServicesPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.DirectoryServices\DirectoryServicesPermissionTest.cs" />\r
-    <Compile Include="Test\System.DirectoryServices\DirectoryServicesSearchResultTest.cs" />\r
-    <Compile Include="Test\System.DirectoryServices\TestConfiguration.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.DirectoryServices\System.DirectoryServices-net_2_0.csproj">\r
-      <Project>{390BE0FB-F60C-4E2C-8C52-A221087F1355}</Project>\r
-      <Name>System.DirectoryServices\System.DirectoryServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0.csproj">\r
-      <Project>{30C57C43-3A84-4E9F-A889-53CAE3C634C4}</Project>\r
-      <Name>Novell.Directory.Ldap\Novell.Directory.Ldap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Drawing.Design/System.Drawing.Design-net_2_0.csproj b/mcs/class/System.Drawing.Design/System.Drawing.Design-net_2_0.csproj
deleted file mode 100644 (file)
index 9405ca7..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1A2E7A4A-050C-4F3E-9776-79E7E44B48BE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Drawing.Design</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Drawing.Design\BitmapEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\ColorEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\ContentAlignmentEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\CursorEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\FontEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\FontNameEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\IconEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\ImageEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\MetafileEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxItemContainer.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxItemCreator.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxService.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Drawing/System.Drawing-net_2_0.csproj b/mcs/class/System.Drawing/System.Drawing-net_2_0.csproj
deleted file mode 100644 (file)
index c895031..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Drawing</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Drawing.Design\CategoryNameCollection.cs" />\r
-    <Compile Include="System.Drawing.Design\IPropertyValueUIService.cs" />\r
-    <Compile Include="System.Drawing.Design\IToolboxItemProvider.cs" />\r
-    <Compile Include="System.Drawing.Design\IToolboxService.cs" />\r
-    <Compile Include="System.Drawing.Design\IToolboxUser.cs" />\r
-    <Compile Include="System.Drawing.Design\PaintValueEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Design\PropertyValueItem.cs" />\r
-    <Compile Include="System.Drawing.Design\PropertyValueUIHandler.cs" />\r
-    <Compile Include="System.Drawing.Design\PropertyValueUIItemInvokeHandler.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatedEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatedEventHandler.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatingEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatingEventHandler.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxItem.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxItemCollection.cs" />\r
-    <Compile Include="System.Drawing.Design\ToolboxItemCreatorCallback.cs" />\r
-    <Compile Include="System.Drawing.Design\UITypeEditor.cs" />\r
-    <Compile Include="System.Drawing.Design\UITypeEditorEditStyle.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\AdjustableArrowCap.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\Blend.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\ColorBlend.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\CombineMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\CompostingMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\CompostingQuality.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\CoordinateSpace.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\CustomLineCap.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\DashCap.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\DashStyle.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\FillMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\FlushIntention.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\GraphicsContainer.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\GraphicsPath.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\GraphicsPathIterator.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\GraphicsState.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\HatchBrush.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\HatchStyle.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\InterpolationMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\LinearGradientBrush.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\LinearGradientMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\LineCap.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\LineJoin.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\Matrix.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\MatrixOrder.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PathData.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PathGradientBrush.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PathPointType.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PenAlignment.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PenType.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\PixelOffsetMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\QualityMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\RegionData.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\SmoothingMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\WarpMode.cs" />\r
-    <Compile Include="System.Drawing.Drawing2D\WrapMode.cs" />\r
-    <Compile Include="System.Drawing.Imaging\BitmapData.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorAdjustType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorChannelFlag.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorMap.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorMapType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorMatrix.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorMatrixFlag.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorMode.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ColorPalette.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EmfPlusRecordType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EmfType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\Encoder.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EncoderParameter.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EncoderParameters.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EncoderParameterValueType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\EncoderValue.cs" />\r
-    <Compile Include="System.Drawing.Imaging\FrameDimension.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageAttributes.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageCodecFlags.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageCodecInfo.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageFlags.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageFormat.cs" />\r
-    <Compile Include="System.Drawing.Imaging\ImageLockMode.cs" />\r
-    <Compile Include="System.Drawing.Imaging\Metafile.cs" />\r
-    <Compile Include="System.Drawing.Imaging\MetafileFrameUnit.cs" />\r
-    <Compile Include="System.Drawing.Imaging\MetafileHeader.cs" />\r
-    <Compile Include="System.Drawing.Imaging\MetafileType.cs" />\r
-    <Compile Include="System.Drawing.Imaging\MetaHeader.cs" />\r
-    <Compile Include="System.Drawing.Imaging\PaletteFlags.cs" />\r
-    <Compile Include="System.Drawing.Imaging\PixelFormat.cs" />\r
-    <Compile Include="System.Drawing.Imaging\PlayRecordCallback.cs" />\r
-    <Compile Include="System.Drawing.Imaging\PropertyItem.cs" />\r
-    <Compile Include="System.Drawing.Imaging\WmfPlaceableFileHeader.cs" />\r
-    <Compile Include="System.Drawing.Printing\Duplex.cs" />\r
-    <Compile Include="System.Drawing.Printing\InvalidPrinterException.cs" />\r
-    <Compile Include="System.Drawing.Printing\Margins.cs" />\r
-    <Compile Include="System.Drawing.Printing\MarginsConverter.cs" />\r
-    <Compile Include="System.Drawing.Printing\PageSettings.cs" />\r
-    <Compile Include="System.Drawing.Printing\PaperKind.cs" />\r
-    <Compile Include="System.Drawing.Printing\PaperSize.cs" />\r
-    <Compile Include="System.Drawing.Printing\PaperSource.cs" />\r
-    <Compile Include="System.Drawing.Printing\PaperSourceKind.cs" />\r
-    <Compile Include="System.Drawing.Printing\PreviewPageInfo.cs" />\r
-    <Compile Include="System.Drawing.Printing\PreviewPrintController.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintAction.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintController.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintDocument.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrinterResolution.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrinterResolutionKind.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrinterSettings.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrinterUnit.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrinterUnitConvert.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintEventHandler.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingPermission.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingPermissionAttribute.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingPermissionLevel.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingServices.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingServicesUnix.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintingServicesWin32.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintPageEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintPageEventHandler.cs" />\r
-    <Compile Include="System.Drawing.Printing\PrintRange.cs" />\r
-    <Compile Include="System.Drawing.Printing\QueryPageSettingsEventArgs.cs" />\r
-    <Compile Include="System.Drawing.Printing\QueryPageSettingsEventHandler.cs" />\r
-    <Compile Include="System.Drawing.Printing\StandardPrintController.cs" />\r
-    <Compile Include="System.Drawing.Text\FontCollection.cs" />\r
-    <Compile Include="System.Drawing.Text\GenericFontFamilies.cs" />\r
-    <Compile Include="System.Drawing.Text\HotkeyPrefix.cs" />\r
-    <Compile Include="System.Drawing.Text\InstalledFontCollection.cs" />\r
-    <Compile Include="System.Drawing.Text\PrivateFontCollection.cs" />\r
-    <Compile Include="System.Drawing.Text\TextRenderingHint.cs" />\r
-    <Compile Include="System.Drawing\Bitmap.cs" />\r
-    <Compile Include="System.Drawing\Brush.cs" />\r
-    <Compile Include="System.Drawing\Brushes.cs" />\r
-    <Compile Include="System.Drawing\BufferedGraphics.cs" />\r
-    <Compile Include="System.Drawing\BufferedGraphicsContext.cs" />\r
-    <Compile Include="System.Drawing\BufferedGraphicsManager.cs" />\r
-    <Compile Include="System.Drawing\CharacterRange.cs" />\r
-    <Compile Include="System.Drawing\Color.cs" />\r
-    <Compile Include="System.Drawing\ColorConverter.cs" />\r
-    <Compile Include="System.Drawing\ColorTranslator.cs" />\r
-    <Compile Include="System.Drawing\ComIStreamMarshaler.cs" />\r
-    <Compile Include="System.Drawing\ComIStreamWrapper.cs" />\r
-    <Compile Include="System.Drawing\ContentAlignment.cs" />\r
-    <Compile Include="System.Drawing\CopyPixelOperation.cs" />\r
-    <Compile Include="System.Drawing\Font.cs" />\r
-    <Compile Include="System.Drawing\FontConverter.cs" />\r
-    <Compile Include="System.Drawing\FontFamily.cs" />\r
-    <Compile Include="System.Drawing\FontStyle.cs" />\r
-    <Compile Include="System.Drawing\gdipEnums.cs" />\r
-    <Compile Include="System.Drawing\gdipFunctions.cs" />\r
-    <Compile Include="System.Drawing\gdipStructs.cs" />\r
-    <Compile Include="System.Drawing\Graphics.cs" />\r
-    <Compile Include="System.Drawing\GraphicsUnit.cs" />\r
-    <Compile Include="System.Drawing\Icon.cs" />\r
-    <Compile Include="System.Drawing\IconConverter.cs" />\r
-    <Compile Include="System.Drawing\IDeviceContext.cs" />\r
-    <Compile Include="System.Drawing\Image.cs" />\r
-    <Compile Include="System.Drawing\ImageAnimator.cs" />\r
-    <Compile Include="System.Drawing\ImageConverter.cs" />\r
-    <Compile Include="System.Drawing\ImageFormatConverter.cs" />\r
-    <Compile Include="System.Drawing\KnownColor.cs" />\r
-    <Compile Include="System.Drawing\KnownColors.cs" />\r
-    <Compile Include="System.Drawing\macFunctions.cs" />\r
-    <Compile Include="System.Drawing\Pen.cs" />\r
-    <Compile Include="System.Drawing\Pens.cs" />\r
-    <Compile Include="System.Drawing\Point.cs" />\r
-    <Compile Include="System.Drawing\PointConverter.cs" />\r
-    <Compile Include="System.Drawing\PointF.cs" />\r
-    <Compile Include="System.Drawing\Rectangle.cs" />\r
-    <Compile Include="System.Drawing\RectangleConverter.cs" />\r
-    <Compile Include="System.Drawing\RectangleF.cs" />\r
-    <Compile Include="System.Drawing\Region.cs" />\r
-    <Compile Include="System.Drawing\RotateFlipType.cs" />\r
-    <Compile Include="System.Drawing\Size.cs" />\r
-    <Compile Include="System.Drawing\SizeConverter.cs" />\r
-    <Compile Include="System.Drawing\SizeF.cs" />\r
-    <Compile Include="System.Drawing\SizeFConverter.cs" />\r
-    <Compile Include="System.Drawing\SolidBrush.cs" />\r
-    <Compile Include="System.Drawing\SRDescriptionAttribute.cs" />\r
-    <Compile Include="System.Drawing\StringAligment.cs" />\r
-    <Compile Include="System.Drawing\StringDigitSubstitute.cs" />\r
-    <Compile Include="System.Drawing\StringFormat.cs" />\r
-    <Compile Include="System.Drawing\StringFormatFlags.cs" />\r
-    <Compile Include="System.Drawing\StringTrimming.cs" />\r
-    <Compile Include="System.Drawing\StringUnit.cs" />\r
-    <Compile Include="System.Drawing\SystemBrushes.cs" />\r
-    <Compile Include="System.Drawing\SystemColors.cs" />\r
-    <Compile Include="System.Drawing\SystemFonts.cs" />\r
-    <Compile Include="System.Drawing\SystemIcons.cs" />\r
-    <Compile Include="System.Drawing\SystemPens.cs" />\r
-    <Compile Include="System.Drawing\TextureBrush.cs" />\r
-    <Compile Include="System.Drawing\ToolboxBitmapAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Assembly/Mono.ico">\r
-      <LogicalName>Mono.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Information.ico">\r
-      <LogicalName>Information.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Error.ico">\r
-      <LogicalName>Error.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Warning.ico">\r
-      <LogicalName>Warning.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Question.ico">\r
-      <LogicalName>Question.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Shield.ico">\r
-      <LogicalName>Shield.ico</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Drawing/System.Drawing-tests-net_2_0.csproj b/mcs/class/System.Drawing/System.Drawing-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 27c9774..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{34B64C48-9A07-4A68-8EE4-14471777CD34}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169,1595</NoWarn>\r
-    <OutputPath>bin\Debug\System.Drawing-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Drawing_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169,1595</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;TEST</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169,1595</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;TEST</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="System.Drawing\gdipEnums.cs" />\r
-    <Compile Include="System.Drawing\gdipFunctions.cs" />\r
-    <Compile Include="System.Drawing\gdipStructs.cs" />\r
-    <Compile Include="Test\HostIgnoreList.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\CategoryNameCollectionCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\PaintValueEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\PropertyValueUIItemCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\TestToolboxItem.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\ToolboxComponentsCreatedEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\ToolboxComponentsCreatingEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\ToolboxItemCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\ToolboxItemCollectionCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\UITypeEditorCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Design\UITypeEditorTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\GraphicsPathTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\LinearGradientBrushTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\PathDataTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\PathGradientBrushTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\TestBlend.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\TestColorBlend.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\TestHatchBrush.cs" />\r
-    <Compile Include="Test\System.Drawing.Drawing2D\TestMatrix.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\EmfPlusRecordTypeTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\FrameDimensionTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\GifCodecTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\IconCodecTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\MetafileTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\MetaHeaderTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\PngCodecTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestBmpCodec.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestColorMatrix.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestImageAttributes.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestImageCodecInfo.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestImageFormat.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TestJpegCodec.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\TiffCodecTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Imaging\WmfPlaceableFileHeaderTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\MarginsTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PageSettingsTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PageSourceTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PaperSizeTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PrinterUnitConvertTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PrintingPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PrintingPermissionTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Printing\PrintingServicesUnixTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Text\InstalledFontCollectionTest.cs" />\r
-    <Compile Include="Test\System.Drawing.Text\PrivateFontCollectionCas.cs" />\r
-    <Compile Include="Test\System.Drawing.Text\PrivateFontCollectionTest.cs" />\r
-    <Compile Include="Test\System.Drawing\BitmapCas.cs" />\r
-    <Compile Include="Test\System.Drawing\ColorConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\ColorTranslator.cs" />\r
-    <Compile Include="Test\System.Drawing\FontFamilyTest.cs" />\r
-    <Compile Include="Test\System.Drawing\GDIPlusTest.cs" />\r
-    <Compile Include="Test\System.Drawing\GraphicsCas.cs" />\r
-    <Compile Include="Test\System.Drawing\PenTest.cs" />\r
-    <Compile Include="Test\System.Drawing\RegionCas.cs" />\r
-    <Compile Include="Test\System.Drawing\RegionDataTest.cs" />\r
-    <Compile Include="Test\System.Drawing\RegionNonRectTest.cs" />\r
-    <Compile Include="Test\System.Drawing\SolidBrushTest.cs" />\r
-    <Compile Include="Test\System.Drawing\SystemFontsTest.cs" />\r
-    <Compile Include="Test\System.Drawing\SystemIconsTest.cs" />\r
-    <Compile Include="Test\System.Drawing\TestBitmap.cs" />\r
-    <Compile Include="Test\System.Drawing\TestBrushes.cs" />\r
-    <Compile Include="Test\System.Drawing\TestColor.cs" />\r
-    <Compile Include="Test\System.Drawing\TestFont.cs" />\r
-    <Compile Include="Test\System.Drawing\TestFontConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestGraphics.cs" />\r
-    <Compile Include="Test\System.Drawing\TestIcon.cs" />\r
-    <Compile Include="Test\System.Drawing\TestIconConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestImage.cs" />\r
-    <Compile Include="Test\System.Drawing\TestImageConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestImageFormatConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestPens.cs" />\r
-    <Compile Include="Test\System.Drawing\TestPoint.cs" />\r
-    <Compile Include="Test\System.Drawing\TestPointConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestPointF.cs" />\r
-    <Compile Include="Test\System.Drawing\TestRectangle.cs" />\r
-    <Compile Include="Test\System.Drawing\TestRectangleConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestRectangleF.cs" />\r
-    <Compile Include="Test\System.Drawing\TestRegion.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSize.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSizeConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSizeF.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSizeFConverter.cs" />\r
-    <Compile Include="Test\System.Drawing\TestStringFormat.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSystemBrushes.cs" />\r
-    <Compile Include="Test\System.Drawing\TestSystemPens.cs" />\r
-    <Compile Include="Test\System.Drawing\TextureBrushTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Runtime.Serialization.Formatters.Soap.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Runtime.Serialization.Formatters.Soap.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Assembly/Mono.ico">\r
-      <LogicalName>Mono.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Information.ico">\r
-      <LogicalName>Information.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Error.ico">\r
-      <LogicalName>Error.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Warning.ico">\r
-      <LogicalName>Warning.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Question.ico">\r
-      <LogicalName>Question.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Assembly/Shield.ico">\r
-      <LogicalName>Shield.ico</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/indexed.png">\r
-      <LogicalName>indexed.png</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_2_0.csproj b/mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_2_0.csproj
deleted file mode 100644 (file)
index 8a2c4a5..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{94E27660-C3DF-43D1-958A-94D68EF3131F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,168,162</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.EnterpriseServices</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,168,162</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,168,162</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ApplicationCrmEnabledAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\Clerk.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ClerkInfo.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ClerkMonitor.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\Compensator.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\CompensatorOptions.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\LogRecord.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\LogRecordFlags.cs" />\r
-    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\TransactionState.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\AppDomainHelper.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\AssemblyLocator.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ClientRemotingConfig.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ClrObjectFactory.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ComManagedImportUtil.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ComSoapPublishError.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\GenerateMetadata.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IClrObjectFactory.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IComManagedImportUtil.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IComSoapIISVRoot.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IComSoapMetadata.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IComSoapPublisher.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IISVirtualRoot.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\IServerWebConfig.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ISoapClientImport.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ISoapServerTlb.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ISoapServerVRoot.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ISoapUtility.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\Publish.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\ServerWebConfig.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\SoapClientImport.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\SoapServerTlb.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\SoapServerVRoot.cs" />\r
-    <Compile Include="System.EnterpriseServices.Internal\SoapUtility.cs" />\r
-    <Compile Include="System.EnterpriseServices\AccessChecksLevelOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\ActivationOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\Activity.cs" />\r
-    <Compile Include="System.EnterpriseServices\ApplicationAccessControlAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ApplicationActivationAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ApplicationIDAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ApplicationNameAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ApplicationQueuingAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\AuthenticationOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\AutoCompleteAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\BindingOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\BOID.cs" />\r
-    <Compile Include="System.EnterpriseServices\BYOT.cs" />\r
-    <Compile Include="System.EnterpriseServices\ComponentAccessControlAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\COMTIIntrinsicsAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ConstructionEnabledAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ContextUtil.cs" />\r
-    <Compile Include="System.EnterpriseServices\DescriptionAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\EventClassAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\EventTrackingEnabledAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ExceptionClassAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\IAsyncErrorNotify.cs" />\r
-    <Compile Include="System.EnterpriseServices\IConfigurationAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\IISIntrinsicsAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ImpersonationLevelOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\InheritanceOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\InstallationFlags.cs" />\r
-    <Compile Include="System.EnterpriseServices\InterfaceQueuingAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\IPlaybackControl.cs" />\r
-    <Compile Include="System.EnterpriseServices\IProcessInitControl.cs" />\r
-    <Compile Include="System.EnterpriseServices\IProcessInitializer.cs" />\r
-    <Compile Include="System.EnterpriseServices\IRegistrationHelper.cs" />\r
-    <Compile Include="System.EnterpriseServices\IRemoteDispatch.cs" />\r
-    <Compile Include="System.EnterpriseServices\ISecurityCallContext.cs" />\r
-    <Compile Include="System.EnterpriseServices\ISecurityCallersColl.cs" />\r
-    <Compile Include="System.EnterpriseServices\ISecurityIdentityColl.cs" />\r
-    <Compile Include="System.EnterpriseServices\IServiceCall.cs" />\r
-    <Compile Include="System.EnterpriseServices\IServicedComponentInfo.cs" />\r
-    <Compile Include="System.EnterpriseServices\ISharedProperty.cs" />\r
-    <Compile Include="System.EnterpriseServices\ISharedPropertyGroup.cs" />\r
-    <Compile Include="System.EnterpriseServices\ITransaction.cs" />\r
-    <Compile Include="System.EnterpriseServices\JustInTimeActivationAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\LoadBalancingSupportedAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\MustRunInClientContextAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ObjectPoolingAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\PartitionOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\PrivateComponentAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\PropertyLockMode.cs" />\r
-    <Compile Include="System.EnterpriseServices\PropertyReleaseMode.cs" />\r
-    <Compile Include="System.EnterpriseServices\RegistrationConfig.cs" />\r
-    <Compile Include="System.EnterpriseServices\RegistrationErrorInfo.cs" />\r
-    <Compile Include="System.EnterpriseServices\RegistrationException.cs" />\r
-    <Compile Include="System.EnterpriseServices\RegistrationHelper.cs" />\r
-    <Compile Include="System.EnterpriseServices\RegistrationHelperTx.cs" />\r
-    <Compile Include="System.EnterpriseServices\ResourcePool.cs" />\r
-    <Compile Include="System.EnterpriseServices\SecureMethodAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\SecurityCallContext.cs" />\r
-    <Compile Include="System.EnterpriseServices\SecurityCallers.cs" />\r
-    <Compile Include="System.EnterpriseServices\SecurityIdentity.cs" />\r
-    <Compile Include="System.EnterpriseServices\SecurityRoleAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\ServiceConfig.cs" />\r
-    <Compile Include="System.EnterpriseServices\ServicedComponent.cs" />\r
-    <Compile Include="System.EnterpriseServices\ServicedComponentException.cs" />\r
-    <Compile Include="System.EnterpriseServices\ServiceDomain.cs" />\r
-    <Compile Include="System.EnterpriseServices\SharedProperty.cs" />\r
-    <Compile Include="System.EnterpriseServices\SharedPropertyGroup.cs" />\r
-    <Compile Include="System.EnterpriseServices\SharedPropertyGroupManager.cs" />\r
-    <Compile Include="System.EnterpriseServices\SxsOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\SynchronizationAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\SynchronizationOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\ThreadPoolOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\TransactionAttribute.cs" />\r
-    <Compile Include="System.EnterpriseServices\TransactionIsolationLevel.cs" />\r
-    <Compile Include="System.EnterpriseServices\TransactionOption.cs" />\r
-    <Compile Include="System.EnterpriseServices\TransactionStatus.cs" />\r
-    <Compile Include="System.EnterpriseServices\TransactionVote.cs" />\r
-    <Compile Include="System.EnterpriseServices\XACTTRANSINFO.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index d88fb810c4c0f785d5313336355dc0a5aaefa262..f9243edf7db9ffebcff2cf89b8f56eec8b043c78 100755 (executable)
@@ -15,7 +15,7 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES =
 
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.IdentityModel.Selectors.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_2_0.csproj b/mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_2_0.csproj
deleted file mode 100644 (file)
index a6cb6bf..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{7203476D-4107-4C91-9930-DEC5CCFE62C8}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.IdentityModel.Selectors</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\CardSpaceException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\CardSpacePolicyElement.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\CardSpaceSelector.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\IdentityValidationException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\PolicyValidationException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\ServiceBusyException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\ServiceNotStartedException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\StsCommunicationException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UnsupportedPolicyOptionsException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UntrustedRecipientException.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UserCancellationException.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel\System.IdentityModel-net_2_0.csproj">\r
-      <Project>{737EBB38-BBFD-40D8-99F1-1FBBD49AF1B6}</Project>\r
-      <Name>System.IdentityModel\System.IdentityModel-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 320f21c9dae6e108cb9202a38ab9cdc13df7a25f..956c2a72ec3b100eba721ef784163c568c22e111 100644 (file)
@@ -26,7 +26,7 @@ EXTRA_DISTFILES = \
        Test/Resources/test.pfx \
        Test/Resources/test2.pfx
 
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.IdentityModel.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.IdentityModel/System.IdentityModel-net_2_0.csproj b/mcs/class/System.IdentityModel/System.IdentityModel-net_2_0.csproj
deleted file mode 100644 (file)
index 798580c..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{737EBB38-BBFD-40D8-99F1-1FBBD49AF1B6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.IdentityModel</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\Claim.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\ClaimSet.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\ClaimTypes.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\DefaultClaimSet.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\Rights.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\WindowsClaimSet.cs" />\r
-    <Compile Include="System.IdentityModel.Claims\X509CertificateClaimSet.cs" />\r
-    <Compile Include="System.IdentityModel.Policy\AuthorizationContext.cs" />\r
-    <Compile Include="System.IdentityModel.Policy\EvaluationContext.cs" />\r
-    <Compile Include="System.IdentityModel.Policy\IAuthorizationComponent.cs" />\r
-    <Compile Include="System.IdentityModel.Policy\IAuthorizationPolicy.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\AudienceUriMode.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\CustomUserNameSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\KerberosSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\KerberosSecurityTokenProvider.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\RsaSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SamlSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenManager.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenProvider.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenRequirement.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenResolver.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenSerializer.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SecurityTokenVersion.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\SystemIdentityAuthorizationPolicy.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UserNamePasswordValidator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UserNameSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\UserNameSecurityTokenProvider.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\WindowsSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\WindowsUserNameSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\X509CertificateValidator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\X509SecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.IdentityModel.Selectors\X509SecurityTokenProvider.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\AsymmetricSecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\BinaryKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\EncryptedKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\GenericXmlSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\InMemorySymmetricSecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\KerberosReceiverSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\KerberosRequestorSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\LocalIdKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\RsaKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\RsaSecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\RsaSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAccessDecision.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAction.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAdvice.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAssertion.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAssertionKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAttribute.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAttributeStatement.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAudienceRestrictionCondition.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAuthenticationClaimResource.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAuthenticationStatement.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAuthorityBinding.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAuthorizationDecisionClaimResource.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlAuthorizationDecisionStatement.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlCondition.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlConditions.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlConstants.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlDoNotCacheCondition.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlEvidence.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlNameIdentifierClaimResource.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlSerializer.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlStatement.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlSubject.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SamlSubjectStatement.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityAlgorithms.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityKeyIdentifier.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityKeyType.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityKeyUsage.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityTokenException.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityTokenTypes.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SecurityTokenValidationException.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SigningCredentials.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\SymmetricSecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\TlsHMAC.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\UserNameSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\WindowsSecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509AsymmetricSecurityKey.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509IssuerSerialKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509RawDataKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509SecurityToken.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509SubjectKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509ThumbprintKeyIdentifierClause.cs" />\r
-    <Compile Include="System.IdentityModel.Tokens\X509WindowsSecurityToken.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.IdentityModel/System.IdentityModel-tests-net_2_0.csproj b/mcs/class/System.IdentityModel/System.IdentityModel-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 169cbad..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5E8EA9D3-4EBC-48D6-8B6F-EAF579539518}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.IdentityModel-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.IdentityModel_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.IdentityModel.Claims\ClaimSetTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Claims\ClaimTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Claims\ClaimTypesTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Claims\X509CertificateClaimSetTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Common\MySecurityTokenSerializer.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Policy\AuthorizationContextTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\CustomUserNameSecurityTokenAuthenticatorTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\RsaSecurityTokenAuthenticatorTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\SamlSecurityTokenAuthenticatorTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\SecurityTokenRequirementTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\SecurityTokenResolverTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\TestEvaluationContext.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\X509SecurityTokenAuthenticatorTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Selectors\X509SecurityTokenProviderTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\EncryptedKeyIdentifierClauseTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\InMemorySymmetricSecurityKeyTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\LocalIdKeyIdentifierClauseTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlActionTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAssertionTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAttributeStatementTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAudienceRestrictionConditionTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAuthenticationStatementTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAuthorityBindingTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlAuthorizationDecisionStatementTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlConditionsTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlConstantsTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlEvidenceTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SamlSubjectTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SecurityAlgorithmsTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SecurityKeyIdentifierTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\SecurityTokenTypesTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\UserNameSecurityTokenTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\X509AsymmetricSecurityKeyTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\X509IssuerSerialKeyIdentifierClauseTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\X509SecurityTokenTest.cs" />\r
-    <Compile Include="Test\System.IdentityModel.Tokens\X509ThumbprintKeyIdentifierClauseTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel\System.IdentityModel-net_2_0.csproj">\r
-      <Project>{737EBB38-BBFD-40D8-99F1-1FBBD49AF1B6}</Project>\r
-      <Name>System.IdentityModel\System.IdentityModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Json/System.Json-net_2_0.csproj b/mcs/class/System.Json/System.Json-net_2_0.csproj
deleted file mode 100644 (file)
index a822d6b..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{DB40BFDD-0EC2-4C14-B5F6-2D958099E8C6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Json</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\System.ServiceModel.Web\System.Runtime.Serialization.Json\JavaScriptReader.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Json\JsonArray.cs" />\r
-    <Compile Include="System.Json\JsonObject.cs" />\r
-    <Compile Include="System.Json\JsonPrimitive.cs" />\r
-    <Compile Include="System.Json\JsonType.cs" />\r
-    <Compile Include="System.Json\JsonValue.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Json/System.Json-tests-net_2_0.csproj b/mcs/class/System.Json/System.Json-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 91a9a67..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D6326E54-3E22-4524-B506-4E9852235565}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Json-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Json_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Json\JsonValueTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Json\System.Json-net_2_0.csproj">\r
-      <Project>{DB40BFDD-0EC2-4C14-B5F6-2D958099E8C6}</Project>\r
-      <Name>System.Json\System.Json-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Management/System.Management-net_2_0.csproj b/mcs/class/System.Management/System.Management-net_2_0.csproj
deleted file mode 100644 (file)
index 8f1f727..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{47B40391-645F-42E1-AE88-206970D141D2}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Management</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Management.Instrumentation\BaseEvent.cs" />\r
-    <Compile Include="System.Management.Instrumentation\DefaultManagementProjectInstaller.cs" />\r
-    <Compile Include="System.Management.Instrumentation\IEvent.cs" />\r
-    <Compile Include="System.Management.Instrumentation\IgnoreMemberAttribute.cs" />\r
-    <Compile Include="System.Management.Instrumentation\IInstance.cs" />\r
-    <Compile Include="System.Management.Instrumentation\Instance.cs" />\r
-    <Compile Include="System.Management.Instrumentation\Instrumentation.cs" />\r
-    <Compile Include="System.Management.Instrumentation\InstrumentationClassAttribute.cs" />\r
-    <Compile Include="System.Management.Instrumentation\InstrumentationType.cs" />\r
-    <Compile Include="System.Management.Instrumentation\InstrumentedAttribute.cs" />\r
-    <Compile Include="System.Management.Instrumentation\ManagedNameAttribute.cs" />\r
-    <Compile Include="System.Management.Instrumentation\ManagementInstaller.cs" />\r
-    <Compile Include="System.Management\AuthenticationLevel.cs" />\r
-    <Compile Include="System.Management\CimType.cs" />\r
-    <Compile Include="System.Management\CodeLanguage.cs" />\r
-    <Compile Include="System.Management\ComparisonSettings.cs" />\r
-    <Compile Include="System.Management\CompletedEventArgs.cs" />\r
-    <Compile Include="System.Management\CompletedEventHandler.cs" />\r
-    <Compile Include="System.Management\ConnectionOptions.cs" />\r
-    <Compile Include="System.Management\DeleteOptions.cs" />\r
-    <Compile Include="System.Management\EnumerationOptions.cs" />\r
-    <Compile Include="System.Management\EventArrivedEventArgs.cs" />\r
-    <Compile Include="System.Management\EventArrivedEventHandler.cs" />\r
-    <Compile Include="System.Management\EventQuery.cs" />\r
-    <Compile Include="System.Management\EventWatcherOptions.cs" />\r
-    <Compile Include="System.Management\ImpersonationLevel.cs" />\r
-    <Compile Include="System.Management\InvokeMethodOptions.cs" />\r
-    <Compile Include="System.Management\ManagementBaseObject.cs" />\r
-    <Compile Include="System.Management\ManagementClass.cs" />\r
-    <Compile Include="System.Management\ManagementDateTimeConverter.cs" />\r
-    <Compile Include="System.Management\ManagementEventArgs.cs" />\r
-    <Compile Include="System.Management\ManagementEventWatcher.cs" />\r
-    <Compile Include="System.Management\ManagementException.cs" />\r
-    <Compile Include="System.Management\ManagementNamedValueCollection.cs" />\r
-    <Compile Include="System.Management\ManagementObject.cs" />\r
-    <Compile Include="System.Management\ManagementObjectCollection.cs" />\r
-    <Compile Include="System.Management\ManagementObjectSearcher.cs" />\r
-    <Compile Include="System.Management\ManagementOperationObserver.cs" />\r
-    <Compile Include="System.Management\ManagementOptions.cs" />\r
-    <Compile Include="System.Management\ManagementPath.cs" />\r
-    <Compile Include="System.Management\ManagementQuery.cs" />\r
-    <Compile Include="System.Management\ManagementScope.cs" />\r
-    <Compile Include="System.Management\ManagementStatus.cs" />\r
-    <Compile Include="System.Management\MethodData.cs" />\r
-    <Compile Include="System.Management\MethodDataCollection.cs" />\r
-    <Compile Include="System.Management\ObjectGetOptions.cs" />\r
-    <Compile Include="System.Management\ObjectPutEventArgs.cs" />\r
-    <Compile Include="System.Management\ObjectPutEventHandler.cs" />\r
-    <Compile Include="System.Management\ObjectQuery.cs" />\r
-    <Compile Include="System.Management\ObjectReadyEventArgs.cs" />\r
-    <Compile Include="System.Management\ObjectReadyEventHandler.cs" />\r
-    <Compile Include="System.Management\ProgressEventArgs.cs" />\r
-    <Compile Include="System.Management\ProgressEventHandler.cs" />\r
-    <Compile Include="System.Management\PropertyData.cs" />\r
-    <Compile Include="System.Management\PropertyDataCollection.cs" />\r
-    <Compile Include="System.Management\PutOptions.cs" />\r
-    <Compile Include="System.Management\PutType.cs" />\r
-    <Compile Include="System.Management\QualifierData.cs" />\r
-    <Compile Include="System.Management\QualifierDataCollection.cs" />\r
-    <Compile Include="System.Management\RelatedObjectQuery.cs" />\r
-    <Compile Include="System.Management\RelationshipQuery.cs" />\r
-    <Compile Include="System.Management\SelectQuery.cs" />\r
-    <Compile Include="System.Management\StoppedEventArgs.cs" />\r
-    <Compile Include="System.Management\StoppedEventHandler.cs" />\r
-    <Compile Include="System.Management\TextFormat.cs" />\r
-    <Compile Include="System.Management\WqlEventQuery.cs" />\r
-    <Compile Include="System.Management\WqlObjectQuery.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration.Install\System.Configuration.Install-net_2_0.csproj">\r
-      <Project>{C8B650EA-042C-4352-8224-03F759A682C6}</Project>\r
-      <Name>System.Configuration.Install\System.Configuration.Install-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Messaging/System.Messaging-net_2_0.csproj b/mcs/class/System.Messaging/System.Messaging-net_2_0.csproj
deleted file mode 100644 (file)
index 87b84c8..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Messaging</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Messaging.Design\MessageFormatterConverter.cs" />\r
-    <Compile Include="System.Messaging.Design\MessageQueueConverter.cs" />\r
-    <Compile Include="System.Messaging.Design\QueuePathDialog.cs" />\r
-    <Compile Include="System.Messaging.Design\QueuePathEditor.cs" />\r
-    <Compile Include="System.Messaging.Design\TimeoutConverter.cs" />\r
-    <Compile Include="System.Messaging\AccessControlEntry.cs" />\r
-    <Compile Include="System.Messaging\AccessControlEntryType.cs" />\r
-    <Compile Include="System.Messaging\AccessControlList.cs" />\r
-    <Compile Include="System.Messaging\AcknowledgeTypes.cs" />\r
-    <Compile Include="System.Messaging\Acknowledgment.cs" />\r
-    <Compile Include="System.Messaging\ActiveXMessageFormatter.cs" />\r
-    <Compile Include="System.Messaging\BinaryMessageFormatter.cs" />\r
-    <Compile Include="System.Messaging\CryptographicProviderType.cs" />\r
-    <Compile Include="System.Messaging\DefaultPropertiesToSend.cs" />\r
-    <Compile Include="System.Messaging\EncryptionAlgorithm.cs" />\r
-    <Compile Include="System.Messaging\EncryptionRequired.cs" />\r
-    <Compile Include="System.Messaging\GenericAccessRights.cs" />\r
-    <Compile Include="System.Messaging\HashAlgorithm.cs" />\r
-    <Compile Include="System.Messaging\IMessageFormatter.cs" />\r
-    <Compile Include="System.Messaging\Message.cs" />\r
-    <Compile Include="System.Messaging\MessageEnumerator.cs" />\r
-    <Compile Include="System.Messaging\MessagePriority.cs" />\r
-    <Compile Include="System.Messaging\MessagePropertyFilter.cs" />\r
-    <Compile Include="System.Messaging\MessageQueue.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueAccessControlEntry.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueAccessRights.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueCriteria.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueEnumerator.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueErrorCode.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueException.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueInstaller.cs" />\r
-    <Compile Include="System.Messaging\MessageQueuePermission.cs" />\r
-    <Compile Include="System.Messaging\MessageQueuePermissionAccess.cs" />\r
-    <Compile Include="System.Messaging\MessageQueuePermissionAttribute.cs" />\r
-    <Compile Include="System.Messaging\MessageQueuePermissionEntry.cs" />\r
-    <Compile Include="System.Messaging\MessageQueuePermissionEntryCollection.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueTransaction.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueTransactionStatus.cs" />\r
-    <Compile Include="System.Messaging\MessageQueueTransactionType.cs" />\r
-    <Compile Include="System.Messaging\MessageType.cs" />\r
-    <Compile Include="System.Messaging\MessagingDescriptionAttribute.cs" />\r
-    <Compile Include="System.Messaging\PeekCompletedEventArgs.cs" />\r
-    <Compile Include="System.Messaging\PeekCompletedEventHandler.cs" />\r
-    <Compile Include="System.Messaging\QueueAccessMode.cs" />\r
-    <Compile Include="System.Messaging\ReceiveCompletedEventArgs.cs" />\r
-    <Compile Include="System.Messaging\ReceiveCompletedEventHandler.cs" />\r
-    <Compile Include="System.Messaging\StandardAccessRights.cs" />\r
-    <Compile Include="System.Messaging\Trustee.cs" />\r
-    <Compile Include="System.Messaging\TrusteeType.cs" />\r
-    <Compile Include="System.Messaging\XmlMessageFormatter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration.Install\System.Configuration.Install-net_2_0.csproj">\r
-      <Project>{C8B650EA-042C-4352-8224-03F759A682C6}</Project>\r
-      <Name>System.Configuration.Install\System.Configuration.Install-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging\Mono.Messaging-net_2_0.csproj">\r
-      <Project>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</Project>\r
-      <Name>Mono.Messaging\Mono.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Messaging/MessageQueue.resx">\r
-      <LogicalName>MessageQueue.resx</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Messaging/System.Messaging-tests-net_2_0.csproj b/mcs/class/System.Messaging/System.Messaging-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 7b17d94..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8D0EE23F-327F-4C6C-9DF3-6517D60F7EBB}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\System.Messaging-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Messaging_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Messaging\AdminTest.cs" />\r
-    <Compile Include="Test\System.Messaging\AsyncPeekTest.cs" />\r
-    <Compile Include="Test\System.Messaging\AsyncReceiveTest.cs" />\r
-    <Compile Include="Test\System.Messaging\BasicMessagingTest.cs" />\r
-    <Compile Include="Test\System.Messaging\MessageEnumeratorTest.cs" />\r
-    <Compile Include="Test\System.Messaging\MessageQueuePermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Messaging\MQUtil.cs" />\r
-    <Compile Include="Test\System.Messaging\PeekTest.cs" />\r
-    <Compile Include="Test\System.Messaging\SelectorTest.cs" />\r
-    <Compile Include="Test\System.Messaging\TransactionMessagingTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Messaging\System.Messaging-net_2_0.csproj">\r
-      <Project>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration.Install\System.Configuration.Install-net_2_0.csproj">\r
-      <Project>{C8B650EA-042C-4352-8224-03F759A682C6}</Project>\r
-      <Name>System.Configuration.Install\System.Configuration.Install-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Messaging\Mono.Messaging-net_2_0.csproj">\r
-      <Project>{2220FC2B-F933-49D2-B1A4-A6241F486B88}</Project>\r
-      <Name>Mono.Messaging\Mono.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="nunit.mocks.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>nunit.mocks.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Messaging/MessageQueue.resx">\r
-      <LogicalName>MessageQueue.resx</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 9329ac5796fe4945830f62f8623ac2b840246dc7..f80e50e41431ff0013d257f124aa2708867252fb 100644 (file)
@@ -257,6 +257,11 @@ namespace System.Net.Http.Headers
                                        continue;
                                }
 
+                               if (!Lexer.IsValidCharacter (ch) || ch == '*' || ch == '?' || ch == '%') {
+                                       sb.Append (Uri.HexEscape (ch));
+                                       continue;
+                               }
+
                                sb.Append (ch);
                        }
 
index 622e36b0ec2b43e358902642c1e40d5198623777..5bf97d0b96f9cf613fcf4a8a309a0731707b0f22 100644 (file)
@@ -94,7 +94,7 @@ namespace System.Net.Http.Headers
                        /*90*/  true, false, false, false, true, true, true, true, true, true,
                        /*100*/ true, true, true, true, true, true, true, true, true, true,
                        /*110*/ true, true, true, true, true, true, true, true, true, true,
-                       /*120*/ true, true, true, false, true, false
+                       /*120*/ true, true, true, false, true, false, true
                        };
 
                static readonly int last_token_char = token_chars.Length;
@@ -193,13 +193,18 @@ namespace System.Net.Http.Headers
                        //
                        for (; i < input.Length; ++i) {
                                char s = input[i];
-                               if (s > last_token_char || !token_chars[s])
+                               if (!IsValidCharacter (s))
                                        return false;
                        }
 
                        return i > 0;
                }
 
+               public static bool IsValidCharacter (char input)
+               {
+                       return input < last_token_char && token_chars[input];
+               }
+
                public void EatChar ()
                {
                        ++pos;
@@ -292,18 +297,11 @@ namespace System.Net.Http.Headers
                                        // Quoted string
                                        start = pos - 1;
                                        while (pos < s.Length) {
-                                               ch = s[pos];
+                                               ch = s [pos++];
                                                if (ch == '"') {
-                                                       ++pos;
                                                        ttype = Token.Type.QuotedString;
                                                        break;
                                                }
-
-                                               // any OCTET except CTLs, but including LWS
-                                               if (ch < 32 || ch > 126)
-                                                       break;
-
-                                               ++pos;
                                        }
 
                                        break;
@@ -312,13 +310,13 @@ namespace System.Net.Http.Headers
                                        ttype = Token.Type.OpenParens;
                                        break;
                                default:
-                                       if (ch <= last_token_char && token_chars[ch]) {
+                                       if (ch < last_token_char && token_chars[ch]) {
                                                start = pos - 1;
 
                                                ttype = Token.Type.Token;
                                                while (pos < s.Length) {
                                                        ch = s[pos];
-                                                       if (ch > last_token_char || !token_chars[ch]) {
+                                                       if (ch >= last_token_char || !token_chars[ch]) {
                                                                break;
                                                        }
 
index b4de2a029cf96a7423ebae93c782e23ce6393748..026171a4f7ad6139b6264cab2ddbae3633235e4e 100644 (file)
@@ -314,38 +314,38 @@ namespace System.Net.Http
 
                        Volatile.Write (ref sentRequest, true);
                        var wrequest = CreateWebRequest (request);
+                       HttpWebResponse wresponse = null;
 
-                       if (request.Content != null) {
-                               var headers = wrequest.Headers;
-                               foreach (var header in request.Content.Headers) {
-                                       foreach (var value in header.Value) {
-                                               headers.AddValue (header.Key, value);
+                       try {
+                               using (cancellationToken.Register (l => ((HttpWebRequest)l).Abort (), wrequest)) {
+                                       if (request.Content != null) {
+                                               var headers = wrequest.Headers;
+                                               foreach (var header in request.Content.Headers) {
+                                                       foreach (var value in header.Value) {
+                                                               headers.AddValue (header.Key, value);
+                                                       }
+                                               }
+
+                                               var stream = await wrequest.GetRequestStreamAsync ().ConfigureAwait (false);
+                                               await request.Content.CopyToAsync (stream).ConfigureAwait (false);
+                                       } else if (HttpMethod.Post.Equals (request.Method) || HttpMethod.Put.Equals (request.Method) || HttpMethod.Delete.Equals (request.Method)) {
+                                               // Explicitly set this to make sure we're sending a "Content-Length: 0" header.
+                                               // This fixes the issue that's been reported on the forums:
+                                               // http://forums.xamarin.com/discussion/17770/length-required-error-in-http-post-since-latest-release
+                                               wrequest.ContentLength = 0;
                                        }
-                               }
-
-                               var stream = await wrequest.GetRequestStreamAsync ().ConfigureAwait (false);
-                               await request.Content.CopyToAsync (stream).ConfigureAwait (false);
-                       } else if (HttpMethod.Post.Equals (request.Method) || HttpMethod.Put.Equals (request.Method) || HttpMethod.Delete.Equals (request.Method)) {
-                               // Explicitly set this to make sure we're sending a "Content-Length: 0" header.
-                               // This fixes the issue that's been reported on the forums:
-                               // http://forums.xamarin.com/discussion/17770/length-required-error-in-http-post-since-latest-release
-                               wrequest.ContentLength = 0;
-                       }
 
-                       HttpWebResponse wresponse = null;
-                       using (cancellationToken.Register (l => ((HttpWebRequest) l).Abort (), wrequest)) {
-                               try {
-                                       wresponse = (HttpWebResponse) await wrequest.GetResponseAsync ().ConfigureAwait (false);
-                               } catch (WebException we) {
-                                       if (we.Status != WebExceptionStatus.RequestCanceled)
-                                               throw;
+                                       wresponse = (HttpWebResponse)await wrequest.GetResponseAsync ().ConfigureAwait (false);
                                }
+                       } catch (WebException we) {
+                               if (we.Status != WebExceptionStatus.RequestCanceled)
+                                       throw;
+                       }
 
-                               if (cancellationToken.IsCancellationRequested) {
-                                       var cancelled = new TaskCompletionSource<HttpResponseMessage> ();
-                                       cancelled.SetCanceled ();
-                                       return await cancelled.Task;
-                               }
+                       if (cancellationToken.IsCancellationRequested) {
+                               var cancelled = new TaskCompletionSource<HttpResponseMessage> ();
+                               cancelled.SetCanceled ();
+                               return await cancelled.Task;
                        }
                        
                        return CreateResponseMessage (wresponse, request, cancellationToken);
index 0bf3fba28abd6b381b465e039d404fcbcf48d3d9..0823365d74476ff243a965f357fc77203697beae 100644 (file)
@@ -89,13 +89,25 @@ namespace System.Net.Http
                                return uri;
                        }
                        set {
-                               if (value != null && (value.IsAbsoluteUri && value.Scheme != Uri.UriSchemeHttp && value.Scheme != Uri.UriSchemeHttps))
+                               if (value != null && value.IsAbsoluteUri && !IsAllowedAbsoluteUri (value))
                                        throw new ArgumentException ("Only http or https scheme is allowed");
 
                                uri = value;
                        }
                }
 
+               static bool IsAllowedAbsoluteUri (Uri uri)
+               {
+                       if (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)
+                               return true;
+
+                       // Mono URI handling which does not distinguish between file and url absolute paths without scheme
+                       if (uri.Scheme == Uri.UriSchemeFile && uri.OriginalString.StartsWith ("/", StringComparison.Ordinal))
+                               return true;
+
+                       return false;
+               }
+
                public Version Version {
                        get {
                                return version ?? HttpVersion.Version11;
index e9a7ab8de0a4c6b1d5e768c1f05602f8856cf5ab..18d582b00b7d26770021362db9d2c3e79730e7f7 100644 (file)
@@ -223,6 +223,14 @@ namespace MonoTests.System.Net.Http.Headers
                        value.FileName = "\"quoted\"";
                        Assert.AreEqual ("\"quoted\"", value.FileName, "#41");
                        Assert.AreEqual (new NameValueHeaderValue ("filename", "\"quoted\""), value.Parameters.First (), "#42");
+
+                       value.FileName = "~";
+                       Assert.AreEqual ("~", value.FileName, "#51");
+                       Assert.AreEqual (new NameValueHeaderValue ("filename", "~"), value.Parameters.First (), "#52");
+
+                       value.FileName = "\x7f";
+                       Assert.AreEqual ("\"\x7f\"", value.FileName, "#61");
+                       Assert.AreEqual (new NameValueHeaderValue ("filename", "\"\x7f\""), value.Parameters.First (), "#62");
                }
 
                [Test]
@@ -237,8 +245,11 @@ namespace MonoTests.System.Net.Http.Headers
                        value.FileNameStar = "č";
                        Assert.AreEqual ("č", value.FileNameStar, "#11");
                        Assert.AreEqual (new NameValueHeaderValue ("filename*", "utf-8''%C4%8D"), value.Parameters.First (), "#12");
-               }
 
+                       value.FileNameStar = "@x*\\%?.txt";
+                       Assert.AreEqual ("@x*\\%?.txt", value.FileNameStar, "#21");
+                       Assert.AreEqual (new NameValueHeaderValue ("filename*", "utf-8''%40x%2A%5C%25%3F.txt"), value.Parameters.First (), "#22");
+               }
 
                [Test]
                public void Properties_Name ()
index 32cf785a0e9d5ffbdfd042d99926c6edea25c7f9..7de0ccdb2ae9272db825e07d8c8848dcedb98b7a 100644 (file)
@@ -51,6 +51,30 @@ namespace MonoTests.System.Net.Http.Headers
                                Assert.Fail ("#2");
                        } catch (FormatException) {
                        }
+
+                       try {
+                               new NameValueHeaderValue ("\x7f", null);
+                               Assert.Fail ("#3");
+                       } catch (FormatException) {
+                       }
+
+                       try {
+                               new NameValueHeaderValue ("arg", "\x7f");
+                               Assert.Fail ("#4");
+                       } catch (FormatException) {
+                       }
+               }
+
+               [Test]
+               public void Ctor_ValidArguments ()
+               {
+                       NameValueHeaderValue nvh;
+                       
+                       nvh = new NameValueHeaderValue ("arg", "~");
+                       Assert.AreEqual ("~", nvh.Value, "#1");
+                       
+                       nvh = new NameValueHeaderValue ("arg", "\"\x7f\x80\"");
+                       Assert.AreEqual ("\"\x7f\x80\"", nvh.Value, "#2");
                }
 
                [Test]
index 4b07313aafdbe23ee1b3a9658bfbc032c167afb0..eaeb6f6d23b965dad7c3b56087baf51ab3fc106c 100644 (file)
@@ -170,6 +170,35 @@ namespace MonoTests.System.Net.Http
                        client.SendAsync (request).Wait (WaitTimeout);
                }
 
+
+               [Test]
+               public void CancelRequestViaProxy ()
+               {
+                       var handler = new HttpClientHandler {
+                               Proxy = new WebProxy ("192.168.10.25:8888/"), // proxy that doesn't exist
+                               UseProxy = true,
+                               AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
+                       };
+
+                       var httpClient = new HttpClient (handler) {
+                               BaseAddress = new Uri ("https://google.com"),
+                               Timeout = TimeSpan.FromSeconds (1)
+                       };
+
+                       try {
+                               var restRequest = new HttpRequestMessage {
+                                       Method = HttpMethod.Post,
+                                       RequestUri = new Uri("foo", UriKind.Relative),
+                                       Content = new StringContent("", null, "application/json")
+                               };
+
+                               httpClient.PostAsync (restRequest.RequestUri, restRequest.Content).Wait (WaitTimeout);
+                               Assert.Fail ("#1");
+                       } catch (AggregateException e) {
+                               Assert.IsTrue (e.InnerException is TaskCanceledException, "#2");
+                       }
+               }
+
                [Test]
                public void Properties ()
                {
index 8b4d6bf394e4e8aa12bdd0842d18d148280b726c..eabc8a05c5da51f242dffbd772c5cdb45a2b62ed 100644 (file)
@@ -99,6 +99,20 @@ namespace MonoTests.System.Net.Http
                        Assert.AreEqual (req.RequestUri, uri);
                }
 
+               [Test]
+               public void Ctor_RelativeOrAbsoluteUri ()
+               {
+                       var uri = new Uri ("/", UriKind.RelativeOrAbsolute);
+                       new HttpRequestMessage (HttpMethod.Get, uri);
+
+                       uri = new Uri ("file://", UriKind.RelativeOrAbsolute);
+                       try {
+                               new HttpRequestMessage (HttpMethod.Get, uri);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException) {
+                       }
+               }
+
                [Test]
                public void Ctor_RelativeUriString ()
                {
@@ -109,6 +123,18 @@ namespace MonoTests.System.Net.Http
                        Assert.IsFalse (req.RequestUri.IsAbsoluteUri);
                }
 
+               [Test]
+               public void Ctor_RelativeOrAbsoluteUriString ()
+               {
+                       new HttpRequestMessage (HttpMethod.Get, "/");
+
+                       try {
+                               new HttpRequestMessage (HttpMethod.Get, "file://");
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException) {
+                       }
+               }
+
                [Test]
                public void Headers ()
                {
diff --git a/mcs/class/System.Net/System.Net-net_2_0.csproj b/mcs/class/System.Net/System.Net-net_2_0.csproj
deleted file mode 100644 (file)
index bb2ce92..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{ED90CD4E-E958-4E14-B0E4-425CFA3BF661}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Net</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Assembly\TypeForwarders.cs" />\r
-    <Compile Include="System.Net\IPEndPointCollection.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_2_0.csproj b/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_2_0.csproj
deleted file mode 100644 (file)
index bcb638c..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{14C27158-5E50-403C-96D6-79FFF1F52889}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Remoting</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\AggregateDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientTransportSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientTransportSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpRemotingHandler.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpRemotingHandlerFactory.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpServerChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpServerTransportSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Http\RemotingHttpListener.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcClientChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcServerChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\UnixChannelLoader.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcChannelHelper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcClientChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcServerChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcTransport.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeClient.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeException.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeHelper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeListener.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeSocket.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeStream.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcClientChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcServerChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientTransportSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientTransportSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpConnectionPool.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpMessageIO.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpServerChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpServerTransportSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BinaryClientFormatterSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BinaryClientFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BinaryCore.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BinaryServerFormatterSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BinaryServerFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ChannelCore.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\CommonTransportKeys.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IAuthorizeRemotingConnection.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\RemotingThreadPool.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapClientFormatterSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapClientFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapCore.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapMessageFormatter.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapServerFormatterSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SoapServerFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SocketCachePolicy.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaData.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaDataCodeGenerator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaDataExporter.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlChannelSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlChannelSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlType.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\ServiceType.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\SUDSGeneratorException.cs" />\r
-    <Compile Include="System.Runtime.Remoting.MetadataServices\SUDSParserException.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Services\RemotingClientProxy.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Services\RemotingService.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-tests-net_2_0.csproj b/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-tests-net_2_0.csproj
deleted file mode 100644 (file)
index a7e43f6..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A84DDEFD-D504-4F33-A353-8BB852CF778E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.Runtime.Remoting-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Remoting_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\ActivationTests.cs" />\r
-    <Compile Include="Test\AsyncCalls.cs" />\r
-    <Compile Include="Test\BaseCalls.cs" />\r
-    <Compile Include="Test\CallSeq.cs" />\r
-    <Compile Include="Test\ContextHookAttribute.cs" />\r
-    <Compile Include="Test\ContextsTest.cs" />\r
-    <Compile Include="Test\CrossDomainCalls.cs" />\r
-    <Compile Include="Test\DelegateCalls.cs" />\r
-    <Compile Include="Test\GenericTest.cs" />\r
-    <Compile Include="Test\HttpBugTests.cs" />\r
-    <Compile Include="Test\HttpCalls.cs" />\r
-    <Compile Include="Test\HttpServerChannelTests.cs" />\r
-    <Compile Include="Test\IpcCalls.cs" />\r
-    <Compile Include="Test\IpcChannelTest.cs" />\r
-    <Compile Include="Test\ReflectionCalls.cs" />\r
-    <Compile Include="Test\RemotingServicesTest.cs" />\r
-    <Compile Include="Test\ServerObject.cs" />\r
-    <Compile Include="Test\SyncCalls.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting.Channels.Tcp\TcpChannelTest.cs" />\r
-    <Compile Include="Test\TcpCalls.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Remoting\System.Runtime.Remoting-net_2_0.csproj">\r
-      <Project>{14C27158-5E50-403C-96D6-79FFF1F52889}</Project>\r
-      <Name>System.Runtime.Remoting\System.Runtime.Remoting-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Remoting\System.Runtime.Remoting-net_2_0.csproj">\r
-      <Project>{14C27158-5E50-403C-96D6-79FFF1F52889}</Project>\r
-      <Name>System.Runtime.Remoting\System.Runtime.Remoting-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj b/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj
deleted file mode 100644 (file)
index f8a99aa..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Serialization.Formatters.Soap</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapFormatter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapReader.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapTypeMapper.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapWriter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-tests-net_2_0.csproj b/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 0aa1b8f..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2F358FB0-9083-439D-B246-971F40EF4644}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\System.Runtime.Serialization.Formatters.Soap-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Serialization.Formatters.Soap_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\AssemblyInfo.cs" />\r
-    <Compile Include="Test\InternalSoapValuesTest.cs" />\r
-    <Compile Include="Test\SerializationCallbackTest.cs" />\r
-    <Compile Include="Test\SerializationTest.cs" />\r
-    <Compile Include="Test\SoapFormatterTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_2_0.csproj b/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_2_0.csproj
deleted file mode 100644 (file)
index f27edaa..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Serialization</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\DataContractSerializerSection.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\DeclaredTypeElement.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\DeclaredTypeElementCollection.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\ParameterElement.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\ParameterElementCollection.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\SerializationSectionGroup.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\TypeElement.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Configuration\TypeElementCollection.cs" />\r
-    <Compile Include="System.Runtime.Serialization\CollectionDataContractAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ContractNamespaceAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\DataContractAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\DataContractResolver.cs" />\r
-    <Compile Include="System.Runtime.Serialization\DataContractSerializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization\DataMemberAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\EnumMemberAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ExportOptions.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ExtensionDataObject.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IDataContractSurrogate.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IExtensibleDataObject.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IgnoreDataMemberAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ImportOptions.cs" />\r
-    <Compile Include="System.Runtime.Serialization\InvalidDataContractException.cs" />\r
-    <Compile Include="System.Runtime.Serialization\KnownTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\KnownTypeCollection.cs" />\r
-    <Compile Include="System.Runtime.Serialization\NetDataContractSerializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationMap.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationMap.XsdExporter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XmlFormatterDeserializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XmlFormatterSerializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XmlObjectSerializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XmlSerializableServices.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XsdDataContractExporter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\XsdDataContractImporter.cs" />\r
-    <Compile Include="System.Xml\IFragmentCapableXmlDictionaryWriter.cs" />\r
-    <Compile Include="System.Xml\IStreamProvider.cs" />\r
-    <Compile Include="System.Xml\IXmlBinaryReaderInitializer.cs" />\r
-    <Compile Include="System.Xml\IXmlBinaryWriterInitializer.cs" />\r
-    <Compile Include="System.Xml\IXmlDictionary.cs" />\r
-    <Compile Include="System.Xml\IXmlMtomReaderInitializer.cs" />\r
-    <Compile Include="System.Xml\IXmlMtomWriterInitializer.cs" />\r
-    <Compile Include="System.Xml\IXmlUTF8ReaderInitializer.cs" />\r
-    <Compile Include="System.Xml\IXmlUTF8WriterInitializer.cs" />\r
-    <Compile Include="System.Xml\OnXmlDictionaryReaderClose.cs" />\r
-    <Compile Include="System.Xml\UniqueId.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryDictionaryReader.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryDictionaryWriter.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryDictionaryWriterAutoGen.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryFormat.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryReaderSession.cs" />\r
-    <Compile Include="System.Xml\XmlBinaryWriterSession.cs" />\r
-    <Compile Include="System.Xml\XmlC14NWriter.cs" />\r
-    <Compile Include="System.Xml\XmlCanonicalWriter.cs" />\r
-    <Compile Include="System.Xml\XmlDictionary.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryReader.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryReaderAutoGen.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryReaderQuotas.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryString.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryWriter.cs" />\r
-    <Compile Include="System.Xml\XmlDictionaryWriterAutoGen.cs" />\r
-    <Compile Include="System.Xml\XmlMtomDictionaryReader.cs" />\r
-    <Compile Include="System.Xml\XmlMtomDictionaryWriter.cs" />\r
-    <Compile Include="System.Xml\XmlSimpleDictionaryReader.cs" />\r
-    <Compile Include="System.Xml\XmlSimpleDictionaryWriter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/mstypes.schema">\r
-      <LogicalName>mstypes.schema</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-tests-net_2_0.csproj b/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2f95199..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2F43A5EC-AB47-4075-831F-D0681E7CA07B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <OutputPath>bin\Debug\System.Runtime.Serialization-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Runtime.Serialization_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,168,169,219,414</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Runtime.Serialization\AttributesTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug242Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug2843Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug3258Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug666333Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug675144Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\Bug695203Test.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\CollectionSerialization.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\DataContractResolverTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\DataContractSerializerTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\DataContractSerializerTest_DuplicateQName.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\DataContractSerializerTest_InvalidCharacters.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\DataContractSerializerTest_NullableWithDictionary.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\KnownTypeAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\WsdlHelper.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\XmlObjectSerializerTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\XsdDataContractExporterTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\XsdDataContractExporterTest2.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\XsdDataContractImporterTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\XsdDataContractImporterTest2.cs" />\r
-    <Compile Include="Test\System.Xml\UniqueIdTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlBinaryDictionaryReaderTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlBinaryDictionaryWriterTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlBinaryWriterSessionTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDictionaryReaderAbstractTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDictionaryReaderQuotasTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDictionaryStringTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDictionaryWriterTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlMtomDictionaryWriterTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlSimpleDictionaryWriterTest.cs" />\r
-    <Compile Include="Test\XmlComparer.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.ServiceModel.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.ServiceModel.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/mstypes.schema">\r
-      <LogicalName>mstypes.schema</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/Resources/WSDL/collections.wsdl">\r
-      <LogicalName>collections.wsdl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/Resources/WSDL/custom-collections.wsdl">\r
-      <LogicalName>custom-collections.wsdl</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 8c0eb2c4d92f90398cb6030edabce8a0d057bb93..4b439f382ceea160ee6b525bee0dd3a0fd0f02cd 100644 (file)
@@ -996,6 +996,10 @@ namespace System.Runtime.Serialization
                                string s = null;
                                foreach (EnumMemberInfo emi in enum_members) {
                                        long f = Convert.ToInt64 (emi.Value);
+                                       if (f == val) {
+                                               s = emi.XmlName;
+                                               break;
+                                       }
                                        if ((f & val) == f)
                                                s += (s != null ? " " : String.Empty) + emi.XmlName;
                                }
index 91fe958e0bf2d343721a2408e2a4028437845121..ada461fe2b8610290a5e9ef17a4170552cfd21e9 100644 (file)
@@ -92,6 +92,35 @@ namespace MonoTests.System.Runtime.Serialization
                         var ser = new DataContractSerializer(typeof(MyObject));
                        ser.ReadObject (XmlReader.Create(new StringReader(s)));
                }
-               
+
+               [Flags ()]
+               [Serializable]
+               public enum FlagsEnum
+               {
+                       None = 0,
+                       Flag1 = 0x10,
+                       Flag2 = 0x20,
+                       All = 0xffff,
+               };
+
+               [Serializable]
+               public class ClassWithFlagsEnum
+               {
+                       public FlagsEnum Flags = FlagsEnum.All;
+               }
+
+               // Bug #21072
+               [Test]
+               public void FlagsEnumTest ()
+               {
+                       var ser = new DataContractSerializer (typeof (ClassWithFlagsEnum));
+
+                       using (var m = new MemoryStream ()) {
+                               ser.WriteObject (m, new ClassWithFlagsEnum ());
+                               var data = m.ToArray ();
+                               var s = Encoding.UTF8.GetString (data, 0, (int) data.Length);
+                               Assert.IsTrue (s.Contains ("<Flags>All</Flags>"));
+                       }
+               }
        }
 }
index c57de5341cc92701599ec3f6be12546631e5fe4f..752a5f3f82b2a6efa84b57d1f7c3bc224b07efc2 100644 (file)
@@ -12,7 +12,7 @@ LOCAL_MCS_FLAGS = -lib:$(secxml_libdir) -lib:$(bare_libdir)
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:168,169,183,219,414,1595
 
-VALID_PROFILE := $(filter net_1_1 net_2_0 moonlight_raw net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter moonlight_raw net_4_0 net_4_5, $(PROFILE))
 
 EXTRA_DISTFILES = \
        Test/System.Security.Cryptography.Xml/sample.pfx \
index ae267a93856c6fac3fe75814a225d151a4216aee..8f0ec9735398c7feb561ede9f018b1c067872e68 100644 (file)
@@ -637,7 +637,7 @@ namespace Mono.Xml {
                        else if (n2 == null) 
                                return 1;
                        else if (n1.Prefix == n2.Prefix) 
-                               return string.Compare (n1.LocalName, n2.LocalName);
+                               return string.CompareOrdinal (n1.LocalName, n2.LocalName);
        
                        // Attributes in the default namespace are first
                        // because the default namespace is not applied to
diff --git a/mcs/class/System.Security/System.Security-net_2_0.csproj b/mcs/class/System.Security/System.Security-net_2_0.csproj
deleted file mode 100644 (file)
index 7e31b44..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{879EA17D-67A5-44ED-B912-1BE4883356FE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,414</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Security</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,414</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SECURITY_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,414</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SECURITY_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\NativeDapiProtection.cs" />\r
-    <Compile Include="Mono.Xml\XmlCanonicalizer.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\AlgorithmIdentifier.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipient.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipientCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipientEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\CmsSigner.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\ContentInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\EnvelopedCms.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeRecipientInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\KeyTransRecipientInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9Attribute.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9ContentType.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9DocumentDescription.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9DocumentName.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9MessageDigest.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9SigningTime.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\PublicKeyInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoType.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SignedCms.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfoCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfoEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifier.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierOrKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierOrKeyType.cs" />\r
-    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\CipherData.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\CipherReference.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\DataObject.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\DataReference.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\DSAKeyValue.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptedData.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptedKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptedReference.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptedType.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptedXml.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptionMethod.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptionProperties.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\EncryptionProperty.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\IRelDecryptor.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoClause.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoEncryptedKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoName.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoNode.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoRetrievalMethod.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyInfoX509Data.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\KeyReference.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\Manifest.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\Reference.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\ReferenceList.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\RSAKeyValue.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\Signature.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\SignedInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\SymmetricKeyWrap.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\Transform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\TransformChain.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\X509IssuerSerial.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDecryptionTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigBase64Transform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigC14NTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigC14NWithCommentsTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigEnvelopedSignatureTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigExcC14NTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigExcC14NWithCommentsTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigNodeList.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigXPathTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlDsigXsltTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlEncryption.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlLicenseTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlSignature.cs" />\r
-    <Compile Include="System.Security.Cryptography.Xml\XmlSignatureStreamReader.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptographicAttribute.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptographicAttributeCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptographicAttributeEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography\DataProtectionScope.cs" />\r
-    <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />\r
-    <Compile Include="System.Security.Cryptography\ProtectedData.cs" />\r
-    <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />\r
-    <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-1.csproj">\r
-      <Project>{5A1ED72C-ADAB-4396-AB03-D0E26AA91E90}</Project>\r
-      <Name>System\System-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0.csproj">\r
-      <Project>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Security/System.Security-tests-net_2_0.csproj b/mcs/class/System.Security/System.Security-tests-net_2_0.csproj
deleted file mode 100644 (file)
index e27eff0..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{9E4A512E-2ABA-477E-892D-FC0B58881339}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,414,169,219,1595,168,183,414</NoWarn>\r
-    <OutputPath>bin\Debug\System.Security-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Security_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,414,169,219,1595,168,183,414</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SECURITY_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,414,169,219,1595,168,183,414</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SECURITY_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\AlgorithmIdentifierTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\CmsRecipientCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\CmsRecipientTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\CmsSignerTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\ContentInfoTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\EnvelopedCmsTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\KeyTransRecipientInfoTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9AttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9ContentTypeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9DocumentDescriptionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9DocumentNameTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9MessageDigestTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkcs9SigningTimeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\Pkits_4_01_SignatureVerification.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\PkitsTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\SignedCmsTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\SignerInfoCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\SignerInfoTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Pkcs\SubjectIdentifierTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509Certificate2UICas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509Certificate2UITest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\AssertCrypto.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\DataObjectTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\DataReferenceTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\DSAKeyValueTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\EncryptedXmlTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\KeyInfoNameTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\KeyInfoNodeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\KeyInfoRetrievalMethodTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\KeyInfoTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\KeyInfoX509DataTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\ReferenceTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\RSAKeyValueTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\SignatureTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\SignedInfoTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\SignedXmlTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\TransformChainTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\TransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDecryptionTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigBase64TransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigC14NTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigC14NWithCommentsTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigEnvelopedSignatureTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigExcC14NTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigExcC14NWithCommentsTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigXPathTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlDsigXsltTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.Xml\XmlLicenseTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeObjectCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeObjectCollectionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeObjectCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeObjectEnumeratorCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeObjectEnumeratorTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptographicAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\ProtectedDataCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\ProtectedDataTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\ProtectedMemoryCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\ProtectedMemoryTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\DataProtectionPermissionAttributeTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-1.csproj">\r
-      <Project>{5A1ED72C-ADAB-4396-AB03-D0E26AA91E90}</Project>\r
-      <Name>System\System-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0.csproj">\r
-      <Project>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index a20b3bc3a2e28c21b073b5efec5c9bd597815f1f..4c7c6131087421c389d77eecf6fffed7aa64f5d7 100644 (file)
@@ -213,6 +213,87 @@ namespace MonoTests.System.Security.Cryptography.Xml {
                        Assert.IsTrue (vrfy.CheckSignature (), "RSA-Compute/Verify");
                }
 
+               // The same as MSDNSample(), but adding a few attributes
+               public SignedXml MSDNSampleMixedCaseAttributes ()
+               {
+                       // Create example data to sign.
+                       XmlDocument document = new XmlDocument ();
+                       XmlNode node = document.CreateNode (XmlNodeType.Element, "", "MyElement", "samples");
+                       node.InnerText = "This is some text";
+                       XmlAttribute a1 = document.CreateAttribute ("Aa");
+                       XmlAttribute a2 = document.CreateAttribute ("Bb");
+                       XmlAttribute a3 = document.CreateAttribute ("aa");
+                       XmlAttribute a4 = document.CreateAttribute ("bb");
+                       a1.Value = "one";
+                       a2.Value = "two";
+                       a3.Value = "three";
+                       a4.Value = "four";
+                       node.Attributes.Append (a1);
+                       node.Attributes.Append (a2);
+                       node.Attributes.Append (a3);
+                       node.Attributes.Append (a4);
+                       document.AppendChild (node);
+
+                       // Create the SignedXml message.
+                       SignedXml signedXml = new SignedXml ();
+
+                       // Create a data object to hold the data to sign.
+                       DataObject dataObject = new DataObject ();
+                       dataObject.Data = document.ChildNodes;
+                       dataObject.Id = "MyObjectId";
+
+                       // Add the data object to the signature.
+                       signedXml.AddObject (dataObject);
+
+                       // Create a reference to be able to package everything into the
+                       // message.
+                       Reference reference = new Reference ();
+                       reference.Uri = "#MyObjectId";
+
+                       // Add it to the message.
+                       signedXml.AddReference (reference);
+
+                       return signedXml;
+               }
+
+               public string AsymmetricRSAMixedCaseAttributes ()
+               {
+                       SignedXml signedXml = MSDNSampleMixedCaseAttributes ();
+
+                       RSA key = RSA.Create ();
+                       signedXml.SigningKey = key;
+
+                       // Add a KeyInfo.
+                       KeyInfo keyInfo = new KeyInfo ();
+                       keyInfo.AddClause (new RSAKeyValue (key));
+                       signedXml.KeyInfo = keyInfo;
+
+                       // Compute the signature.
+                       signedXml.ComputeSignature ();
+
+                       // Get the XML representation of the signature.
+                       XmlElement xmlSignature = signedXml.GetXml ();
+
+                       StringWriter sw = new StringWriter ();
+                       XmlWriter w = new XmlTextWriter (sw);
+                       xmlSignature.WriteTo (w);
+                       return sw.ToString ();
+               }
+
+               // Example output from Windows for AsymmetricRSAMixedCaseAttributes()
+               private const string AsymmetricRSAMixedCaseAttributesResult = "<Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\" /><Reference URI=\"#MyObjectId\"><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>0j1xLsePFtuRHfXEnVdTSLWtAm4=</DigestValue></Reference></SignedInfo><SignatureValue>hmrEBgns5Xx14aDhzqOyIh0qLNMUldtW8+fNPcvtD/2KtEhNZQGctnhs90CRa1NZ08TqzW2pUaEwmqvMAtF4v8KtWzC/zTuc1jH6nxQvQSQo0ABhuXdu7/hknZkXJ4yKBbdgbKjAsKfULwbWrP/PacLPoYfCO+wXSrt+wLMTTWU=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>4h/rHDr54r6SZWk2IPCeHX7N+wR1za0VBLshuS6tq3RSWap4PY2BM8VdbKH2T9RzyZoiHufjng+1seUx430iMsXisOLUkPP+yGtMQOSZ3CQHAa+IYA+fplXipixI0rV1J1wJNXQm3HxXQqKWpIv5fkwBtj8o2k6CWMgPNgFCnxc=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo><Object Id=\"MyObjectId\"><MyElement Aa=\"one\" Bb=\"two\" aa=\"three\" bb=\"four\" xmlns=\"samples\">This is some text</MyElement></Object></Signature>";
+
+               [Test]
+               public void AsymmetricRSAMixedCaseAttributesVerifyWindows ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       doc.LoadXml (AsymmetricRSAMixedCaseAttributesResult);
+
+                       SignedXml v1 = new SignedXml ();
+                       v1.LoadXml (doc.DocumentElement);
+                       Assert.IsTrue (v1.CheckSignature ());
+               }
+
                [Test]
                public void AsymmetricDSASignature () 
                {
index 816df3e9809e04c12d24f1caa25b01667a21215d..43cf7df2afcaea4d61af5c7339cf9123f377231e 100644 (file)
@@ -494,6 +494,19 @@ namespace MonoTests.System.Security.Cryptography.Xml {
                        Assert.AreEqual (new StreamReader (s, Encoding.UTF8).ReadToEnd (), expected);
                }
 
+               [Test]
+               public void OrdinalSortForAttributes ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       string xml = "<foo Aa=\"one\" Bb=\"two\" aa=\"three\" bb=\"four\"><bar></bar></foo>";
+                       doc.LoadXml (xml);
+
+                       transform.LoadInput (doc);
+                       Stream s = (Stream) transform.GetOutput ();
+                       string output = Stream2String (s);
+                       Assert.AreEqual (xml, output);
+               }
+
 #if NET_2_0
                [Test]
                public void PrefixlessNamespaceOutput ()
diff --git a/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_2_0.csproj b/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_2_0.csproj
deleted file mode 100644 (file)
index e7314da..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{3C6EB10D-5929-4CB4-81F2-7984FCECCDAA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceModel.Web</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Assembly\TypeForwarders.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\DataContractJsonSerializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\IXmlJsonReaderInitializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\IXmlJsonWriterInitializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JavaScriptObjectDeserializer.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JavaScriptReader.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JsonReader.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JsonReaderWriterFactory.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JsonSerializationReader.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JsonSerializationWriter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\JsonWriter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Json\TypeMap.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\WebScriptServiceHostFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\WebServiceHostFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebBodyFormatMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebContentFormat.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebContentTypeMapper.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WebMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebScriptEnablingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebScriptEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WebScriptEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WebHttpBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WebHttpEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WebScriptEnablingBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WebScriptEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WebServiceEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\JsonQueryStringConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\QueryStringConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\WebHttpDispatchOperationSelector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\WebMessageFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Atom10FeedFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Atom10FeedFormatter_1.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Atom10ItemFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Atom10ItemFormatter_1.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\AtomPub10CategoriesDocumentFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter_1.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\CategoriesDocument.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\CategoriesDocumentFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\InlineCategoriesDocument.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\ISyndicationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\ReferencedCategoriesDocument.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\ResourceCollectionInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Rss20FeedFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Rss20FeedFormatter_1.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Rss20ItemFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Rss20ItemFormatter_1.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\ServiceDocument.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\ServiceDocumentFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationCategory.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationContent.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationElementExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationElementExtensionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationExtensions.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationFeed.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationFeedFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationItem.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationItemFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationLink.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationPerson.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\SyndicationVersions.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\TextSyndicationContent.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\TextSyndicationContentKind.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\UrlSyndicationContent.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\Workspace.cs" />\r
-    <Compile Include="System.ServiceModel.Syndication\XmlSyndicationContent.cs" />\r
-    <Compile Include="System.ServiceModel.Web\IncomingWebRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Web\IncomingWebResponseContext.cs" />\r
-    <Compile Include="System.ServiceModel.Web\OutgoingWebRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Web\OutgoingWebResponseContext.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebAttributeInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebGetAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebInvokeAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebMessageBodyStyle.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebMessageFormat.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebOperationContext.cs" />\r
-    <Compile Include="System.ServiceModel.Web\WebServiceHost.cs" />\r
-    <Compile Include="System.ServiceModel\WebHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WebHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\WebHttpSecurityMode.cs" />\r
-    <Compile Include="System\UriTemplate.cs" />\r
-    <Compile Include="System\UriTemplateEquivalenceComparer.cs" />\r
-    <Compile Include="System\UriTemplateMatch.cs" />\r
-    <Compile Include="System\UriTemplateMatchException.cs" />\r
-    <Compile Include="System\UriTemplateTable.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0.csproj">\r
-      <Project>{5B5CA61A-0901-40B5-B56A-D0A6E67DDA66}</Project>\r
-      <Name>System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-tests-net_2_0.csproj b/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 7750796..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{98478C8A-B3F8-4D4E-9561-BB75C34BABCA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.ServiceModel.Web-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceModel.Web_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Runtime.Serialization.Json\DataContractJsonSerializerTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization.Json\JsonReaderTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization.Json\JsonWriterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Activation\WebScriptServiceHostFactoryTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\WebBodyFormatMessagePropertyTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\WebMessageEncodingBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\WebHttpBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\WebHttpBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\WebHttpEndpointTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\WebScriptEnablingBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\JsonQueryStringConverterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\QueryStringConverterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\WebHttpDispatchOperationSelectorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\Atom10FeedFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\Atom10ItemFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\AtomPub10CategoriesDocumentFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\Rss20FeedFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\Rss20ItemFormatterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\ServiceDocumentTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\SyndicationElementExtensionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\SyndicationFeedTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\SyndicationItemTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\SyndicationLinkTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\TextSyndicationContentTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\UrlSyndicationContentTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Syndication\XmlSyndicationContentTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Web\WebGetAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Web\WebInvokeAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Web\WebOperationContextTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Web\WebServiceHostTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\WebHttpBindingTest.cs" />\r
-    <Compile Include="Test\System\UriTemplateEquivalenceComparerTest.cs" />\r
-    <Compile Include="Test\System\UriTemplateTableTest.cs" />\r
-    <Compile Include="Test\System\UriTemplateTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel.Web\System.ServiceModel.Web-net_2_0.csproj">\r
-      <Project>{3C6EB10D-5929-4CB4-81F2-7984FCECCDAA}</Project>\r
-      <Name>System.ServiceModel.Web\System.ServiceModel.Web-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0.csproj">\r
-      <Project>{5B5CA61A-0901-40B5-B56A-D0A6E67DDA66}</Project>\r
-      <Name>System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel-net_2_0.csproj b/mcs/class/System.ServiceModel/System.ServiceModel-net_2_0.csproj
deleted file mode 100644 (file)
index f2cd38c..0000000
+++ /dev/null
@@ -1,1094 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceModel</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAdd.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAnd.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArgument.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArgumentReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArithmeticOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArrayItem.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArrayLength.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAssignment.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBinaryComparison.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBinaryOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBlock.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBuilder.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeCast.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeClass.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeCustomAttribute.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeDecrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeEquals.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeExpression.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeFieldReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeFor.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeForeach.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeGenerationHelper.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIf.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIncrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIs.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeItem.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeLiteral.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeMethod.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeMethodCall.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeModule.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNew.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNewArray.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNotEquals.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeOr.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeProperty.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodePropertyReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeReturn.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeSelect.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeSelfIncrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeTryBlock.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeUnaryOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeValueReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeVariableDeclaration.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeVariableReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWhen.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWhile.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWriter.cs" />\r
-    <Compile Include="Mono.CodeGeneration\Exp.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD5SHA1.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\TlsHMAC.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\BitConverterLE.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmTargetInformation.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmVersion.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\Alert.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientContext.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ContentType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\Context.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ServerContext.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsException.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsStream.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
-    <Compile Include="System.Collections.Generic\KeyedByTypeCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedKeyedCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedReadOnlyCollection.cs" />\r
-    <Compile Include="System.IO\PipeException.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\AspNetIntegrationRequirementsAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\ServiceHostFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\ServiceHostFactoryBase.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\VirtualPathExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListenerEntry.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpContextInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManagerTable.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\PeerDuplexChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpBinaryFrameManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\MessageSecurityBindingSupport.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageDecryptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SupportingTokenInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSEncryptedXml.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSSecurityMessageHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSSignedXml.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressHeaderCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressingVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AsymmetricSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\Binding.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingParameterCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BufferManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CachingCompiler.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelFactoryBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase_1.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelManagerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelParameterCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompilationException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ConnectionOrientedTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ContentType.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CustomBinding.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DeliveryFailure.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DeliveryStatus.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DuplexChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DuplexSessionBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\FaultConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HostedTransportConfiguration.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HtmlizedException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpRequestMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpResponseMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpsTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingDeliveryCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingMulticastCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingRuntimePreferences.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\InputChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\InvalidChannelBindingException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IReplySessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IRequestSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISecurityCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ITransactedBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ITransportTokenAssertionProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LocalClientSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\Message.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageBuffer.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageBufferImpl.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageFault.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageFaultBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeaderInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeaders.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageImpl.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageProperties.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqBindingElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeConnectionPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipetransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OneWayBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OneWayBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OutputChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerCustomResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PnrpPeerResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PolicyImportHelper.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PrivacyNoticeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RemoteEndpointMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReplyChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RequestChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SecurityBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ServiceHostParser.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StandardBindingImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeInitiator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeInitiator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SvcHttpHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SvcHttpHandlerFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SymmetricSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TcpConnectionPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TcpTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\UnderstoodHeaders.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\UseManagedPresentationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WindowsStreamSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\XmlObjectSerializerBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\XmlReaderBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.ComIntegration\Dummy.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AddressHeaderCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthenticationMode.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpMessageSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BehaviorExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BehaviorsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BinaryMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingElementExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CallbackDebugElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CallbackTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CertificateReferenceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientViaElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComMethodElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComMethodElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonBehaviorsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonEndpointBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonServiceBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CompositeDuplexElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComUdtElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComUdtElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ConfigUtil.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ConnectionOrientedTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DataContractSerializerElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DiagnosticSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DnsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EncodingConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointAddressElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndToEndTracingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\FederatedMessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HostElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HostTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpDigestClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpsTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IBindingConfigurationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IdentityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IPAddressConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersEndpointAddressElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\LocalClientSecuritySettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\LocalServiceSecuritySettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageLoggingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverMsmqElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverTcpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MetadataElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MethodStubs.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexBindingBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqBindingElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MtomMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeConnectionPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedServiceModelExtensionCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NonDualMessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\OneWayElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerCredentialElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerCustomResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PnrpPeerResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PrivacyNoticeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ReliableMessagingVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\RsaElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecureConversationServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityAlgorithmSuiteConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceAuthorizationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceDebugElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceHostingEnvironmentSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataPublishingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelConfigurationElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelEnhancedConfigurationElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelSectionGroup.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServicePrincipalNameElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceSecurityAuditElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServicesSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceThrottlingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SslStreamSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingOptionalReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SynchronousReceiveElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpConnectionPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TextMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactedBatchingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactionFlowElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactionProtocolConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UseManagedPresentationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UserNameServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UserPrincipalNameElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsStreamSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingBaseElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509DefaultServiceCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ServiceCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlDictionaryReaderQuotasElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlElementElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlElementElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementComparer.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CallbackDebugBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CallbackTimeoutsBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ClientCredentials.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ClientViaBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ContractDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ContractDescriptionGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CustomPolicyConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\DataContractSerializerMessageContractImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\DataContractSerializerOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\FaultDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\FaultDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IContractBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IContractBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IEndpointBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IMetadataExchange.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IOperationContractGenerationExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IpolicyExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IPolicyImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IServiceBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IServiceContractGenerationExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IWsdlExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IWsdlImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\LocalServiceSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageBodyDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageHeaderDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageHeaderDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePartDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePartDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePropertyDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePropertyDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataConversionError.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExchangeBindings.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExchangeClient.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataLocation.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataReference.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSectionSerializerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSet.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MustUnderstandBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationContractGenerationContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyAssertionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceAuthorizationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceContractGenerationContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceContractGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceCredentials.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceDebugBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceEndpointCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceSecurityAuditBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceThrottlingBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceTimeoutsBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\SynchronousReceiveBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\TransactedBatchingBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\TypedMessageConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlContractConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlEndpointConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WSTrustMessageConverters.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WSTrustSTSContract.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlName.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlSerializerMessageContractImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlSerializerOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\MessageLoggingSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\MessageLogTraceRecord.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\PerformanceCounterScope.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseMessagesFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessor.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessorHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\CallbackInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcher.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherBase.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ClientOperation.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ClientRuntime.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DataContractSerializerServiceBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DefaultInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DefaultOperationInvoker.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DispatchOperation.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DispatchRuntime.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointDispatcher.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ErrorProcessingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ExceptionHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FaultContractInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FilterInvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FinalizeProcessingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ICallContextInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IChannelDispatcherBoundListener.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientOperationSelector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchOperationSelector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IErrorHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInputSessionShutdown.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInteractiveChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InitializingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InputOrReplyRequestProcessor.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InstanceContextIdleCallback.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InstanceManager.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IOperationInvoker.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IParameterInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MatchAllMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MatchNoneMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterNodeQuotaExceededException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageProcessingContext.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MexInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MultipleMessageFilterMatchesException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\NavigatorInvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\OperationInvokerHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\PostReceiveRequestHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\PrefixEndpointAddressMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ReplyHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SeekableXPathNavigator.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ServiceThrottle.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SessionInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SingletonInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XmlMessagesFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageContext.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathNavigatorException.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBinding.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationSecurity.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqMessage.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\CustomPeerResolverService.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ICustomPeerResolverContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\IPeerConnectorContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\IPeerResolverContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\LocalPeerResolverService.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerCustomResolverSettings.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerReferralPolicy.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverMode.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverSettings.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResult.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RegisterInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RegisterResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ResolveInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ResolveResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ServiceSettingsResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\UnregisterInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\UpdateInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\AuthenticatorCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\BinarySecretSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ClaimTypeRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\DerivedKeySecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IIssuanceSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\InitiatorServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\InternalEncryptedKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ISecurityContextSecurityTokenCache.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedTokenCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\KerberosSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ProviderCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RecipientServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RenewedSecurityTokenHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RsaSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenReferenceStyle.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenTypes.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslnegoCookieResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiClientSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SupportingTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\TlsClientSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\TlsServerSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\UserNameSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\WrappedKeySecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\X509SecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security\BasicSecurityProfileVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\BinarySecretKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ChannelProtectionRequirements.cs" />\r
-    <Compile Include="System.ServiceModel.Security\DataProtectionSecurityStateEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ExpiredSecurityTokenException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\HttpDigestClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IdentityVerifier.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IEndpointIdentityProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security\InfocardInteractiveChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ISecureConversationSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ISecuritySession.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IssuedTokenClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IssuedTokenServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\KeyEntropyMode.cs" />\r
-    <Compile Include="System.ServiceModel.Security\KeyNameIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessagePartSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessageProtectionOrder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessageSecurityException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\PeerCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ScopedMessagePartSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecureConversationServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecureConversationVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityAccessDeniedException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityAlgorithmSuite.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityContextKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityCredentialsManager.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityNegotiationException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityPolicyVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityStateEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityTokenAttachmentMode.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityTokenSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ServiceCredentialsSecurityTokenManager.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SspiSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SupportingTokenSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\TrustVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UnionSecurityTokenResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UserNamePasswordClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UserNamePasswordServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WindowsClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WindowsServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WSSecurityTokenSerializer.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509ClientCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509PeerCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509ServiceCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel\ActionNotSupportedException.cs" />\r
-    <Compile Include="System.ServiceModel\AddressAccessDeniedException.cs" />\r
-    <Compile Include="System.ServiceModel\AddressAlreadyInUseException.cs" />\r
-    <Compile Include="System.ServiceModel\AllEnums.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpMessageSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\CallbackBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelFactory_1.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelTerminatedException.cs" />\r
-    <Compile Include="System.ServiceModel\ClientBase.cs" />\r
-    <Compile Include="System.ServiceModel\ClientCredentialsSecurityTokenManager.cs" />\r
-    <Compile Include="System.ServiceModel\ClientProxyGenerator.cs" />\r
-    <Compile Include="System.ServiceModel\ClientRealProxy.cs" />\r
-    <Compile Include="System.ServiceModel\ClientRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationException.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationObjectAbortedException.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationObjectFaultedException.cs" />\r
-    <Compile Include="System.ServiceModel\Constants.cs" />\r
-    <Compile Include="System.ServiceModel\DataContractFormatAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\DefaultCommunicationTimeouts.cs" />\r
-    <Compile Include="System.ServiceModel\DeliveryRequirementsAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\DnsEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\Dummy.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexClientBase.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexClientRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddress.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddress10.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddressAugust2004.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddressBuilder.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointNotFoundException.cs" />\r
-    <Compile Include="System.ServiceModel\EnvelopeVersion.cs" />\r
-    <Compile Include="System.ServiceModel\ExceptionDetail.cs" />\r
-    <Compile Include="System.ServiceModel\ExtensionCollection.cs" />\r
-    <Compile Include="System.ServiceModel\FaultCode.cs" />\r
-    <Compile Include="System.ServiceModel\FaultContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\FaultException.cs" />\r
-    <Compile Include="System.ServiceModel\FaultException_1.cs" />\r
-    <Compile Include="System.ServiceModel\FaultReason.cs" />\r
-    <Compile Include="System.ServiceModel\FaultReasonText.cs" />\r
-    <Compile Include="System.ServiceModel\FederatedMessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\HttpTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\IClientChannel.cs" />\r
-    <Compile Include="System.ServiceModel\ICommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel\IContextChannel.cs" />\r
-    <Compile Include="System.ServiceModel\IDefaultCommunicationTimeouts.cs" />\r
-    <Compile Include="System.ServiceModel\IDuplexClientChannel.cs" />\r
-    <Compile Include="System.ServiceModel\IExtensibleObject.cs" />\r
-    <Compile Include="System.ServiceModel\IExtension.cs" />\r
-    <Compile Include="System.ServiceModel\IExtensionCollection.cs" />\r
-    <Compile Include="System.ServiceModel\InstanceContext.cs" />\r
-    <Compile Include="System.ServiceModel\InvalidMessageContractException.cs" />\r
-    <Compile Include="System.ServiceModel\IOnlineStatus.cs" />\r
-    <Compile Include="System.ServiceModel\IServiceChannel.cs" />\r
-    <Compile Include="System.ServiceModel\Logger.cs" />\r
-    <Compile Include="System.ServiceModel\MessageBodyAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageContractMemberAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeader_1.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderArrayAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderException.cs" />\r
-    <Compile Include="System.ServiceModel\MessageParameterAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessagePropertyAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverMsmq.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverTcp.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityVersion.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqBindingBase.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqException.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqPoisonMessageException.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NamedPipeTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetMsmqBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetMsmqSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetNamedPipeBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetNamedPipeSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetPeerTcpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetTcpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetTcpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NonDualMessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\OperationBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContext.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContextScope.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\OptionalReliableSession.cs" />\r
-    <Compile Include="System.ServiceModel\PeerMessagePropagationMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel\PeerNode.cs" />\r
-    <Compile Include="System.ServiceModel\PeerNodeAddress.cs" />\r
-    <Compile Include="System.ServiceModel\PeerResolver.cs" />\r
-    <Compile Include="System.ServiceModel\PeerResolverImpl.cs" />\r
-    <Compile Include="System.ServiceModel\PeerSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel\PeerTransportSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel\PoisonMessageException.cs" />\r
-    <Compile Include="System.ServiceModel\ProtocolException.cs" />\r
-    <Compile Include="System.ServiceModel\QuotaExceededException.cs" />\r
-    <Compile Include="System.ServiceModel\ReliableMessagingVersion.cs" />\r
-    <Compile Include="System.ServiceModel\ReliableSession.cs" />\r
-    <Compile Include="System.ServiceModel\RsaEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\ServerTooBusyException.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceActivationException.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceAuthorizationManager.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHost.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHostBase.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHostingEnvironment.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceKnownTypeAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceProxyGenerator.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceSecurityContext.cs" />\r
-    <Compile Include="System.ServiceModel\SilverlightClientConfigLoader.cs" />\r
-    <Compile Include="System.ServiceModel\SpnEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\TcpTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\TransactionFlowAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\TransactionProtocol.cs" />\r
-    <Compile Include="System.ServiceModel\TransferMode.cs" />\r
-    <Compile Include="System.ServiceModel\UnknownMessageReceivedEventArgs.cs" />\r
-    <Compile Include="System.ServiceModel\UpnEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\UriSchemeKeyedCollection.cs" />\r
-    <Compile Include="System.ServiceModel\WS2007FederationHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WS2007HttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSDualHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSDualHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\WSFederationHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSFederationHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpBindingBase.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\X509CertificateEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\XmlSerializerFormatAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel\System.IdentityModel-net_2_0.csproj">\r
-      <Project>{737EBB38-BBFD-40D8-99F1-1FBBD49AF1B6}</Project>\r
-      <Name>System.IdentityModel\System.IdentityModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_2_0.csproj">\r
-      <Project>{7203476D-4107-4C91-9930-DEC5CCFE62C8}</Project>\r
-      <Name>System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Messaging\System.Messaging-net_2_0.csproj">\r
-      <Project>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/WS-Addressing.schema">\r
-      <LogicalName>WS-Addressing.schema</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ws-addr.xsd">\r
-      <LogicalName>ws-addr.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_2_0.csproj b/mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_2_0.csproj
deleted file mode 100644 (file)
index b3f9f0c..0000000
+++ /dev/null
@@ -1,1098 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{B7F6F3A3-349F-4F3F-BC96-F491DC9E90BE}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/plainservice</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceModel</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAdd.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAnd.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArgument.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArgumentReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArithmeticOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArrayItem.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeArrayLength.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeAssignment.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBinaryComparison.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBinaryOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBlock.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeBuilder.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeCast.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeClass.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeCustomAttribute.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeDecrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeEquals.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeExpression.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeFieldReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeFor.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeForeach.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeGenerationHelper.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIf.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIncrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeIs.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeItem.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeLiteral.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeMethod.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeMethodCall.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeModule.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNew.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNewArray.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeNotEquals.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeOr.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeProperty.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodePropertyReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeReturn.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeSelect.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeSelfIncrement.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeTryBlock.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeUnaryOperation.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeValueReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeVariableDeclaration.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeVariableReference.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWhen.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWhile.cs" />\r
-    <Compile Include="Mono.CodeGeneration\CodeWriter.cs" />\r
-    <Compile Include="Mono.CodeGeneration\Exp.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MD5SHA1.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\TlsHMAC.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\BitConverterLE.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmTargetInformation.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmVersion.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\Alert.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientContext.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ContentType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\Context.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ServerContext.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsException.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
-    <Compile Include="Mono.Security.Protocol.Tls\TlsStream.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
-    <Compile Include="System.Collections.Generic\KeyedByTypeCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedKeyedCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\SynchronizedReadOnlyCollection.cs" />\r
-    <Compile Include="System.IO\PipeException.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\AspNetIntegrationRequirementsAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\ServiceHostFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\ServiceHostFactoryBase.cs" />\r
-    <Compile Include="System.ServiceModel.Activation\VirtualPathExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListenerEntry.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpContextInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManagerTable.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Http\HttpRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\PeerDuplexChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpBinaryFrameManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\MessageSecurityBindingSupport.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageDecryptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\SupportingTokenInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSEncryptedXml.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSSecurityMessageHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels.Security\WSSignedXml.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressHeaderCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AddressingVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\AsymmetricSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\Binding.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BindingParameterCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\BufferManager.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CachingCompiler.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelFactoryBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase_1.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelManagerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelParameterCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ChannelPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompilationException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ConnectionOrientedTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ContentType.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\CustomBinding.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DeliveryFailure.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DeliveryStatus.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DuplexChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\DuplexSessionBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\FaultConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HostedTransportConfiguration.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HtmlizedException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpRequestMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpResponseMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpsTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\HttpTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingDeliveryCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingMulticastCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IBindingRuntimePreferences.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IDuplexSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IInputSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\InputChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\InvalidChannelBindingException.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputSession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IOutputSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IReplySessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\IRequestSessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISecurityCapabilities.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISession.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ISessionChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ITransactedBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ITransportTokenAssertionProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LayeredRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\LocalClientSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\Message.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageBuffer.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageBufferImpl.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageFault.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageFaultBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeader.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeaderInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageHeaders.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageImpl.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageProperties.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MessageVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqBindingElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MsmqTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\MtomMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeConnectionPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeReplyChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipeRequestChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\NamedPipetransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OneWayBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OneWayBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\OutputChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerChannelListener.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerCustomResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerInputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerOutputChannel.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PeerTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PnrpPeerResolverBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PolicyImportHelper.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\PrivacyNoticeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RemoteEndpointMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ReplyChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RequestChannelBase.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\RequestContext.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SecurityBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\ServiceHostParser.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StandardBindingImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeInitiator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeAcceptor.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeInitiator.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\StreamUpgradeProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SvcHttpHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SvcHttpHandlerFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\SymmetricSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TcpConnectionPoolSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TcpTransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncoderFactory.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TextMessageEncodingBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransactionMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportBindingElementImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\TransportSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\UnderstoodHeaders.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\UseManagedPresentationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\WindowsStreamSecurityBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\XmlObjectSerializerBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.Channels\XmlReaderBodyWriter.cs" />\r
-    <Compile Include="System.ServiceModel.ComIntegration\Dummy.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AddressHeaderCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthenticationMode.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpMessageSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BasicHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BehaviorExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BehaviorsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BinaryMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingElementExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\BindingsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CallbackDebugElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CallbackTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CertificateReferenceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ChannelPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ClientViaElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComContractsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComMethodElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComMethodElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonBehaviorsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonEndpointBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CommonServiceBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CompositeDuplexElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComUdtElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ComUdtElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ConfigUtil.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ConnectionOrientedTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\CustomBindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DataContractSerializerElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DiagnosticSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\DnsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EncodingConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointAddressElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\EndToEndTracingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ExtensionsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\FederatedMessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HostElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HostTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpDigestClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpsTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\HttpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IBindingConfigurationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IdentityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IPAddressConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersEndpointAddressElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\IssuedTokenServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\LocalClientSecuritySettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\LocalServiceSecuritySettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageLoggingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverMsmqElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverTcpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageSecurityVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MessageVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MetadataElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MethodStubs.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexBindingBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqBindingElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MsmqTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\MtomMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeConnectionPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NamedServiceModelExtensionCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetMsmqSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NetTcpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\NonDualMessageSecurityOverHttpElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\OneWayElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerCredentialElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerCustomResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PeerTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PnrpPeerResolverElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PolicyVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\PrivacyNoticeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ReliableMessagingVersionConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\RsaElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecureConversationServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityAlgorithmSuiteConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SecurityElementBase.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceAuthorizationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceDebugElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceHostingEnvironmentSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataPublishingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelConfigurationElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelEnhancedConfigurationElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceModelSectionGroup.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServicePrincipalNameElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceSecurityAuditElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServicesSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceThrottlingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\ServiceTimeoutsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SslStreamSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingOptionalReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardBindingReliableSessionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\StandardEndpointsSection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\SynchronousReceiveElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpConnectionPoolSettingsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpTransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TcpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TextMessageEncodingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactedBatchingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactionFlowElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransactionProtocolConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\TransportElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UseManagedPresentationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UserNameServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\UserPrincipalNameElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WindowsStreamSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSDualHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingBaseElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingCollectionElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\WSHttpTransportSecurityElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateCredentialsElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509DefaultServiceCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateClientElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateServiceElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\X509ServiceCertificateAuthenticationElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlDictionaryReaderQuotasElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlElementElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XmlElementElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElement.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementComparer.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CallbackDebugBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CallbackTimeoutsBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ClientCredentials.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ClientViaBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ContractDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ContractDescriptionGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Description\CustomPolicyConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\DataContractSerializerMessageContractImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\DataContractSerializerOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\FaultDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\FaultDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IContractBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IContractBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IEndpointBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IMetadataExchange.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IOperationContractGenerationExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IpolicyExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IPolicyImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IServiceBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IServiceContractGenerationExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IWsdlExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\IWsdlImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\LocalServiceSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageBodyDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageHeaderDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessageHeaderDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePartDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePartDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePropertyDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MessagePropertyDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataConversionError.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExchangeBindings.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExchangeClient.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataLocation.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataReference.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSectionSerializerBase.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MetadataSet.cs" />\r
-    <Compile Include="System.ServiceModel.Description\MustUnderstandBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationContractGenerationContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\OperationDescriptionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyAssertionCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\PolicyVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceAuthorizationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceContractGenerationContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceContractGenerator.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceCredentials.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceDebugBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceDescription.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceEndpointCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataEndpoint.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceMetadataExtension.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceSecurityAuditBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceThrottlingBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\ServiceTimeoutsBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\SynchronousReceiveBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\TransactedBatchingBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Description\TypedMessageConverter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlContractConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlEndpointConversionContext.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlExporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WsdlImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WSTrustMessageConverters.cs" />\r
-    <Compile Include="System.ServiceModel.Description\WSTrustSTSContract.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlName.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlSerializerMessageContractImporter.cs" />\r
-    <Compile Include="System.ServiceModel.Description\XmlSerializerOperationBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\MessageLoggingSettings.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\MessageLogTraceRecord.cs" />\r
-    <Compile Include="System.ServiceModel.Diagnostics\PerformanceCounterScope.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseMessagesFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessor.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessorHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\CallbackInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcher.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherBase.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherCollection.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ClientOperation.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ClientRuntime.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DataContractSerializerServiceBehavior.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DefaultInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DefaultOperationInvoker.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DispatchOperation.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\DispatchRuntime.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\EndpointDispatcher.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ErrorProcessingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ExceptionHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FaultContractInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FilterInvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\FinalizeProcessingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ICallContextInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IChannelDispatcherBoundListener.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IClientOperationSelector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IDispatchOperationSelector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IErrorHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInputSessionShutdown.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInstanceProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IInteractiveChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InitializingHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InputOrReplyRequestProcessor.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InstanceContextIdleCallback.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InstanceManager.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\InvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IOperationInvoker.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\IParameterInspector.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MatchAllMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MatchNoneMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterNodeQuotaExceededException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MessageProcessingContext.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MexInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\MultipleMessageFilterMatchesException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\NavigatorInvalidBodyAccessException.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\OperationInvokerHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\PostReceiveRequestHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\PrefixEndpointAddressMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ReplyHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SeekableXPathNavigator.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\ServiceThrottle.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SessionInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\SingletonInstanceContextProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XmlMessagesFormatter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageContext.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilterTable.cs" />\r
-    <Compile Include="System.ServiceModel.Dispatcher\XPathNavigatorException.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBinding.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBindingElement.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationSecurity.cs" />\r
-    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqMessage.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\CustomPeerResolverService.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ICustomPeerResolverContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\IPeerConnectorContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\IPeerResolverContract.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\LocalPeerResolverService.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerCustomResolverSettings.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerReferralPolicy.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverMode.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverSettings.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResult.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RegisterInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\RegisterResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ResolveInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ResolveResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\ServiceSettingsResponseInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\UnregisterInfo.cs" />\r
-    <Compile Include="System.ServiceModel.PeerResolvers\UpdateInfo.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\AuthenticatorCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\BinarySecretSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ClaimTypeRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\DerivedKeySecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IIssuanceSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\InitiatorServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\InternalEncryptedKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ISecurityContextSecurityTokenCache.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\IssuedTokenCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\KerberosSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ProviderCommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RecipientServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RenewedSecurityTokenHandler.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\RsaSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenReferenceStyle.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenRequirement.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenTypes.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslnegoCookieResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiClientSecurityTokenAuthenticator.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SspiSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\SupportingTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\TlsClientSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\TlsServerSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\UserNameSecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\WrappedKeySecurityToken.cs" />\r
-    <Compile Include="System.ServiceModel.Security.Tokens\X509SecurityTokenParameters.cs" />\r
-    <Compile Include="System.ServiceModel.Security\BasicSecurityProfileVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\BinarySecretKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ChannelProtectionRequirements.cs" />\r
-    <Compile Include="System.ServiceModel.Security\DataProtectionSecurityStateEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ExpiredSecurityTokenException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\HttpDigestClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IdentityVerifier.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IEndpointIdentityProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security\InfocardInteractiveChannelInitializer.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ISecureConversationSession.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ISecuritySession.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IssuedTokenClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\IssuedTokenServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\KeyEntropyMode.cs" />\r
-    <Compile Include="System.ServiceModel.Security\KeyNameIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessagePartSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessageProtectionOrder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\MessageSecurityException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\PeerCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ScopedMessagePartSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecureConversationServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecureConversationVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityAccessDeniedException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityAlgorithmSuite.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityContextKeyIdentifierClause.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityCredentialsManager.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityMessageProperty.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityNegotiationException.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityPolicyVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityStateEncoder.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityTokenAttachmentMode.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityTokenSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SecurityVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\ServiceCredentialsSecurityTokenManager.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SspiSecurityTokenProvider.cs" />\r
-    <Compile Include="System.ServiceModel.Security\SupportingTokenSpecification.cs" />\r
-    <Compile Include="System.ServiceModel.Security\TrustVersion.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UnionSecurityTokenResolver.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UserNamePasswordClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\UserNamePasswordServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WindowsClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WindowsServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\WSSecurityTokenSerializer.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientClientCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientServiceCredential.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509ClientCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509PeerCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel.Security\X509ServiceCertificateAuthentication.cs" />\r
-    <Compile Include="System.ServiceModel\ActionNotSupportedException.cs" />\r
-    <Compile Include="System.ServiceModel\AddressAccessDeniedException.cs" />\r
-    <Compile Include="System.ServiceModel\AddressAlreadyInUseException.cs" />\r
-    <Compile Include="System.ServiceModel\AllEnums.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpMessageSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\BasicHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\CallbackBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelFactory_1.cs" />\r
-    <Compile Include="System.ServiceModel\ChannelTerminatedException.cs" />\r
-    <Compile Include="System.ServiceModel\ClientBase.cs" />\r
-    <Compile Include="System.ServiceModel\ClientCredentialsSecurityTokenManager.cs" />\r
-    <Compile Include="System.ServiceModel\ClientProxyGenerator.cs" />\r
-    <Compile Include="System.ServiceModel\ClientRealProxy.cs" />\r
-    <Compile Include="System.ServiceModel\ClientRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationException.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationObjectAbortedException.cs" />\r
-    <Compile Include="System.ServiceModel\CommunicationObjectFaultedException.cs" />\r
-    <Compile Include="System.ServiceModel\Constants.cs" />\r
-    <Compile Include="System.ServiceModel\DataContractFormatAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\DefaultCommunicationTimeouts.cs" />\r
-    <Compile Include="System.ServiceModel\DeliveryRequirementsAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\DnsEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\Dummy.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexChannelFactory.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexClientBase.cs" />\r
-    <Compile Include="System.ServiceModel\DuplexClientRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddress.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddress10.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddressAugust2004.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointAddressBuilder.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\EndpointNotFoundException.cs" />\r
-    <Compile Include="System.ServiceModel\EnvelopeVersion.cs" />\r
-    <Compile Include="System.ServiceModel\ExceptionDetail.cs" />\r
-    <Compile Include="System.ServiceModel\ExtensionCollection.cs" />\r
-    <Compile Include="System.ServiceModel\FaultCode.cs" />\r
-    <Compile Include="System.ServiceModel\FaultContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\FaultException.cs" />\r
-    <Compile Include="System.ServiceModel\FaultException_1.cs" />\r
-    <Compile Include="System.ServiceModel\FaultReason.cs" />\r
-    <Compile Include="System.ServiceModel\FaultReasonText.cs" />\r
-    <Compile Include="System.ServiceModel\FederatedMessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\HttpTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\IClientChannel.cs" />\r
-    <Compile Include="System.ServiceModel\ICommunicationObject.cs" />\r
-    <Compile Include="System.ServiceModel\IContextChannel.cs" />\r
-    <Compile Include="System.ServiceModel\IDefaultCommunicationTimeouts.cs" />\r
-    <Compile Include="System.ServiceModel\IDuplexClientChannel.cs" />\r
-    <Compile Include="System.ServiceModel\IExtensibleObject.cs" />\r
-    <Compile Include="System.ServiceModel\IExtension.cs" />\r
-    <Compile Include="System.ServiceModel\IExtensionCollection.cs" />\r
-    <Compile Include="System.ServiceModel\InstanceContext.cs" />\r
-    <Compile Include="System.ServiceModel\InvalidMessageContractException.cs" />\r
-    <Compile Include="System.ServiceModel\IOnlineStatus.cs" />\r
-    <Compile Include="System.ServiceModel\IServiceChannel.cs" />\r
-    <Compile Include="System.ServiceModel\Logger.cs" />\r
-    <Compile Include="System.ServiceModel\MessageBodyAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageContractMemberAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeader_1.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderArrayAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageHeaderException.cs" />\r
-    <Compile Include="System.ServiceModel\MessageParameterAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessagePropertyAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverMsmq.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityOverTcp.cs" />\r
-    <Compile Include="System.ServiceModel\MessageSecurityVersion.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqBindingBase.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqException.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqPoisonMessageException.cs" />\r
-    <Compile Include="System.ServiceModel\MsmqTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NamedPipeTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetMsmqBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetMsmqSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetNamedPipeBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetNamedPipeSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NetPeerTcpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetTcpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\NetTcpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\NonDualMessageSecurityOverHttp.cs" />\r
-    <Compile Include="System.ServiceModel\OperationBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContext.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContextScope.cs" />\r
-    <Compile Include="System.ServiceModel\OperationContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\OptionalReliableSession.cs" />\r
-    <Compile Include="System.ServiceModel\PeerMessagePropagationMessageFilter.cs" />\r
-    <Compile Include="System.ServiceModel\PeerNode.cs" />\r
-    <Compile Include="System.ServiceModel\PeerNodeAddress.cs" />\r
-    <Compile Include="System.ServiceModel\PeerResolver.cs" />\r
-    <Compile Include="System.ServiceModel\PeerResolverImpl.cs" />\r
-    <Compile Include="System.ServiceModel\PeerSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel\PeerTransportSecuritySettings.cs" />\r
-    <Compile Include="System.ServiceModel\PoisonMessageException.cs" />\r
-    <Compile Include="System.ServiceModel\ProtocolException.cs" />\r
-    <Compile Include="System.ServiceModel\QuotaExceededException.cs" />\r
-    <Compile Include="System.ServiceModel\ReliableMessagingVersion.cs" />\r
-    <Compile Include="System.ServiceModel\ReliableSession.cs" />\r
-    <Compile Include="System.ServiceModel\RsaEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\ServerTooBusyException.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceActivationException.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceAuthorizationManager.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceBehaviorAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceContractAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHost.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHostBase.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceHostingEnvironment.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceKnownTypeAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceProxyGenerator.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceRuntimeChannel.cs" />\r
-    <Compile Include="System.ServiceModel\ServiceSecurityContext.cs" />\r
-    <Compile Include="System.ServiceModel\SilverlightClientConfigLoader.cs" />\r
-    <Compile Include="System.ServiceModel\SpnEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\TcpTransportSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\TransactionFlowAttribute.cs" />\r
-    <Compile Include="System.ServiceModel\TransactionProtocol.cs" />\r
-    <Compile Include="System.ServiceModel\TransferMode.cs" />\r
-    <Compile Include="System.ServiceModel\UnknownMessageReceivedEventArgs.cs" />\r
-    <Compile Include="System.ServiceModel\UpnEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\UriSchemeKeyedCollection.cs" />\r
-    <Compile Include="System.ServiceModel\WS2007FederationHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WS2007HttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSDualHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSDualHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\WSFederationHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSFederationHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpBinding.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpBindingBase.cs" />\r
-    <Compile Include="System.ServiceModel\WSHttpSecurity.cs" />\r
-    <Compile Include="System.ServiceModel\X509CertificateEndpointIdentity.cs" />\r
-    <Compile Include="System.ServiceModel\XmlSerializerFormatAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{AAA3F683-244C-40EF-8EF8-A95938862A44}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System/System-bare-net_2_0.csproj">\r
-      <Project>{5459507F-DC25-401C-A2F4-D5ECAC3A34E6}</Project>\r
-      <Name>System\System-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.XML/System.Xml-bare-net_2_0.csproj">\r
-      <Project>{0E9DD462-944B-426E-BC1E-96EF270EF7E2}</Project>\r
-      <Name>System.XML\System.Xml-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Core/System.Core-plaincore-net_2_0.csproj">\r
-      <Project>{F0743710-AB7C-4019-A13A-07AE79F514E4}</Project>\r
-      <Name>System.Core\System.Core-plaincore-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{CDFC3554-7C58-4C56-B862-9821EE91E2E2}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Configuration/System.Configuration-net_2_0.csproj">\r
-      <Project>{13AAE1FB-48CB-41ED-BF9B-F6F69CDE258F}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Data/System.Data-net_2_0.csproj">\r
-      <Project>{3D0435AD-4ACE-45BE-87DE-335BAD6D8EB1}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Security/System.Security-net_2_0.csproj">\r
-      <Project>{D3703145-8C5A-45B9-99A1-059D50BF3DFF}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_2_0.csproj">\r
-      <Project>{79E05A44-5A8D-4409-8F84-5FFEF95CD7AD}</Project>\r
-      <Name>System.IdentityModel\System.IdentityModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_2_0.csproj">\r
-      <Project>{88EFC58B-C753-42BB-AC08-4D9AD59FE3E5}</Project>\r
-      <Name>System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Transactions/System.Transactions-net_2_0.csproj">\r
-      <Project>{CEB6068D-261E-4546-8013-0A279BE86B5A}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Messaging/System.Messaging-net_2_0.csproj">\r
-      <Project>{A15967D7-34EF-4D38-B25E-19AE6808A308}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Web/System.Web-plainweb-net_2_0.csproj">\r
-      <Project>{97FD9F81-DC17-4CEC-992A-F2F17B6602D7}</Project>\r
-      <Name>System.Web\System.Web-plainweb-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Web.Services/System.Web.Services-net_2_0.csproj">\r
-      <Project>{73D0EC8D-BC1E-4748-979B-68DDFF011AF4}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../Mono.Security/Mono.Security-net_2_0.csproj">\r
-      <Project>{ECDB1158-526C-46EE-896E-9BFB6F85C0A3}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/WS-Addressing.schema">\r
-      <LogicalName>WS-Addressing.schema</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ws-addr.xsd">\r
-      <LogicalName>ws-addr.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel-tests-net_2_0.csproj b/mcs/class/System.ServiceModel/System.ServiceModel-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 17e7560..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{6E7270E1-B6F4-4244-B349-59208C772462}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.ServiceModel-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceModel_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;TRACE;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\FeatureBased\Features.Client\AsyncCallTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\AsyncPatternServer.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\DataContractTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\ExitProcessHelperServer.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\FaultsTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\KnownTypeTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\MessageContractTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\OperationContractServer.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\PrimitiveTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Client\UntypedMessageTesterProxy.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\AsyncCallTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\AsyncPatternContract.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\DataContractTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\DualContract.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\ExitpProcessHelper.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\FaultsTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\KnownTypeTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\MessageContractTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\OperationContract.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\PrimitiveTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Contracts\UntypedMessageTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\AsyncCallTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\AsyncPatternTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\DataContractSerializerTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\DualContractTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\ExitProcessHelper.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\FaultsTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\KnownTypeTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\MessageContractTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\OperationContractTester.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\PrimitiveTesterTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\UntypedMessageTest.cs" />\r
-    <Compile Include="Test\FeatureBased\Features.Serialization\XmlComparer.cs" />\r
-    <Compile Include="Test\FeatureBased\TestFixtureBase.cs" />\r
-    <Compile Include="Test\MetadataTests\BindingTestAssertions.cs" />\r
-    <Compile Include="Test\MetadataTests\ExportTests.cs" />\r
-    <Compile Include="Test\MetadataTests\ImportTests.cs" />\r
-    <Compile Include="Test\MetadataTests\ImportTests_CreateMetadata.cs" />\r
-    <Compile Include="Test\MetadataTests\ImportTests_LoadMetadata.cs" />\r
-    <Compile Include="Test\MetadataTests\ImportTests_RoundTrip.cs" />\r
-    <Compile Include="Test\MetadataTests\MetadataSamples.cs" />\r
-    <Compile Include="Test\MetadataTests\MiscImportTests.cs" />\r
-    <Compile Include="Test\MetadataTests\TestContext.cs" />\r
-    <Compile Include="Test\MetadataTests\TestLabel.cs" />\r
-    <Compile Include="Test\NUnitMoonHelper.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\AddressHeaderTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\AddressingVersionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\AsymmetricSecurityBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\BinaryMessageEncodingBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\BindingContextTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\BindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\BindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\CalcSampleProxy.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\CommunicationObjectSyncTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\CommunicationObjectTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\ConnectionOrientedTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\CustomBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\CustomPolicyConversionContext.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\DebugBindingElement.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\EmptyFaultExceptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\EnvelopeVersionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\FaultConverterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\FaultExceptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\HandlerBodyWriter.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\HandlerTransportBindingElement.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\HttpRequestMessagePropertyTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\HttpsTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\HttpTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\InterceptorBindingElement.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\InvalidBindingElement.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\LocalClientSecuritySettingsTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageBufferTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageEncoderTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageEncodingBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageFaultTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageHeadersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageHeaderTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessagePropertiesTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MessageVersionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MsmqBindingElementBaseTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\MsmqTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\NamedPipeTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\OneWayBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\OutputChannelBase.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\PeerTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\ReplyChannelBase.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\RequestChannelBase.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\SecurityAssert.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\SecurityBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\SslStreamSecurityBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\SymmetricSecurityBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\TcpTransportBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\TextMessageEncodingBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Channels\TransactionFlowBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\AddressHeaderCollectionElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\BasicHttpBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\BehaviorsSectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\BindingsSectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ChannelEndpointElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\CustomBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\EndpointBehaviorElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ExtensionsSectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\MetadataElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\MexBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\NetNamedPipeBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\NetPeerTcpBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\NetTcpBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ServiceBehaviorElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ServiceElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ServiceModelConfigurationElementCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\ServiceModelSectionGroupTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\StandardBindingCollectionElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\StandardBindingElementCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\StandardBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\StandardEndpointsSectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Configuration\UserBinding.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\BugX41.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ClientCredentialsTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ContractDescriptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\FaultDescriptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\MetadataExchangeBindingsTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\MetadataResolverTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\MetadataSetTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\OperationDescriptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceAuthorizationBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceContractGeneratorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceCredentialsTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceDebugBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceEndpointTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceMetadataBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceMetadataEndpointTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\ServiceThrottlingBehaviorTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\TypedMessageConverterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\WsdlExporterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Description\WsdlImporterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\ActionFilterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\Bug652331_2Test.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\Bug652331Test.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\ChannelDispatcherTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\DispatchOperationTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\DispatchRuntimeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\EndpointAddressMessageFilterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\EndpointDispatcherTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\ExceptionHandlerTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\FilterTableTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\InvalidBodyAccessExceptionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\PrefixEndpointAddressMessageFilterTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Dispatcher\XPathMessageContextTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.PeerResolvers\CustomPeerResolverServiceTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.PeerResolvers\PeerResolverSerializationTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\IssuedSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\IssuedSecurityTokenProviderTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\RsaSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\SecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenTypesTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\SslSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\SspiSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\UserNameSecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\WrappedKeySecurityTokenTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\X509ListedCertificateValidator.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security.Tokens\X509SecurityTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\ChannelProtectionRequirementsTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\MessagePartSpecificationTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\ScopedMessagePartSpecificationTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\SecurityAlgorithmSuiteTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\SecurityMessagePropertyTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\SecurityTokenSpeficicationTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\ServiceCredentialsSecurityTokenManagerTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\ServiceSecurityContextTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\SupportingTokenParametersTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\TransportSecurityBindingElementTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel.Security\WSSecurityTokenSerializerTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\BasicHttpBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\CallbackBehaviorAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ChannelFactory_1Test.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ChannelFactoryTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ClientBase_InteractiveChannelInitializerTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ClientBaseTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ClientCredentialsSecurityTokenManagerTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\CommonUseCases.cs" />\r
-    <Compile Include="Test\System.ServiceModel\Constants.cs" />\r
-    <Compile Include="Test\System.ServiceModel\EndpointAddress10Test.cs" />\r
-    <Compile Include="Test\System.ServiceModel\EndpointAddressBuilderTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\EndpointAddressTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\EndpointBehaviorCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\EndpointIdentityTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ExtensionCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\FaultCodeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\FaultContractAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\FaultReasonTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\IntegratedConnectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\MessageSecurityVersionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\MsmqTransportSecurityTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\NetMsmqBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\NetPeerTcpBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\NetTcpBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\OperationContextTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\PeerNodeAddressTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceAssert.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceEndpointCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceEndpointTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceHostBaseTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceHostTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\ServiceKnownTypeAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\SynchronizedReadOnlyCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\TransactionProtocolTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\UriSchemeKeyedCollectionTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\WSFederationHttpBindingTest.cs" />\r
-    <Compile Include="Test\System.ServiceModel\WSHttpBindingTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization\System.Runtime.Serialization-net_2_0.csproj">\r
-      <Project>{01BE23DB-E426-45E7-B56C-CA1175232AA7}</Project>\r
-      <Name>System.Runtime.Serialization\System.Runtime.Serialization-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Security\System.Security-net_2_0.csproj">\r
-      <Project>{879EA17D-67A5-44ED-B912-1BE4883356FE}</Project>\r
-      <Name>System.Security\System.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel\System.IdentityModel-net_2_0.csproj">\r
-      <Project>{737EBB38-BBFD-40D8-99F1-1FBBD49AF1B6}</Project>\r
-      <Name>System.IdentityModel\System.IdentityModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_2_0.csproj">\r
-      <Project>{7203476D-4107-4C91-9930-DEC5CCFE62C8}</Project>\r
-      <Name>System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Messaging\System.Messaging-net_2_0.csproj">\r
-      <Project>{DB0FD42E-2BF8-4E67-B707-901AC35FCB9A}</Project>\r
-      <Name>System.Messaging\System.Messaging-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/WS-Addressing.schema">\r
-      <LogicalName>WS-Addressing.schema</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ws-addr.xsd">\r
-      <LogicalName>ws-addr.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index d0e0ea09ba00ecf8760950aeab93fcd2e716d3c3..ed5fb8b65c9cc31c43284bd985a0b33a7d369678 100644 (file)
@@ -70,7 +70,7 @@ namespace MonoTests.System.ServiceModel.Dispatcher
                                };
 
                                client.GetDataAsync ();
-                               if (!wait.WaitOne (TimeSpan.FromSeconds (10)))
+                               if (!wait.WaitOne (TimeSpan.FromSeconds (20)))
                                        Assert.Fail ("timeout");
                        } finally {
                                serviceHost.Close ();
diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess-net_2_0.csproj b/mcs/class/System.ServiceProcess/System.ServiceProcess-net_2_0.csproj
deleted file mode 100644 (file)
index 93d4a7a..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E278AD54-C1F6-49BC-B788-6E412212D0EA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceProcess</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.ServiceProcess.Design\ServiceInstallerDialog.cs" />\r
-    <Compile Include="System.ServiceProcess.Design\ServiceInstallerDialogResult.cs" />\r
-    <Compile Include="System.ServiceProcess.Design\ServiceNameConverter.cs" />\r
-    <Compile Include="System.ServiceProcess\PowerBroadcastStatus.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceAccount.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceBase.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceController.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerImpl.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerPermission.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerPermissionAccess.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerPermissionAttribute.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerPermissionEntry.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerPermissionEntryCollection.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceControllerStatus.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceInstaller.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceProcessDescriptionAttribute.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceProcessInstaller.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceStartMode.cs" />\r
-    <Compile Include="System.ServiceProcess\ServiceType.cs" />\r
-    <Compile Include="System.ServiceProcess\SessionChangeDescription.cs" />\r
-    <Compile Include="System.ServiceProcess\SessionChangeReason.cs" />\r
-    <Compile Include="System.ServiceProcess\TimeoutException.cs" />\r
-    <Compile Include="System.ServiceProcess\UnixServiceController.cs" />\r
-    <Compile Include="System.ServiceProcess\Win32ServiceController.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration.Install\System.Configuration.Install-net_2_0.csproj">\r
-      <Project>{C8B650EA-042C-4352-8224-03F759A682C6}</Project>\r
-      <Name>System.Configuration.Install\System.Configuration.Install-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess-tests-net_2_0.csproj b/mcs/class/System.ServiceProcess/System.ServiceProcess-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 88c736a..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8CFBFA75-E0ED-4F16-8251-8B55E960A7C2}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.ServiceProcess-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.ServiceProcess_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.ServiceProcess\ServiceBaseTest.cs" />\r
-    <Compile Include="Test\System.ServiceProcess\ServiceControllerPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.ServiceProcess\ServiceControllerPermissionTest.cs" />\r
-    <Compile Include="Test\System.ServiceProcess\ServiceControllerTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceProcess\System.ServiceProcess-net_2_0.csproj">\r
-      <Project>{E278AD54-C1F6-49BC-B788-6E412212D0EA}</Project>\r
-      <Name>System.ServiceProcess\System.ServiceProcess-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration.Install\System.Configuration.Install-net_2_0.csproj">\r
-      <Project>{C8B650EA-042C-4352-8224-03F759A682C6}</Project>\r
-      <Name>System.Configuration.Install\System.Configuration.Install-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Transactions/System.Transactions-net_2_0.csproj b/mcs/class/System.Transactions/System.Transactions-net_2_0.csproj
deleted file mode 100644 (file)
index dc3c0d6..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Transactions</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Transactions\CommittableTransaction.cs" />\r
-    <Compile Include="System.Transactions\Configuration\DefaultSettingsSection.cs" />\r
-    <Compile Include="System.Transactions\Configuration\MachineSettingsSection.cs" />\r
-    <Compile Include="System.Transactions\Configuration\TransactionsSectionGroup.cs" />\r
-    <Compile Include="System.Transactions\Delegates.cs" />\r
-    <Compile Include="System.Transactions\DependentCloneOption.cs" />\r
-    <Compile Include="System.Transactions\DependentTransaction.cs" />\r
-    <Compile Include="System.Transactions\Enlistment.cs" />\r
-    <Compile Include="System.Transactions\EnlistmentOptions.cs" />\r
-    <Compile Include="System.Transactions\EnterpriseServicesInteropOption.cs" />\r
-    <Compile Include="System.Transactions\IDtcTransaction.cs" />\r
-    <Compile Include="System.Transactions\IEnlistmentNotification.cs" />\r
-    <Compile Include="System.Transactions\IPromotableSinglePhaseNotification.cs" />\r
-    <Compile Include="System.Transactions\ISimpleTransactionSuperior.cs" />\r
-    <Compile Include="System.Transactions\ISinglePhaseNotification.cs" />\r
-    <Compile Include="System.Transactions\IsolationLevel.cs" />\r
-    <Compile Include="System.Transactions\ITransactionPromoter.cs" />\r
-    <Compile Include="System.Transactions\PreparingEnlistment.cs" />\r
-    <Compile Include="System.Transactions\SinglePhaseEnlistment.cs" />\r
-    <Compile Include="System.Transactions\SubordinateTransaction.cs" />\r
-    <Compile Include="System.Transactions\Transaction.cs" />\r
-    <Compile Include="System.Transactions\TransactionAbortedException.cs" />\r
-    <Compile Include="System.Transactions\TransactionEventArgs.cs" />\r
-    <Compile Include="System.Transactions\TransactionException.cs" />\r
-    <Compile Include="System.Transactions\TransactionInDoubtException.cs" />\r
-    <Compile Include="System.Transactions\TransactionInformation.cs" />\r
-    <Compile Include="System.Transactions\TransactionInterop.cs" />\r
-    <Compile Include="System.Transactions\TransactionManager.cs" />\r
-    <Compile Include="System.Transactions\TransactionManagerCommunicationException.cs" />\r
-    <Compile Include="System.Transactions\TransactionOptions.cs" />\r
-    <Compile Include="System.Transactions\TransactionPromotionException.cs" />\r
-    <Compile Include="System.Transactions\TransactionScope.cs" />\r
-    <Compile Include="System.Transactions\TransactionScopeOption.cs" />\r
-    <Compile Include="System.Transactions\TransactionStatus.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Transactions/System.Transactions-tests-net_2_0.csproj b/mcs/class/System.Transactions/System.Transactions-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 03d3666..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D8B6CB08-B1BB-464B-82E1-E3276B92B458}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1595</NoWarn>\r
-    <OutputPath>bin\Debug\System.Transactions-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Transactions_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1595</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1595</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\AsyncTest.cs" />\r
-    <Compile Include="Test\EnlistTest.cs" />\r
-    <Compile Include="Test\IntResourceManager.cs" />\r
-    <Compile Include="Test\TransactionScopeTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Transactions\System.Transactions-net_2_0.csproj">\r
-      <Project>{BBC5CD06-50EB-439E-9DBB-2B5D644BE6C3}</Project>\r
-      <Name>System.Transactions\System.Transactions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 10afc10c162457d4d446caba825739812a0955bf..991adbe5b4a99a2c2f21dc48e65f84d54862a355 100644 (file)
@@ -8,17 +8,12 @@ LIB_MCS_FLAGS = \
                /r:System.Core.dll \
                /r:System.Web.dll
 
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5
-endif
-
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES =
 
 # This is a .NET 3.5+ assembly
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Web.Abstractions.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_2_0.csproj b/mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_2_0.csproj
deleted file mode 100644 (file)
index 84fa334..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Abstractions</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web\HttpApplicationStateBase.cs" />\r
-    <Compile Include="System.Web\HttpApplicationStateWrapper.cs" />\r
-    <Compile Include="System.Web\HttpBrowserCapabilitiesBase.cs" />\r
-    <Compile Include="System.Web\HttpBrowserCapabilitiesWrapper.cs" />\r
-    <Compile Include="System.Web\HttpCachePolicyBase.cs" />\r
-    <Compile Include="System.Web\HttpCachePolicyWrapper.cs" />\r
-    <Compile Include="System.Web\HttpContextBase.cs" />\r
-    <Compile Include="System.Web\HttpContextWrapper.cs" />\r
-    <Compile Include="System.Web\HttpFileCollectionBase.cs" />\r
-    <Compile Include="System.Web\HttpFileCollectionWrapper.cs" />\r
-    <Compile Include="System.Web\HttpPostedFileBase.cs" />\r
-    <Compile Include="System.Web\HttpPostedFileWrapper.cs" />\r
-    <Compile Include="System.Web\HttpRequestBase.cs" />\r
-    <Compile Include="System.Web\HttpRequestWrapper.cs" />\r
-    <Compile Include="System.Web\HttpResponseBase.cs" />\r
-    <Compile Include="System.Web\HttpResponseWrapper.cs" />\r
-    <Compile Include="System.Web\HttpServerUtilityBase.cs" />\r
-    <Compile Include="System.Web\HttpServerUtilityWrapper.cs" />\r
-    <Compile Include="System.Web\HttpSessionStateBase.cs" />\r
-    <Compile Include="System.Web\HttpSessionStateWrapper.cs" />\r
-    <Compile Include="System.Web\HttpStaticObjectsCollectionBase.cs" />\r
-    <Compile Include="System.Web\HttpStaticObjectsCollectionWrapper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Abstractions/System.Web.Abstractions-tests-net_2_0.csproj b/mcs/class/System.Web.Abstractions/System.Web.Abstractions-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2ebb029..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D2B91F5B-D914-4C6E-B41F-7DF9CADEB9A9}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web.Abstractions-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Abstractions_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web.DynamicData\Test\Common\AssertExtensions.cs" />\r
-    <Compile Include="Test\System.Web\HttpApplicationStateBaseTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpFileCollectionWrapperTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 22feb8530d7193050ee835f034ae9af5dd08beab..6581c0c1f77134541d3bf0dc5d542ce2b281e762 100644 (file)
@@ -183,10 +183,9 @@ namespace System.Web
                        return w.GetSection (sectionName);
                }
 
-               [MonoTODO]
                public override object GetService (Type serviceType)
                {
-                       throw new NotImplementedException ();
+                       return ((IServiceProvider)w).GetService (serviceType);
                }
 #if NET_4_0
                public override void RemapHandler (IHttpHandler handler)
index 3a31754b9499cd72e224c49210e2c2bba832b5ee..bf1d6f576aae614cb0cbdcb7175a7d5acd841fef 100644 (file)
@@ -138,7 +138,10 @@ namespace System.Web
 
 #if NET_4_5
                public virtual ReadEntityBodyMode ReadEntityBodyMode { get { NotImplemented(); return ReadEntityBodyMode.Classic; } }
+
+               public virtual UnvalidatedRequestValuesBase Unvalidated { get { NotImplemented (); return null; } }
 #endif
+
                public virtual Uri Url { get { NotImplemented (); return null; } }
 
                public virtual Uri UrlReferrer { get { NotImplemented (); return null; } }
index dc5098a3becfa0c727fd9633984a414b75b5fef0..197a7abd1c41f85b70d12be013a3b6b96026537b 100644 (file)
@@ -208,6 +208,18 @@ namespace System.Web
                        get { return w.TotalBytes; }
                }
 
+#if NET_4_5
+               public override UnvalidatedRequestValuesBase Unvalidated { 
+                       get { return new UnvalidatedRequestValuesWrapper (w.Unvalidated); } 
+               }
+#endif
+
+#if NET_4_5
+               public override ReadEntityBodyMode ReadEntityBodyMode {
+                       get { return ReadEntityBodyMode.Classic; }
+               }
+#endif
+
                public override Uri Url {
                        get { return w.Url; }
                }
index 921ace9ea843e78321ab1d21c19f8bb476188dec..2bf8ebd2f21cab505e43be196eec8eef63716be5 100644 (file)
@@ -39,6 +39,7 @@ using System.Security.Permissions;
 using System.Security.Principal;
 using System.Text;
 using System.Web.Caching;
+using System.Threading;
 
 #if NET_4_0
 using System.Web.Routing;
@@ -69,6 +70,10 @@ namespace System.Web
 
                public virtual string Charset { get { NotImplemented (); return null; } set { NotImplemented (); } }
 
+#if NET_4_5
+               public virtual CancellationToken ClientDisconnectedToken { get { NotImplemented (); return CancellationToken.None; } }
+#endif
+
                public virtual Encoding ContentEncoding { get { NotImplemented (); return null; } set { NotImplemented (); } }
 
                public virtual string ContentType { get { NotImplemented (); return null; } set { NotImplemented (); } }
index 1d9c20781719eca5fafb0470f0ca2a40e50bb5e8..adb5f74edd7796cba02135b17ef3bfb31265f6cb 100644 (file)
@@ -39,6 +39,7 @@ using System.Security.Permissions;
 using System.Security.Principal;
 using System.Text;
 using System.Web.Caching;
+using System.Threading;
 
 namespace System.Web
 {
@@ -82,6 +83,12 @@ namespace System.Web
                        set { w.Charset = value; }
                }
 
+#if NET_4_5
+               public override CancellationToken ClientDisconnectedToken {
+                       get { return CancellationToken.None; }
+               }
+#endif
+
                public override Encoding ContentEncoding {
                        get { return w.ContentEncoding; }
                        set { w.ContentEncoding = value; }
diff --git a/mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_2_0.csproj b/mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_2_0.csproj
deleted file mode 100644 (file)
index d6390e3..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8E128532-4FB9-4D6D-BD07-63025433586B}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>dummy-System.Web.ApplicationServices</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 2bfe34c3b2c066d4d0b59bc6255cf63393eac0a3..7b50cd5e070ff63355b6a2b8bfbf47386926f77f 100644 (file)
@@ -15,11 +15,6 @@ LIB_MCS_FLAGS = \
                /r:System.Web.Abstractions.dll \
                /r:System.Web.Routing.dll
 
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5
-endif
-
 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
 LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
 endif
@@ -186,7 +181,7 @@ endif
 EXTRA_DISTFILES = $(foreach resource,$(TEST_RESOURCE_FILES), $(shell echo $(subst \`,\\\`,$(resource)) | cut -d ',' -f 1))
 
 # This is a .NET 3.5+ assembly
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Web.DynamicData.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_2_0.csproj b/mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_2_0.csproj
deleted file mode 100644 (file)
index b0e5944..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{413F9BD7-61AE-4F12-8EDE-A7404B2BEE9C}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.DynamicData</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\AssociationDirection.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\AssociationProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\ColumnProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\DataModelProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqAssociationProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqColumnProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqDataModelProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqTableProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData.ModelProviders\TableProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData\ContextConfiguration.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicControl.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicControlParameter.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicDataExtensions.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicDataManager.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicDataRoute.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicDataRouteHandler.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicField.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicQueryStringParameter.cs" />\r
-    <Compile Include="System.Web.DynamicData\DynamicValidator.cs" />\r
-    <Compile Include="System.Web.DynamicData\FieldTemplateFactory.cs" />\r
-    <Compile Include="System.Web.DynamicData\FieldTemplateUserControl.cs" />\r
-    <Compile Include="System.Web.DynamicData\FilterRepeater.cs" />\r
-    <Compile Include="System.Web.DynamicData\FilterUserControlBase.cs" />\r
-    <Compile Include="System.Web.DynamicData\IControlParameterTarget.cs" />\r
-    <Compile Include="System.Web.DynamicData\IFieldFormattingOptions.cs" />\r
-    <Compile Include="System.Web.DynamicData\IFieldTemplate.cs" />\r
-    <Compile Include="System.Web.DynamicData\IFieldTemplateFactory.cs" />\r
-    <Compile Include="System.Web.DynamicData\IFieldTemplateHost.cs" />\r
-    <Compile Include="System.Web.DynamicData\IWhereParametersProvider.cs" />\r
-    <Compile Include="System.Web.DynamicData\MetaChildrenColumn.cs" />\r
-    <Compile Include="System.Web.DynamicData\MetaColumn.cs" />\r
-    <Compile Include="System.Web.DynamicData\MetaForeignKeyColumn.cs" />\r
-    <Compile Include="System.Web.DynamicData\MetaModel.cs" />\r
-    <Compile Include="System.Web.DynamicData\MetaTable.cs" />\r
-    <Compile Include="System.Web.DynamicData\PageAction.cs" />\r
-    <Compile Include="System.Web.DynamicData\TableNameAttribute.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0.csproj">\r
-      <Project>{F3112064-6311-48A9-992B-A68DD3C62133}</Project>\r
-      <Name>System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions\System.Web.Extensions-net_2_0.csproj">\r
-      <Project>{42527CAE-C932-4518-9CF7-F4ABB44510A5}</Project>\r
-      <Name>System.Web.Extensions\System.Web.Extensions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Routing\System.Web.Routing-net_2_0.csproj">\r
-      <Project>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</Project>\r
-      <Name>System.Web.Routing\System.Web.Routing-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.DynamicData/System.Web.DynamicData-tests-net_2_0.csproj b/mcs/class/System.Web.DynamicData/System.Web.DynamicData-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 51a5691..0000000
+++ /dev/null
@@ -1,697 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{AD07E068-F605-4F24-A60B-74514641DDDC}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web.DynamicData-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.DynamicData_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\crc32.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\Header.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlAttribute.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlDocument.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlEntity.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNode.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNodeNavigator.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlWeb.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\MixedCodeDocument.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\ParseReader.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\tools.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\NunitWebTest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\XmlComparer.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseControl.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseControlCollection.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseWorkerRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\CustomSection.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\FakeMembershipProvider.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\FormRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\HandlerInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\IForeignData.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyHandler.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyHost.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyPageHandlerFactory.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyTemplateControls.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PageDelegates.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PageInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PostableRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PostableWorkerRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\Response.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\StandardUrl.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\WebTest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\WebTestResourcesSetupAttribute.cs" />\r
-    <Compile Include="Test\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Test\Common\AFieldTemplate.cs" />\r
-    <Compile Include="Test\Common\AssertExtensions.cs" />\r
-    <Compile Include="Test\Common\AssociatedBar.cs" />\r
-    <Compile Include="Test\Common\AssociatedFoo.cs" />\r
-    <Compile Include="Test\Common\Baz.cs" />\r
-    <Compile Include="Test\Common\BazColumnAttributes.cs" />\r
-    <Compile Include="Test\Common\BazDataTypeDefaultTypes.cs" />\r
-    <Compile Include="Test\Common\BazNoStrings.cs" />\r
-    <Compile Include="Test\Common\BazNoStringsNoPrimary.cs" />\r
-    <Compile Include="Test\Common\BazValidationAttributes.cs" />\r
-    <Compile Include="Test\Common\BazWithDataTypeAttribute.cs" />\r
-    <Compile Include="Test\Common\EmployeesDataContext.cs" />\r
-    <Compile Include="Test\Common\FakeHttpWorkerRequest.cs" />\r
-    <Compile Include="Test\Common\FieldFormattingOptions.cs" />\r
-    <Compile Include="Test\Common\FieldTemplatePathTables.cs" />\r
-    <Compile Include="Test\Common\FieldTemplateTestDescription.cs" />\r
-    <Compile Include="Test\Common\FooBarNoScaffold.cs" />\r
-    <Compile Include="Test\Common\FooDisplayColumnAttribute.cs" />\r
-    <Compile Include="Test\Common\FooDisplayName.cs" />\r
-    <Compile Include="Test\Common\FooDisplayNameEmptyName.cs" />\r
-    <Compile Include="Test\Common\FooEmpty.cs" />\r
-    <Compile Include="Test\Common\FooEmptyDisplayColumnAttribute.cs" />\r
-    <Compile Include="Test\Common\FooEmptySortColumn.cs" />\r
-    <Compile Include="Test\Common\FooInvalidDisplayColumnAttribute.cs" />\r
-    <Compile Include="Test\Common\FooMisnamedSortColumn.cs" />\r
-    <Compile Include="Test\Common\FooNoDefaultsWithPrimaryKey.cs" />\r
-    <Compile Include="Test\Common\FooNoPrimaryColumns.cs" />\r
-    <Compile Include="Test\Common\FooNoScaffold.cs" />\r
-    <Compile Include="Test\Common\FooReadOnly.cs" />\r
-    <Compile Include="Test\Common\FooSettableDefaults.cs" />\r
-    <Compile Include="Test\Common\FooWithDefaults.cs" />\r
-    <Compile Include="Test\Common\FooWithMetadataType.cs" />\r
-    <Compile Include="Test\Common\FooWithToString.cs" />\r
-    <Compile Include="Test\Common\ITestDataContext.cs" />\r
-    <Compile Include="Test\Common\KnownResponseHeader.cs" />\r
-    <Compile Include="Test\Common\MiscExtensions.cs" />\r
-    <Compile Include="Test\Common\Mocks.cs" />\r
-    <Compile Include="Test\Common\MyDynamicDataRouteHandler.cs" />\r
-    <Compile Include="Test\Common\MyHttpContextWrapper.cs" />\r
-    <Compile Include="Test\Common\MyHttpRequestWrapper.cs" />\r
-    <Compile Include="Test\Common\PokerDynamicControl.cs" />\r
-    <Compile Include="Test\Common\PokerDynamicValidator.cs" />\r
-    <Compile Include="Test\Common\PokerFieldTemplateUserControl.cs" />\r
-    <Compile Include="Test\Common\TestDataColumn.cs" />\r
-    <Compile Include="Test\Common\TestDataContainer.cs" />\r
-    <Compile Include="Test\Common\TestDataContext.cs" />\r
-    <Compile Include="Test\Common\TestDataContext2.cs" />\r
-    <Compile Include="Test\Common\TestDataContext3.cs" />\r
-    <Compile Include="Test\Common\TestDataContext4.cs" />\r
-    <Compile Include="Test\Common\TestDataTable.cs" />\r
-    <Compile Include="Test\Common\TestsBasePage.cs" />\r
-    <Compile Include="Test\Common\TestsSetup.cs" />\r
-    <Compile Include="Test\Common\TestStubTypes.cs" />\r
-    <Compile Include="Test\Common\UnknownResponseHeader.cs" />\r
-    <Compile Include="Test\Common\Utils.cs" />\r
-    <Compile Include="Test\DataObjects\Employee.cs" />\r
-    <Compile Include="Test\DataObjects\EmployeeColumn.cs" />\r
-    <Compile Include="Test\DataObjects\EmployeeDynamicDataContainer.cs" />\r
-    <Compile Include="Test\DataObjects\EmployeeTable.cs" />\r
-    <Compile Include="Test\DataObjects\SeasonalEmployee.cs" />\r
-    <Compile Include="Test\DataSource\DynamicDataColumn.cs" />\r
-    <Compile Include="Test\DataSource\DynamicDataContainer.cs" />\r
-    <Compile Include="Test\DataSource\DynamicDataSource.cs" />\r
-    <Compile Include="Test\DataSource\DynamicDataSourceView.cs" />\r
-    <Compile Include="Test\DataSource\DynamicDataTable.cs" />\r
-    <Compile Include="Test\DataSource\IDynamicDataContainer.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataAssociationAttribute.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataAssociationProvider.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataContainerColumnProvider.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataContainerModelProvider.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataContainerTableProvider.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataSortableAttribute.cs" />\r
-    <Compile Include="Test\ModelProviders\DynamicDataStringLengthAttribute.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData.ModelProviders\TableProviderTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\ContextConfigurationTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicControlTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicDataExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicDataManagerTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicDataRouteHandlerTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicDataRouteTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\DynamicValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\FieldTemplateFactoryTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\FieldTemplateUserControlTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\MetaColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\MetaModelTest.cs" />\r
-    <Compile Include="Test\System.Web.DynamicData\MetaTableTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.DynamicData\System.Web.DynamicData-net_2_0.csproj">\r
-      <Project>{413F9BD7-61AE-4F12-8EDE-A7404B2BEE9C}</Project>\r
-      <Name>System.Web.DynamicData\System.Web.DynamicData-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0.csproj">\r
-      <Project>{F3112064-6311-48A9-992B-A68DD3C62133}</Project>\r
-      <Name>System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions\System.Web.Extensions-net_2_0.csproj">\r
-      <Project>{42527CAE-C932-4518-9CF7-F4ABB44510A5}</Project>\r
-      <Name>System.Web.Extensions\System.Web.Extensions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Routing\System.Web.Routing-net_2_0.csproj">\r
-      <Project>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</Project>\r
-      <Name>System.Web.Routing\System.Web.Routing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\SystemWebTestShim\SystemWebTestShim-net_2_0.csproj">\r
-      <Project>{328B62A2-55C4-420A-81C1-AEAB15A8F3A6}</Project>\r
-      <Name>SystemWebTestShim\SystemWebTestShim-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/FilterUserControl.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/FilterUserControl.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/GridViewPager.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/GridViewPager.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/Back.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.Back.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/header_back.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.header_back.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/PgFirst.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.PgFirst.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/PgLast.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.PgLast.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/PgNext.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.PgNext.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/PgPrev.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.PgPrev.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/Content/Images/plus.gif">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.Content.Images.plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Children.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Children.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Text.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Text.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Details.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Details.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Edit.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Edit.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Insert.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/Insert.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/List.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.List.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/List.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.List.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicData/web.config">\r
-      <LogicalName>MonoTests.WebPages.DynamicData.web.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/Global.asax">\r
-      <LogicalName>MonoTests.WebPages.Global.asax</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_01.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_01.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_01.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_01.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_02.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_02.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_02.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_02.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_03.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_03.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_03.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_03.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_04.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_04.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_04.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_04.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_05.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_05.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_05.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_05.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_06.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_06.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_06.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_06.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_07.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_07.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_07.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_07.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_08.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_08.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_08.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_08.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_09.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_09.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_09.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_09.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_10.aspx">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_10.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/ListView_DynamicControl_10.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.ListView_DynamicControl_10.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicValidator_01.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicValidator_01.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicValidator_01.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicValidator_01.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicValidator_02.aspx">\r
-      <LogicalName>MonoTests.WebPages.DynamicValidator_02.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/DynamicValidator_02.aspx.cs">\r
-      <LogicalName>MonoTests.WebPages.DynamicValidator_02.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/Site.css">\r
-      <LogicalName>MonoTests.WebPages.Site.css</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/Site.master">\r
-      <LogicalName>MonoTests.WebPages.Site.master</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/Site.master.cs">\r
-      <LogicalName>MonoTests.WebPages.Site.master.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/web.config.2.0">\r
-      <LogicalName>MonoTests.WebPages.web.config.2.0</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/web.config.4.0">\r
-      <LogicalName>MonoTests.WebPages.web.config.4.0</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/WebPages/web.config.4.5">\r
-      <LogicalName>MonoTests.WebPages.web.config.4.5</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_2_0.csproj b/mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_2_0.csproj
deleted file mode 100644 (file)
index cd61854..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{BC7F5750-D8B4-4D81-B5CE-F7923B3A5AEA}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Extensions.Design</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\AsyncPostBackTriggerControlIDConverter.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\AsyncPostBackTriggerEventNameConverter.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\CollectionEditorBase.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\ExtenderControlDesigner.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\PostBackTriggerControlIDConverter.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\ScriptManagerDesigner.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\ScriptManagerProxyDesigner.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\TimerDesigner.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\UpdatePanelDesigner.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\UpdatePanelTriggerCollectionEditor.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\UpdateProgressAssociatedUpdatePanelIDConverter.cs" />\r
-    <Compile Include="System.Web.Extensions.Design\UpdateProgressDesigner.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Design\System.Design-net_2_0-1.csproj">\r
-      <Project>{31BD6BF1-0C7A-4C0A-AB48-091F2EBB4AAC}</Project>\r
-      <Name>System.Design\System.Design-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Extensions.Design_1.0/System.Web.Extensions.Design_1.0-net_2_0.csproj b/mcs/class/System.Web.Extensions.Design_1.0/System.Web.Extensions.Design_1.0-net_2_0.csproj
deleted file mode 100644 (file)
index 93c968c..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A4D4C8B5-6C55-48C4-8C47-F394D5979079}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/compat/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Extensions.Design</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\AsyncPostBackTriggerControlIDConverter.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\AsyncPostBackTriggerEventNameConverter.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\CollectionEditorBase.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\ExtenderControlDesigner.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\PostBackTriggerControlIDConverter.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\ScriptManagerDesigner.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\ScriptManagerProxyDesigner.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\TimerDesigner.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\UpdatePanelDesigner.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\UpdatePanelTriggerCollectionEditor.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\UpdateProgressAssociatedUpdatePanelIDConverter.cs" />\r
-    <Compile Include="..\System.Web.Extensions.Design\System.Web.Extensions.Design\UpdateProgressDesigner.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Design\System.Design-net_2_0-1.csproj">\r
-      <Project>{31BD6BF1-0C7A-4C0A-AB48-091F2EBB4AAC}</Project>\r
-      <Name>System.Design\System.Design-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Managed.Windows.Forms\System.Windows.Forms-net_2_0.csproj">\r
-      <Project>{EC4EB1AA-1E23-4F9A-832A-FED2E5EA9630}</Project>\r
-      <Name>Managed.Windows.Forms\System.Windows.Forms-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Extensions/System.Web.Extensions-net_2_0.csproj b/mcs/class/System.Web.Extensions/System.Web.Extensions-net_2_0.csproj
deleted file mode 100644 (file)
index 0da8da8..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{42527CAE-C932-4518-9CF7-F4ABB44510A5}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Extensions</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Handlers\AssemblyResourceLoader.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Util\MachineKeySectionUtils.cs" />\r
-    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\ClientFormsAuthenticationCredentials.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\ClientFormsAuthenticationMembershipProvider.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\ClientRoleProvider.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\ClientSettingsProvider.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\ClientWindowsAuthenticationMembershipProvider.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\IClientFormsAuthenticationCredentialsProvider.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\SettingsSavedEventArgs.cs" />\r
-    <Compile Include=".\System.Web.ClientServices.Providers\UserValidatedEventArgs.cs" />\r
-    <Compile Include=".\System.Web.ClientServices\ClientFormsIdentity.cs" />\r
-    <Compile Include=".\System.Web.ClientServices\ClientRolePrincipal.cs" />\r
-    <Compile Include=".\System.Web.ClientServices\ConnectivityStatus.cs" />\r
-    <Compile Include=".\System.Web.Configuration\Converter.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ConvertersCollection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingAuthenticationServiceSection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingJsonSerializationSection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingProfileServiceSection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingRoleServiceSection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingScriptResourceHandlerSection.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingSectionGroup.cs" />\r
-    <Compile Include=".\System.Web.Configuration\ScriptingWebServicesSectionGroup.cs" />\r
-    <Compile Include=".\System.Web.Configuration\SystemWebExtensionsSectionGroup.cs" />\r
-    <Compile Include=".\System.Web.DynamicData\DynamicDataSourceOperation.cs" />\r
-    <Compile Include=".\System.Web.DynamicData\DynamicValidatorEventArgs.cs" />\r
-    <Compile Include=".\System.Web.DynamicData\IDynamicDataSource.cs" />\r
-    <Compile Include=".\System.Web.DynamicData\IDynamicValidatorException.cs" />\r
-    <Compile Include=".\System.Web.Handlers\ScriptModule.cs" />\r
-    <Compile Include=".\System.Web.Handlers\ScriptResourceHandler.cs" />\r
-    <Compile Include=".\System.Web.Query.Dynamic\DynamicClass.cs" />\r
-    <Compile Include=".\System.Web.Query.Dynamic\ParseException.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JavaScriptConverter.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JavaScriptSerializer.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JavaScriptTypeResolver.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\Json.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JSON\JavaScriptUtils.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JSON\ReflectionUtils.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JsonDeserializer.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\JsonSerializer.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\ScriptIgnoreAttribute.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\SimpleTypeResolver.cs" />\r
-    <Compile Include=".\System.Web.Script.Serialization\StringBuilderExtensions.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\AuthenticationService.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ClientProxyHandler.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\GenerateScriptTypeAttribute.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\LogicalTypeInfo.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ProfileService.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ProxyGenerator.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ResponseFormat.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\RestHandler.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ScriptHandlerFactory.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ScriptMethodAttribute.cs" />\r
-    <Compile Include=".\System.Web.Script.Services\ScriptServiceAttribute.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPager.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPagerCommandEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPagerField.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldCollection.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldCommandEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldItem.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\HelperExtensions.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\InsertItemPosition.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\IPageableItemContainer.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSource.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceContextEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceDeleteEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceDisposeEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceInsertEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceSelectEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceStatusEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceUpdateEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceValidationException.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceView.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListView.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewCancelEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewCancelMode.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewCommandEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewContainer.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewDataItem.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewDeletedEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewDeleteEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewEditEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewInsertedEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewInsertEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewItem.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewItemEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewItemType.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewPagedDataSource.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewSelectEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewSortEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewTableCell.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewTableRow.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewUpdatedEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\ListViewUpdateEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\NextPreviousPagerField.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\NumericPagerField.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\PageEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\PagePropertiesChangingEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI.WebControls\TemplatePagerField.cs" />\r
-    <Compile Include=".\System.Web.UI\AsyncPostBackErrorEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI\AsyncPostBackTrigger.cs" />\r
-    <Compile Include=".\System.Web.UI\AuthenticationServiceManager.cs" />\r
-    <Compile Include=".\System.Web.UI\CompositeEntry.cs" />\r
-    <Compile Include=".\System.Web.UI\CompositeScriptReference.cs" />\r
-    <Compile Include=".\System.Web.UI\CompositeScriptReferenceEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI\ExtenderControl.cs" />\r
-    <Compile Include=".\System.Web.UI\IExtenderControl.cs" />\r
-    <Compile Include=".\System.Web.UI\IScriptControl.cs" />\r
-    <Compile Include=".\System.Web.UI\PostBackTrigger.cs" />\r
-    <Compile Include=".\System.Web.UI\ProfileServiceManager.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredArrayDeclaration.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredDisposeScript.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredExpandoAttribute.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredHiddenField.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredScript.cs" />\r
-    <Compile Include=".\System.Web.UI\RegisteredScriptType.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptBehaviorDescriptor.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptComponentDescriptor.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptControl.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptControlDescriptor.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptDescriptor.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptManager.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptManagerProxy.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptMode.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptReference.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptReferenceBase.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptReferenceCollection.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptReferenceEventArgs.cs" />\r
-    <Compile Include=".\System.Web.UI\ScriptResourceAttribute.cs" />\r
-    <Compile Include=".\System.Web.UI\ServiceReference.cs" />\r
-    <Compile Include=".\System.Web.UI\ServiceReferenceCollection.cs" />\r
-    <Compile Include=".\System.Web.UI\TargetControlTypeAttribute.cs" />\r
-    <Compile Include=".\System.Web.UI\Timer.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanel.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanelControlTrigger.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanelRenderMode.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanelTrigger.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanelTriggerCollection.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdatePanelUpdateMode.cs" />\r
-    <Compile Include=".\System.Web.UI\UpdateProgress.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js">\r
-      <LogicalName>MicrosoftAjax.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js">\r
-      <LogicalName>MicrosoftAjax.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js">\r
-      <LogicalName>MicrosoftAjaxTimer.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js">\r
-      <LogicalName>MicrosoftAjaxTimer.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.js</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Extensions/System.Web.Extensions-tests-net_2_0.csproj b/mcs/class/System.Web.Extensions/System.Web.Extensions-tests-net_2_0.csproj
deleted file mode 100644 (file)
index e6db9f6..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{1F2F06C1-46F5-4297-B417-61C7648D9C1F}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,219,169,1591</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web.Extensions-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Extensions_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,219,169,1591</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;SYSTEM_WEB_EXTENSIONS;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,219,169,1591</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;SYSTEM_WEB_EXTENSIONS;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\AssemblyInfo.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\crc32.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\Header.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlAttribute.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlDocument.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlEntity.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNode.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNodeNavigator.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlWeb.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\MixedCodeDocument.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\ParseReader.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\tools.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\NunitWebTest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\MainsoftWebTest\XmlComparer.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseControl.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseControlCollection.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\BaseWorkerRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\FakeMembershipProvider.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\FormRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\Global.asax.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\HandlerInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\IForeignData.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyHandler.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyHost.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyPageHandlerFactory.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\MyTemplateControls.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PageDelegates.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PageInvoker.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PostableRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\PostableWorkerRequest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\Response.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\StandardUrl.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\WebTest.cs" />\r
-    <Compile Include="..\System.Web\Test\mainsoft\NunitWeb\NunitWeb\WebTestResourcesSetupAttribute.cs" />\r
-    <Compile Include="Test\code\Bug604053_DataSource.cs" />\r
-    <Compile Include="Test\code\Country.cs" />\r
-    <Compile Include="Test\code\CountryCollection.cs" />\r
-    <Compile Include="Test\code\WebTestLocal.cs" />\r
-    <Compile Include="Test\System.Web.Script.Serialization\JavaScriptSerializerTest.cs" />\r
-    <Compile Include="Test\System.Web.Script.Services\ProxyGeneratorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataPagerFieldCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\EventRecorder.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListViewPagedDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ScriptBehaviorDescriptorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ScriptComponentDescriptorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ScriptControlDescriptorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ScriptReferenceBaseTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\UpdateProgressTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions\System.Web.Extensions-net_2_0.csproj">\r
-      <Project>{42527CAE-C932-4518-9CF7-F4ABB44510A5}</Project>\r
-      <Name>System.Web.Extensions\System.Web.Extensions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ServiceModel\System.ServiceModel-net_2_0.csproj">\r
-      <Project>{DA50E37C-63DE-4049-9BE0-141BF1104E20}</Project>\r
-      <Name>System.ServiceModel\System.ServiceModel-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\SystemWebTestShim\SystemWebTestShim-net_2_0.csproj">\r
-      <Project>{328B62A2-55C4-420A-81C1-AEAB15A8F3A6}</Project>\r
-      <Name>SystemWebTestShim\SystemWebTestShim-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js">\r
-      <LogicalName>MicrosoftAjax.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js">\r
-      <LogicalName>MicrosoftAjax.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js">\r
-      <LogicalName>MicrosoftAjaxTimer.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js">\r
-      <LogicalName>MicrosoftAjaxTimer.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/Web.mono.config">\r
-      <LogicalName>Web.mono.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/profile.config.4.5">\r
-      <LogicalName>profile.config.4.5</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/profile.config.4.0">\r
-      <LogicalName>profile.config.4.0</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/profile.config.2.0">\r
-      <LogicalName>profile.config.2.0</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/ListViewSort.aspx">\r
-      <LogicalName>ListViewSort.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/ListViewTest.aspx">\r
-      <LogicalName>ListViewTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/ListViewTotalRowCount_Bug535701_1.aspx">\r
-      <LogicalName>ListViewTotalRowCount_Bug535701_1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/ListViewTotalRowCount_Bug535701_2.aspx">\r
-      <LogicalName>ListViewTotalRowCount_Bug535701_2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/resources/ListViewTotalRowCount_Bug604053.aspx">\r
-      <LogicalName>ListViewTotalRowCount_Bug604053.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs">\r
-      <LogicalName>MyPage.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax">\r
-      <LogicalName>Global.asax</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx">\r
-      <LogicalName>My.ashx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx">\r
-      <LogicalName>MyPage.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithDerivedMaster.aspx">\r
-      <LogicalName>MyPageWithDerivedMaster.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx">\r
-      <LogicalName>MyPageWithMaster.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMasterInvalidPlaceHolder.aspx">\r
-      <LogicalName>MyPageWithMasterInvalidPlaceHolder.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master">\r
-      <LogicalName>My.master</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyDerived.master">\r
-      <LogicalName>MyDerived.master</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Extensions_1.0/System.Web.Extensions_1.0-net_2_0.csproj b/mcs/class/System.Web.Extensions_1.0/System.Web.Extensions_1.0-net_2_0.csproj
deleted file mode 100644 (file)
index 84aae73..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5B5CA61A-0901-40B5-B56A-D0A6E67DDA66}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/compat/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Extensions</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\Converter.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ConvertersCollection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingAuthenticationServiceSection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingJsonSerializationSection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingProfileServiceSection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingScriptResourceHandlerSection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingSectionGroup.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\ScriptingWebServicesSectionGroup.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Configuration\SystemWebExtensionsSectionGroup.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.DynamicData\DynamicDataSourceOperation.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.DynamicData\DynamicValidatorEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.DynamicData\IDynamicDataSource.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.DynamicData\IDynamicValidatorException.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Handlers\ScriptModule.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Handlers\ScriptResourceHandler.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JavaScriptConverter.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JavaScriptSerializer.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JavaScriptTypeResolver.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\Json.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JSON\JavaScriptUtils.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JSON\ReflectionUtils.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JsonDeserializer.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\JsonSerializer.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\ScriptIgnoreAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\SimpleTypeResolver.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Serialization\StringBuilderExtensions.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\AuthenticationService.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ClientProxyHandler.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\GenerateScriptTypeAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\LogicalTypeInfo.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ProfileService.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ProxyGenerator.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ResponseFormat.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\RestHandler.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ScriptHandlerFactory.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ScriptMethodAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.Script.Services\ScriptServiceAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\DataPager.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\DataPagerField.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\DataPagerFieldCollection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\DataPagerFieldCommandEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\DataPagerFieldItem.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\InsertItemPosition.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\IPageableItemContainer.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSource.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceContextEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceDeleteEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceDisposeEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceInsertEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceSelectEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceStatusEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceUpdateEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceValidationException.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\LinqDataSourceView.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListView.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewCancelEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewCancelMode.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewCommandEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewDataItem.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewDeletedEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewDeleteEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewEditEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewInsertedEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewInsertEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewItem.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewItemEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewItemType.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewPagedDataSource.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewSelectEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewSortEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewTableRow.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewUpdatedEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\ListViewUpdateEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\NextPreviousPagerField.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\NumericPagerField.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\PageEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI.WebControls\PagePropertiesChangingEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\AsyncPostBackErrorEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\AsyncPostBackTrigger.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\AuthenticationServiceManager.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ExtenderControl.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\IExtenderControl.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\IScriptControl.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\PostBackTrigger.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ProfileServiceManager.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredArrayDeclaration.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredDisposeScript.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredExpandoAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredHiddenField.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredScript.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\RegisteredScriptType.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptBehaviorDescriptor.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptComponentDescriptor.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptControl.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptControlDescriptor.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptDescriptor.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptManager.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptManagerProxy.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptMode.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptReference.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptReferenceBase.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptReferenceCollection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptReferenceEventArgs.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ScriptResourceAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ServiceReference.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\ServiceReferenceCollection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\TargetControlTypeAttribute.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\Timer.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanel.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanelControlTrigger.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanelRenderMode.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanelTrigger.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanelTriggerCollection.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdatePanelUpdateMode.cs" />\r
-    <Compile Include="..\System.Web.Extensions\System.Web.UI\UpdateProgress.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Handlers\AssemblyResourceLoader.cs" />\r
-    <Compile Include="..\System.Web\System.Web.Util\MachineKeySectionUtils.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjax.debug.js">\r
-      <LogicalName>MicrosoftAjax.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjax.js">\r
-      <LogicalName>MicrosoftAjax.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxTimer.debug.js">\r
-      <LogicalName>MicrosoftAjaxTimer.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxTimer.js">\r
-      <LogicalName>MicrosoftAjaxTimer.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxWebForms.debug.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.debug.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxWebForms.js">\r
-      <LogicalName>MicrosoftAjaxWebForms.js</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Mvc/System.Web.Mvc-net_2_0.csproj b/mcs/class/System.Web.Mvc/System.Web.Mvc-net_2_0.csproj
deleted file mode 100644 (file)
index 2517e75..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{268C75DA-7F8A-4402-B143-ABAF2A7D97C9}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/compat/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Mvc</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;MONO</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;MONO</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="GlobalSuppressions.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\AcceptVerbsAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionExecutedContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionExecutingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionFilterAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodDispatcher.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodDispatcherCache.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodSelector.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodSelectorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodSelectorCache.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionNameAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionNameSelectorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionSelector.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\AjaxExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\AjaxOptions.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\InsertionMode.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxHelper`1.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxRequestExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryData.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryDataSerializer.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryToken.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryTokenSerializer.cs" />\r
-    <Compile Include="System.Web.Mvc\AuthorizationContext.cs" />\r
-    <Compile Include="System.Web.Mvc\AuthorizeAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\BindAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\BuildManagerWrapper.cs" />\r
-    <Compile Include="System.Web.Mvc\ContentResult.cs" />\r
-    <Compile Include="System.Web.Mvc\Controller.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerBase.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerDescriptorCache.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerTypeCache.cs" />\r
-    <Compile Include="System.Web.Mvc\CustomModelBinderAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultControllerFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\DescriptorUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\DictionaryHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\EmptyResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ExceptionContext.cs" />\r
-    <Compile Include="System.Web.Mvc\FileContentResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FilePathResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FileResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FileStreamResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FilterAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\FilterInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\FormCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\FormMethod.cs" />\r
-    <Compile Include="System.Web.Mvc\HandleErrorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HandleErrorInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\FormExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\InputExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\LinkExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\MvcForm.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\RenderPartialExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\SelectExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\TextAreaExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\ValidationExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\HtmlHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\HtmlHelper`1.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpAntiForgeryException.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpPostedFileBaseModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpUnauthorizedResult.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpVerbs.cs" />\r
-    <Compile Include="System.Web.Mvc\IActionFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\IAuthorizationFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IBuildManager.cs" />\r
-    <Compile Include="System.Web.Mvc\IController.cs" />\r
-    <Compile Include="System.Web.Mvc\IControllerFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\IExceptionFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\InputType.cs" />\r
-    <Compile Include="System.Web.Mvc\IResultFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\ITempDataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\IView.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewDataContainer.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewEngine.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\JavaScriptResult.cs" />\r
-    <Compile Include="System.Web.Mvc\JsonResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinderAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinderDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinders.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBindingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelError.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelErrorCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelState.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelStateDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\MultiSelectList.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcHttpHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcRouteHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\NameValueCollectionExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\NonActionAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\NullViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\OutputCacheAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ParameterBindingInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\ParameterDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\PartialViewResult.cs" />\r
-    <Compile Include="System.Web.Mvc\PathHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\ReaderWriterCache`2.cs" />\r
-    <Compile Include="System.Web.Mvc\RedirectResult.cs" />\r
-    <Compile Include="System.Web.Mvc\RedirectToRouteResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedControllerDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedParameterBindingInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedParameterDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\Resources\MvcResources.Designer.cs" />\r
-    <Compile Include="System.Web.Mvc\ResultExecutedContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ResultExecutingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteCollectionExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteValuesHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\SelectList.cs" />\r
-    <Compile Include="System.Web.Mvc\SelectListItem.cs" />\r
-    <Compile Include="System.Web.Mvc\SessionStateTempDataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\TagBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\TagRenderMode.cs" />\r
-    <Compile Include="System.Web.Mvc\TempDataDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\TypeHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\UrlHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\ValidateAntiForgeryTokenAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ValidateInputAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewDataDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewDataDictionary`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngineCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngineResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngines.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewMasterPage.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewMasterPage`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPage.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPage`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewResultBase.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewType.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTypeControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTypeParserFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControl.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControl`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControlControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\VirtualPathProviderViewEngine.cs" />\r
-    <Compile Include="System.Web.Mvc\WebFormView.cs" />\r
-    <Compile Include="System.Web.Mvc\WebFormViewEngine.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Routing\System.Web.Routing-net_2_0.csproj">\r
-      <Project>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</Project>\r
-      <Name>System.Web.Routing\System.Web.Routing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0.csproj">\r
-      <Project>{5B5CA61A-0901-40B5-B56A-D0A6E67DDA66}</Project>\r
-      <Name>System.Web.Extensions_1.0\System.Web.Extensions_1.0-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Mvc/Resources/MvcResources.resources">\r
-      <LogicalName>System.Web.Mvc.Resources.MvcResources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Mvc2/System.Web.Mvc2-net_2_0.csproj b/mcs/class/System.Web.Mvc2/System.Web.Mvc2-net_2_0.csproj
deleted file mode 100644 (file)
index 290c752..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E554A1B9-E387-4BEA-BF28-32455D018D07}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Mvc</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;MONO</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;MONO</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="GlobalSuppressions.cs" />\r
-    <Compile Include="Properties\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\AcceptVerbsAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionExecutedContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionExecutingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionFilterAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodDispatcher.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodDispatcherCache.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodSelector.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionMethodSelectorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionNameAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionNameSelectorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ActionSelector.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\AjaxExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\AjaxOptions.cs" />\r
-    <Compile Include="System.Web.Mvc\Ajax\InsertionMode.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxHelper`1.cs" />\r
-    <Compile Include="System.Web.Mvc\AjaxRequestExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryData.cs" />\r
-    <Compile Include="System.Web.Mvc\AntiForgeryDataSerializer.cs" />\r
-    <Compile Include="System.Web.Mvc\AreaHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\AreaRegistration.cs" />\r
-    <Compile Include="System.Web.Mvc\AreaRegistrationContext.cs" />\r
-    <Compile Include="System.Web.Mvc\AssociatedMetadataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\AssociatedValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\ActionDescriptorCreator.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncActionMethodSelector.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncControllerActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncManager.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncResultWrapper.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\AsyncVoid.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\BeginInvokeDelegate.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\EndInvokeDelegate.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\EndInvokeDelegate`1.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\IAsyncActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\IAsyncController.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\IAsyncManagerContainer.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\OperationCounter.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\ReflectedAsyncActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\ReflectedAsyncControllerDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\SimpleAsyncResult.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\SingleEntryGate.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\SynchronizationContextUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\SynchronousOperationException.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\Trigger.cs" />\r
-    <Compile Include="System.Web.Mvc\Async\TriggerListener.cs" />\r
-    <Compile Include="System.Web.Mvc\AsyncController.cs" />\r
-    <Compile Include="System.Web.Mvc\AsyncTimeoutAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\AuthorizationContext.cs" />\r
-    <Compile Include="System.Web.Mvc\AuthorizeAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\BindAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\BuildManagerWrapper.cs" />\r
-    <Compile Include="System.Web.Mvc\ByteArrayModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\ChildActionOnlyAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ClientDataTypeModelValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\ContentResult.cs" />\r
-    <Compile Include="System.Web.Mvc\Controller.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerBase.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerDescriptorCache.cs" />\r
-    <Compile Include="System.Web.Mvc\ControllerTypeCache.cs" />\r
-    <Compile Include="System.Web.Mvc\CustomModelBinderAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\DataAnnotationsModelMetadata.cs" />\r
-    <Compile Include="System.Web.Mvc\DataAnnotationsModelMetadataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\DataAnnotationsModelValidator.cs" />\r
-    <Compile Include="System.Web.Mvc\DataAnnotationsModelValidator`1.cs" />\r
-    <Compile Include="System.Web.Mvc\DataAnnotationsModelValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\DataErrorInfoModelValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultControllerFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\DefaultViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\DescriptorUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\DictionaryHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\DictionaryValueProvider`1.cs" />\r
-    <Compile Include="System.Web.Mvc\DynamicTypeGenerator.cs" />\r
-    <Compile Include="System.Web.Mvc\EmptyModelMetadataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\EmptyModelValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\EmptyResult.cs" />\r
-    <Compile Include="System.Web.Mvc\Error.cs" />\r
-    <Compile Include="System.Web.Mvc\ExceptionContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\BinaryExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\CachedExpressionCompiler.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\CompiledExpressionDelegate`2.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ConditionalExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ConstantExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ExpressionParser.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\FastTrack`2.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\HashCodeCombiner.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\MemberExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\MethodCallExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ParameterExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\ParserContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ExpressionUtil\UnaryExpressionFingerprint.cs" />\r
-    <Compile Include="System.Web.Mvc\FieldValidationMetadata.cs" />\r
-    <Compile Include="System.Web.Mvc\FileContentResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FilePathResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FileResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FileStreamResult.cs" />\r
-    <Compile Include="System.Web.Mvc\FilterAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\FilterInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\FormCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\FormContext.cs" />\r
-    <Compile Include="System.Web.Mvc\FormMethod.cs" />\r
-    <Compile Include="System.Web.Mvc\FormValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\FormValueProviderFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\HandleErrorAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HandleErrorInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\HiddenInputAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\ChildActionExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\DefaultDisplayTemplates.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\DefaultEditorTemplates.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\DisplayExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\DisplayTextExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\EditorExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\FormExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\InputExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\LabelExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\LinkExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\MvcForm.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\PartialExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\RenderPartialExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\SelectExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\TemplateHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\TextAreaExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\Html\ValidationExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\HtmlHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\HtmlHelper`1.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpAntiForgeryException.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpDeleteAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpFileCollectionValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpFileCollectionValueProviderFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpGetAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpHandlerUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpPostAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpPostedFileBaseModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpPutAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpRequestExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpUnauthorizedResult.cs" />\r
-    <Compile Include="System.Web.Mvc\HttpVerbs.cs" />\r
-    <Compile Include="System.Web.Mvc\IActionFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IActionInvoker.cs" />\r
-    <Compile Include="System.Web.Mvc\IAuthorizationFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IBuildManager.cs" />\r
-    <Compile Include="System.Web.Mvc\IController.cs" />\r
-    <Compile Include="System.Web.Mvc\IControllerFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\IExceptionFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\InputType.cs" />\r
-    <Compile Include="System.Web.Mvc\IResultFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\IRouteWithArea.cs" />\r
-    <Compile Include="System.Web.Mvc\ITempDataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\IValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\IView.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewDataContainer.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewEngine.cs" />\r
-    <Compile Include="System.Web.Mvc\IViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\JavaScriptResult.cs" />\r
-    <Compile Include="System.Web.Mvc\JsonRequestBehavior.cs" />\r
-    <Compile Include="System.Web.Mvc\JsonResult.cs" />\r
-    <Compile Include="System.Web.Mvc\LinqBinaryModelBinder.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinderAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinderDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBinders.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelBindingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelClientValidationRangeRule.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelClientValidationRegexRule.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelClientValidationRequiredRule.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelClientValidationRule.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelClientValidationStringLengthRule.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelError.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelErrorCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelMetadata.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelMetadataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelMetadataProviders.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelState.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelStateDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelValidationResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelValidator.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelValidatorProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelValidatorProviderCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ModelValidatorProviders.cs" />\r
-    <Compile Include="System.Web.Mvc\MultiSelectList.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcHtmlString.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcHttpHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\MvcRouteHandler.cs" />\r
-    <Compile Include="System.Web.Mvc\NameValueCollectionExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\NameValueCollectionValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\NoAsyncTimeoutAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\NonActionAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\NullViewLocationCache.cs" />\r
-    <Compile Include="System.Web.Mvc\OutputCacheAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ParameterBindingInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\ParameterDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ParameterInfoUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\PartialViewResult.cs" />\r
-    <Compile Include="System.Web.Mvc\PathHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\QueryStringValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\QueryStringValueProviderFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\RangeAttributeAdapter.cs" />\r
-    <Compile Include="System.Web.Mvc\ReaderWriterCache`2.cs" />\r
-    <Compile Include="System.Web.Mvc\RedirectResult.cs" />\r
-    <Compile Include="System.Web.Mvc\RedirectToRouteResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedActionDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedControllerDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedParameterBindingInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\ReflectedParameterDescriptor.cs" />\r
-    <Compile Include="System.Web.Mvc\RegularExpressionAttributeAdapter.cs" />\r
-    <Compile Include="System.Web.Mvc\RequiredAttributeAdapter.cs" />\r
-    <Compile Include="System.Web.Mvc\RequireHttpsAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\Resources\MvcResources.Designer.cs" />\r
-    <Compile Include="System.Web.Mvc\ResultExecutedContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ResultExecutingContext.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteCollectionExtensions.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteDataValueProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteDataValueProviderFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\RouteValuesHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\SelectList.cs" />\r
-    <Compile Include="System.Web.Mvc\SelectListItem.cs" />\r
-    <Compile Include="System.Web.Mvc\SessionStateTempDataProvider.cs" />\r
-    <Compile Include="System.Web.Mvc\StringLengthAttributeAdapter.cs" />\r
-    <Compile Include="System.Web.Mvc\TagBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\TagRenderMode.cs" />\r
-    <Compile Include="System.Web.Mvc\TempDataDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\TemplateInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\TryGetValueDelegate.cs" />\r
-    <Compile Include="System.Web.Mvc\TypeCacheSerializer.cs" />\r
-    <Compile Include="System.Web.Mvc\TypeCacheUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\TypeDescriptorHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\TypeHelpers.cs" />\r
-    <Compile Include="System.Web.Mvc\UrlHelper.cs" />\r
-    <Compile Include="System.Web.Mvc\UrlParameter.cs" />\r
-    <Compile Include="System.Web.Mvc\ValidateAntiForgeryTokenAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ValidateInputAttribute.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderFactories.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderFactory.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderFactoryCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ValueProviderUtil.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewContext.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewDataDictionary.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewDataDictionary`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewDataInfo.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngineCollection.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngineResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewEngines.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewMasterPage.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewMasterPage`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPage.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPage`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewResult.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewResultBase.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTemplateUserControl.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTemplateUserControl`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewType.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTypeControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewTypeParserFilter.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControl.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControl`1.cs" />\r
-    <Compile Include="System.Web.Mvc\ViewUserControlControlBuilder.cs" />\r
-    <Compile Include="System.Web.Mvc\VirtualPathProviderViewEngine.cs" />\r
-    <Compile Include="System.Web.Mvc\WebFormView.cs" />\r
-    <Compile Include="System.Web.Mvc\WebFormViewEngine.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Routing\System.Web.Routing-net_2_0.csproj">\r
-      <Project>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</Project>\r
-      <Name>System.Web.Routing\System.Web.Routing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Extensions\System.Web.Extensions-net_2_0.csproj">\r
-      <Project>{42527CAE-C932-4518-9CF7-F4ABB44510A5}</Project>\r
-      <Name>System.Web.Extensions\System.Web.Extensions-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0.csproj">\r
-      <Project>{F3112064-6311-48A9-992B-A68DD3C62133}</Project>\r
-      <Name>System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data.Linq\System.Data.Linq-net_2_0.csproj">\r
-      <Project>{286ED1A3-6AE6-4147-A43B-B3421681CC84}</Project>\r
-      <Name>System.Data.Linq\System.Data.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Mvc/Resources/MvcResources.resources">\r
-      <LogicalName>System.Web.Mvc.Resources.MvcResources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 01389b60424d2e67d32b068b8d56e67fa6416904..0e4e57ef46db89ffbbfbac3465d1d9c2af01cf64 100644 (file)
@@ -9,11 +9,6 @@ LIB_MCS_FLAGS = \
                /r:System.Web.dll \
                /r:System.Web.Abstractions.dll
 
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5 -d:SYSTEMCORE_DEP
-endif
-
 ifdef DEBUG
 LIB_MCS_FLAGS += -define:DEBUG
 endif
@@ -23,7 +18,7 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 EXTRA_DISTFILES =
 
 # This is a .NET 3.5+ assembly
-VALID_PROFILE := $(filter net_2_0 net_4_0 net_4_5, $(PROFILE))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Web.Routing.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.Web.Routing/System.Web.Routing-net_2_0.csproj b/mcs/class/System.Web.Routing/System.Web.Routing-net_2_0.csproj
deleted file mode 100644 (file)
index d2516c2..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Routing</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Routing\HttpMethodConstraint.cs" />\r
-    <Compile Include="System.Web.Routing\IRouteConstraint.cs" />\r
-    <Compile Include="System.Web.Routing\IRouteHandler.cs" />\r
-    <Compile Include="System.Web.Routing\PatternParser.cs" />\r
-    <Compile Include="System.Web.Routing\PatternToken.cs" />\r
-    <Compile Include="System.Web.Routing\PatternTokenType.cs" />\r
-    <Compile Include="System.Web.Routing\RequestContext.cs" />\r
-    <Compile Include="System.Web.Routing\Route.cs" />\r
-    <Compile Include="System.Web.Routing\RouteBase.cs" />\r
-    <Compile Include="System.Web.Routing\RouteCollection.cs" />\r
-    <Compile Include="System.Web.Routing\RouteData.cs" />\r
-    <Compile Include="System.Web.Routing\RouteDirection.cs" />\r
-    <Compile Include="System.Web.Routing\RouteTable.cs" />\r
-    <Compile Include="System.Web.Routing\RouteValueDictionary.cs" />\r
-    <Compile Include="System.Web.Routing\RouteValueDictionaryExtensions.cs" />\r
-    <Compile Include="System.Web.Routing\StopRoutingHandler.cs" />\r
-    <Compile Include="System.Web.Routing\UrlRoutingHandler.cs" />\r
-    <Compile Include="System.Web.Routing\UrlRoutingModule.cs" />\r
-    <Compile Include="System.Web.Routing\VirtualPathData.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Routing/System.Web.Routing-tests-net_2_0.csproj b/mcs/class/System.Web.Routing/System.Web.Routing-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 8be24aa..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{6E3E9325-A838-4063-B095-7C93F9F562BF}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web.Routing-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Routing_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Web.Routing\AssertExtensions.cs" />\r
-    <Compile Include="Test\System.Web.Routing\FakeHttpWorkerRequest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\HttpMethodConstraintTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\KnownResponseHeader.cs" />\r
-    <Compile Include="Test\System.Web.Routing\RequestContext.cs" />\r
-    <Compile Include="Test\System.Web.Routing\RouteCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\RouteDataTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\RouteTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\RouteValueDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\StopRoutingHandlerTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\TestStubTypes.cs" />\r
-    <Compile Include="Test\System.Web.Routing\UnknownResponseHeader.cs" />\r
-    <Compile Include="Test\System.Web.Routing\UrlRoutingHandlerTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\UrlRoutingModuleTest.cs" />\r
-    <Compile Include="Test\System.Web.Routing\VirtualPathDataTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Routing\System.Web.Routing-net_2_0.csproj">\r
-      <Project>{A9B310AD-FF67-49ED-8AC8-AAF1E4B05249}</Project>\r
-      <Name>System.Web.Routing\System.Web.Routing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Abstractions\System.Web.Abstractions-net_2_0.csproj">\r
-      <Project>{1665130D-E9DA-4325-A4C6-78ECF7187D5B}</Project>\r
-      <Name>System.Web.Abstractions\System.Web.Abstractions-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Services/System.Web.Services-net_2_0.csproj b/mcs/class/System.Web.Services/System.Web.Services-net_2_0.csproj
deleted file mode 100644 (file)
index 1f8dbee..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,649,169</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Services</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,649,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,649,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\DiagnosticsElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\PriorityGroup.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\ProtocolElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\ProtocolElementCollection.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\SoapEnvelopeProcessingElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\SoapExtensionTypeElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\SoapExtensionTypeElementCollection.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\TypeElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\TypeElementCollection.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\TypeTypeConverter.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WebServiceProtocols.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WebServicesConfigurationSectionHandler.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WebServicesSection.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WsdlHelpGeneratorElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WsiProfilesElement.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\WsiProfilesElementCollection.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\XmlFormatExtensionAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\XmlFormatExtensionPointAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Configuration\XmlFormatExtensionPrefixAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Description\BasicProfileChecker.cs" />\r
-    <Compile Include="System.Web.Services.Description\BasicProfileViolation.cs" />\r
-    <Compile Include="System.Web.Services.Description\BasicProfileViolationCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\BasicProfileViolationEnumerator.cs" />\r
-    <Compile Include="System.Web.Services.Description\Binding.cs" />\r
-    <Compile Include="System.Web.Services.Description\BindingCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ConformanceChecker.cs" />\r
-    <Compile Include="System.Web.Services.Description\DocumentableItem.cs" />\r
-    <Compile Include="System.Web.Services.Description\ExtensionManager.cs" />\r
-    <Compile Include="System.Web.Services.Description\FaultBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\FaultBindingCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpAddressBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpGetProtocolImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpGetProtocolReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpOperationBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpPostProtocolImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpPostProtocolReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpSimpleProtocolImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpSimpleProtocolReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpUrlEncodedBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\HttpUrlReplacementBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Import.cs" />\r
-    <Compile Include="System.Web.Services.Description\ImportCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\InputBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Message.cs" />\r
-    <Compile Include="System.Web.Services.Description\MessageBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\MessageCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\MessagePart.cs" />\r
-    <Compile Include="System.Web.Services.Description\MessagePartCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeContentBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeMultipartRelatedBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimePart.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimePartCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeTextBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeTextMatch.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeTextMatchCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\MimeXmlBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\NamedItem.cs" />\r
-    <Compile Include="System.Web.Services.Description\Operation.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationBindingCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationFault.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationFaultCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationFlow.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationInput.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationMessage.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationMessageCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\OperationOutput.cs" />\r
-    <Compile Include="System.Web.Services.Description\OutputBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Port.cs" />\r
-    <Compile Include="System.Web.Services.Description\PortCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\PortType.cs" />\r
-    <Compile Include="System.Web.Services.Description\PortTypeCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ProtocolImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\ProtocolReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\Service.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescription.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionBaseCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionFormatExtension.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionFormatExtensionCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionImportStyle.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionImportWarnings.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionSerializerBase.cs" />\r
-    <Compile Include="System.Web.Services.Description\ServiceDescriptionSerializerBase2.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12AddressBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12Binding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12BodyBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12FaultBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12HeaderBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\Soap12OperationBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapAddressBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapBindingStyle.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapBindingUse.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapBodyBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapExtensionImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapExtensionReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapFaultBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapHeaderBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapHeaderFaultBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapHttpTransportImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapOperationBinding.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapProtocolImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapProtocolReflector.cs" />\r
-    <Compile Include="System.Web.Services.Description\SoapTransportImporter.cs" />\r
-    <Compile Include="System.Web.Services.Description\Types.cs" />\r
-    <Compile Include="System.Web.Services.Description\WebReference.cs" />\r
-    <Compile Include="System.Web.Services.Description\WebReferenceCollection.cs" />\r
-    <Compile Include="System.Web.Services.Description\WebReferenceOptions.cs" />\r
-    <Compile Include="System.Web.Services.Description\WebReferenceOptionsSerializer.cs" />\r
-    <Compile Include="System.Web.Services.Description\WebServicesInteroperability.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\ContractReference.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\ContractSearchPattern.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryClientDocumentCollection.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryClientReferenceCollection.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryClientResult.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryClientResultCollection.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryDocument.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryDocumentLinksPattern.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryDocumentReference.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryDocumentSearchPattern.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryDocumentSerializer.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryExceptionDictionary.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryReference.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryReferenceCollection.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoveryRequestHandler.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DiscoverySearchPattern.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\DynamicDiscoveryDocument.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\ExcludePathInfo.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\SchemaReference.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\SoapBinding.cs" />\r
-    <Compile Include="System.Web.Services.Discovery\XmlSchemaSearchPattern.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\AnyReturnReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\Fault.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\Fault12.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\Fault12Serializer.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HtmlFormParameterReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HtmlFormParameterWriter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpGetClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpGetTypeStubInfo.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpMethodAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpPostClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpPostTypeStubInfo.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpSimpleClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpSimpleTypeStubInfo.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpSimpleWebServiceHandler.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpSoapWebServiceHandler.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\HttpWebClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\InvokeCompletedEventArgs.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\InvokeCompletedEventHandler.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\LogicalMethodInfo.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\LogicalMethodTypes.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MatchAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\Methods.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MimeFormatter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MimeParameterReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MimeParameterWriter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MimeReturnReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\MimeReturnWriter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\NopReturnReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\PatternMatcher.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\ServerProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\ServerProtocolFactory.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\ServerType.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\Soap12FaultCodes.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapClientMessage.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapDocumentationHandler.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapDocumentMethodAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapDocumentServiceAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapException.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapExtension.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapExtensionAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapFaultSubcode.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderCollection.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderDirection.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderException.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderHandling.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHeaderMapping.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapHttpClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapMessage.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapMessageStage.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapParameterStyle.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapProtocolVersion.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapRpcMethodAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapRpcServiceAttribute.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServerMessage.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServerMethod.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServerProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServerProtocolFactory.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServerType.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapServiceRoutingStyle.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\SoapUnknownHeader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\TextReturnReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\TypeStubManager.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\UrlEncodedParameterWriter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\UrlParameterReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\UrlParameterWriter.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\ValueCollectionParameterReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\WebClientAsyncResult.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\WebClientProtocol.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\WebServiceHandler.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\WebServiceHandlerFactory.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\WebServiceHelper.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\XmlReturnReader.cs" />\r
-    <Compile Include="System.Web.Services.Protocols\XmlReturnWriter.cs" />\r
-    <Compile Include="System.Web.Services\WebMethodAttribute.cs" />\r
-    <Compile Include="System.Web.Services\WebService.cs" />\r
-    <Compile Include="System.Web.Services\WebServiceAttribute.cs" />\r
-    <Compile Include="System.Web.Services\WebServiceBindingAttribute.cs" />\r
-    <Compile Include="System.Web.Services\WebServicesDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web.Services\WsiProfiles.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0.csproj">\r
-      <Project>{3AE1BF46-F9C5-4EC2-B95D-C9D9F21F4E08}</Project>\r
-      <Name>System.Web\System.Web-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1.xsd">\r
-      <LogicalName>wsdl-1.1.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1-soap.xsd">\r
-      <LogicalName>wsdl-1.1-soap.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Services.Description/web-reference.xsd">\r
-      <LogicalName>web-reference.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Web.Services/System.Web.Services-tests-net_2_0.csproj b/mcs/class/System.Web.Services/System.Web.Services-tests-net_2_0.csproj
deleted file mode 100644 (file)
index f9b607f..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{8844444A-6A2E-4E20-A4B1-4E0DCA02108E}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,649,169,618</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web.Services-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web.Services_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,649,169,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,649,169,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Web.Services.Configuration\DiagnosticsElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\ProtocolElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\SoapEnvelopeProcessingElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\SoapExtensionTypeElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\TypeElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\WsdlHelpGeneratorElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\WsiProfilesElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Configuration\XmlFormatExtensionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\BindingCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\DocumentableItemTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\OperationCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\OperationMessageCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\OperationMessageTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\PortTypeCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\PortTypeTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceDescriptionCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceDescriptionFormatExtensionCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceDescriptionImporterTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceDescriptionReflectorTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\ServiceDescriptionTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\SoapBodyBindingTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\SoapOperationBindingTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\TypesTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\WebReferenceOptionsTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\WebReferenceTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Description\WebServicesInteroperabilityTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Discovery\ContractReferenceTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Protocols\LogicalMethodInfoTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Protocols\SoapHttpClientProtocolTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Protocols\SoapServerTypeTest.cs" />\r
-    <Compile Include="Test\System.Web.Services.Protocols\SocketResponder.cs" />\r
-    <Compile Include="Test\System.Web.Services.Protocols\WebClientProtocolTest.cs" />\r
-    <Compile Include="Test\System.Web.Services\WebMethodAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.Services\WebServiceAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.Services\WebServiceTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0.csproj">\r
-      <Project>{3AE1BF46-F9C5-4EC2-B95D-C9D9F21F4E08}</Project>\r
-      <Name>System.Web\System.Web-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1.xsd">\r
-      <LogicalName>wsdl-1.1.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1-soap.xsd">\r
-      <LogicalName>wsdl-1.1-soap.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Services.Description/web-reference.xsd">\r
-      <LogicalName>web-reference.xsd</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index c11810f1f8a28f09ab17b70191dc1fb1100253e4..96933615aece403375317cc339a61039ca613d28 100644 (file)
@@ -255,6 +255,7 @@ LIB_MCS_FLAGS = \
        -r:System.Xml.dll               \
        -r:System.EnterpriseServices.dll \
        -r:System.Runtime.Serialization.Formatters.Soap \
+       -r:System.ComponentModel.DataAnnotations.dll \
        $(OTHER_LIB_MCS_FLAGS) \
        $(RESX_RES:%=/resource:%) \
        $(OTHER_RES:%=/resource:%)
@@ -271,10 +272,6 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -doc:$(test_lib:.dll=.xml) -nowarn:219,169,159
        $(foreach file,$(NUNIT_APP_CODE_FILES),$(shell echo $(file) | sed -e 's;\(.*\)/\(.*\);/resource:\1/\2,App_Code/\2 ;g')) \
        $(foreach file,$(NUNIT_APP_GLOBALRESOURCES_FILES),$(shell echo $(file) | sed -e 's;\(.*\)/\(.*\);/resource:\1/\2,App_GlobalResources/\2 ;g'))
 
-ifeq (net_2_0, $(PROFILE))
-TEST_MCS_FLAGS += -r:System.Web.Extensions.dll -d:TEST
-endif
-
 EXTRA_DISTFILES = \
        $(RESOURCE_FILES_4) \
        $(RESOURCE_FILES_2) \
@@ -447,4 +444,4 @@ ifneq ($(PROFILE),basic)
 csproj-local:
        $(MAKE) csproj-local intermediate=plainweb/
 endif
-endif
\ No newline at end of file
+endif
diff --git a/mcs/class/System.Web/System.Web-net_2_0.csproj b/mcs/class/System.Web/System.Web-net_2_0.csproj
deleted file mode 100644 (file)
index 56ba759..0000000
+++ /dev/null
@@ -1,1505 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{3AE1BF46-F9C5-4EC2-B95D-C9D9F21F4E08}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP;MONOWEB_DEP;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP;MONOWEB_DEP;SYSTEMCORE_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\corlib\System.Collections.Concurrent\SplitOrderedList.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ByteArrayFromResXHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\FileRefHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\InMemoryHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\NullRefHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXDataNode.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXDataNodeHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXFileRef.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXNullRef.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceReader.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceSet.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceWriter.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\SerializedFromResXHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\TypeConverterFromResXHandler.cs" />\r
-    <Compile Include="..\System.Design\System.Data.Design\TypedDataSetGenerator.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Caching\AggregateCacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\Cache.cs" />\r
-    <Compile Include="System.Web.Caching\CacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\CachedRawResponse.cs" />\r
-    <Compile Include="System.Web.Caching\CachedVaryBy.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItem.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemEnumerator.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemLRU.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriority.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriorityQueue.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriorityQueueDebug.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemRemovedCallback.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemRemovedReason.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemUpdateCallback.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemUpdateReason.cs" />\r
-    <Compile Include="System.Web.Caching\DatabaseNotEnabledForNotificationException.cs" />\r
-    <Compile Include="System.Web.Caching\InMemoryOutputCacheProvider.cs" />\r
-    <Compile Include="System.Web.Caching\OutputCacheModule.cs" />\r
-    <Compile Include="System.Web.Caching\OutputCacheProvider.cs" />\r
-    <Compile Include="System.Web.Caching\SqlCacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\SqlCacheDependencyAdmin.cs" />\r
-    <Compile Include="System.Web.Caching\TableNotEnabledForNotificationException.cs" />\r
-    <Compile Include="System.Web.Compilation\AppCodeCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ApplicationFileBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourceFileInfo.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourceFilesCollection.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourcesAssemblyBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourcesCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\AppSettingsExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\AppWebReferencesCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\AspComponent.cs" />\r
-    <Compile Include="System.Web.Compilation\AspComponentFoundry.cs" />\r
-    <Compile Include="System.Web.Compilation\AspGenerator.cs" />\r
-    <Compile Include="System.Web.Compilation\AspParser.cs" />\r
-    <Compile Include="System.Web.Compilation\AspTokenizer.cs" />\r
-    <Compile Include="System.Web.Compilation\AssemblyBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\BaseCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildDependencySet.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManager.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerCacheItem.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerDirectoryBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHost.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventArgs.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventHandler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerRemoveEntryEventHandler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderAppliesTo.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderAppliesToAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderGroup.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderResultFlags.cs" />\r
-    <Compile Include="System.Web.Compilation\CachingCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManager.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManagerCallback.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManagerParameter.cs" />\r
-    <Compile Include="System.Web.Compilation\CompilationException.cs" />\r
-    <Compile Include="System.Web.Compilation\CompilerType.cs" />\r
-    <Compile Include="System.Web.Compilation\ConnectionStringsExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\DefaultResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\DefaultResourceProviderFactory.cs" />\r
-    <Compile Include="System.Web.Compilation\DesignTimeResourceProviderFactoryAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\Directive.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionBuilderContext.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionEditorAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionPrefixAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\ForceCopyBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\GenericBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\GlobalAsaxCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\IAssemblyPostProcessor.cs" />\r
-    <Compile Include="System.Web.Compilation\IgnoreFileBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\IImplicitResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\ILocation.cs" />\r
-    <Compile Include="System.Web.Compilation\ImplicitResourceKey.cs" />\r
-    <Compile Include="System.Web.Compilation\IResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\LinePragmaCodeInfo.cs" />\r
-    <Compile Include="System.Web.Compilation\Location.cs" />\r
-    <Compile Include="System.Web.Compilation\MasterPageBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\MasterPageCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\PageBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\PageCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\PageThemeCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ParseException.cs" />\r
-    <Compile Include="System.Web.Compilation\PrecompilationFlags.cs" />\r
-    <Compile Include="System.Web.Compilation\PreservationFile.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceExpressionFields.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceProviderFactory.cs" />\r
-    <Compile Include="System.Web.Compilation\SimpleBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\TagAttributes.cs" />\r
-    <Compile Include="System.Web.Compilation\TagType.cs" />\r
-    <Compile Include="System.Web.Compilation\TemplateBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\TemplateControlCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ThemeDirectoryBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\ThemeDirectoryCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\UserControlBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\UserControlCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\WebHandlerBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\WebServiceBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\WebServiceCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\WsdlBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\XsdBuildProvider.cs" />\r
-    <Compile Include="System.Web.Configuration.Internal\IInternalConfigWebHost.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AdapterDictionary.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AnonymousIdentificationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ApplicationSettingsConfigurationFileMap.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AssemblyCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthenticationMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthenticationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRule.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BufferModesCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BufferModeSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BuildProvider.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BuildProviderCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CacheSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CapabilitiesBuild.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CapabilitiesResult.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTarget.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTargetCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTargetSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectoriesCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectory.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CompilationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\Compiler.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CompilerCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomError.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsRedirectMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\DeploymentSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\EventMappingSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\EventMappingSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilderCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationConfiguration.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationCredentials.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUser.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUserCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthPasswordFormat.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsProtectionEnum.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\GlobalizationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HandlersUtil.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HealthMonitoringSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HostingEnvironmentSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesBase.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationContext.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationSystem.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpCookiesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlerAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlerActionCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlersSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModuleAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModuleActionCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModulesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpRuntimeSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ICapabilitiesProcess.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IConfigMapPath.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IConfigMapPathFactory.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IdentitySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IRemoteWebConfigurationHostServer.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\LowerCaseStringConverter.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\LruCache.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidation.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidationConverter.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MembershipSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MonoSettingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NamespaceCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NamespaceInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Build.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Exception.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\File.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Identification.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Node.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\NodeTypes.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Result.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NullableStringValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfile.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfileCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheSettingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PagesEnableSessionState.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PagesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PassportAuthentication.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PositiveTimeSpanValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelComAuthenticationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelComImpersonationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelLogLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertyNameValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PropertyHelper.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProvidersHelper.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RegexWorker.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RoleManagerSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RootProfilePropertySettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RuleSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RuleSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SecurityPolicySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SerializationMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SessionPageStateSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SessionStateSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SiteMapSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabase.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabaseCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SystemWebCachingSectionGroup.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SystemWebSectionGroup.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagMapCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagMapInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagPrefixCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagPrefixInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TraceDisplayMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TraceSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TransformerInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TransformerInfoCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustLevelCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMapping.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMappingCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMappingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMapping.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMappingCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebApplicationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationFileMap.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationHost.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationManager.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebContext.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebControlsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalization.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalizationAuthorization.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceSection.cs" />\r
-    <Compile Include="System.Web.Handlers\AssemblyResourceLoader.cs" />\r
-    <Compile Include="System.Web.Handlers\TraceHandler.cs" />\r
-    <Compile Include="System.Web.Hosting\AppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationInfo.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationManager.cs" />\r
-    <Compile Include="System.Web.Hosting\AppManagerAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\BareApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualDirectory.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualFile.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualPathProvider.cs" />\r
-    <Compile Include="System.Web.Hosting\HostingEnvironment.cs" />\r
-    <Compile Include="System.Web.Hosting\IAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\IApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\IAppManagerAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\IISAPIRuntime.cs" />\r
-    <Compile Include="System.Web.Hosting\IRegisteredObject.cs" />\r
-    <Compile Include="System.Web.Hosting\ISAPIRuntime.cs" />\r
-    <Compile Include="System.Web.Hosting\SimpleWorkerRequest.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualDirectory.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualFile.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualFileBase.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualPathProvider.cs" />\r
-    <Compile Include="System.Web.Mail\Base64AttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Mail\IAttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Mail\MailAddress.cs" />\r
-    <Compile Include="System.Web.Mail\MailAddressCollection.cs" />\r
-    <Compile Include="System.Web.Mail\MailAttachment.cs" />\r
-    <Compile Include="System.Web.Mail\MailEncoding.cs" />\r
-    <Compile Include="System.Web.Mail\MailFormat.cs" />\r
-    <Compile Include="System.Web.Mail\MailHeader.cs" />\r
-    <Compile Include="System.Web.Mail\MailMessage.cs" />\r
-    <Compile Include="System.Web.Mail\MailMessageWrapper.cs" />\r
-    <Compile Include="System.Web.Mail\MailPriority.cs" />\r
-    <Compile Include="System.Web.Mail\MailUtil.cs" />\r
-    <Compile Include="System.Web.Mail\RelatedBodyPart.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpClient.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpException.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpMail.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpResponse.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpStream.cs" />\r
-    <Compile Include="System.Web.Mail\ToUUEncodingTransform.cs" />\r
-    <Compile Include="System.Web.Mail\UUAttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Management\EventNotificationType.cs" />\r
-    <Compile Include="System.Web.Management\IRegiisUtility.cs" />\r
-    <Compile Include="System.Web.Management\IWebEventCustomEvaluator.cs" />\r
-    <Compile Include="System.Web.Management\RuleFiringRecord.cs" />\r
-    <Compile Include="System.Web.Management\SessionStateType.cs" />\r
-    <Compile Include="System.Web.Management\SqlFeatures.cs" />\r
-    <Compile Include="System.Web.Management\WebApplicationInformation.cs" />\r
-    <Compile Include="System.Web.Management\WebBaseEvent.cs" />\r
-    <Compile Include="System.Web.Management\WebEventCodes.cs" />\r
-    <Compile Include="System.Web.Management\WebEventFormatter.cs" />\r
-    <Compile Include="System.Web.Profile\CustomProviderDataAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\DefaultProfile.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAuthenticationOption.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAutoSaveEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAutoSaveEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileBase.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileGroupBase.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileInfo.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileInfoCollection.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileManager.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileMigrateEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileMigrateEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileModule.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileParser.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProvider.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProviderAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProviderCollection.cs" />\r
-    <Compile Include="System.Web.Profile\SettingsAllowAnonymousAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\SqliteProfileProvider.cs" />\r
-    <Compile Include="System.Web.Profile\SqlProfileProvider.cs" />\r
-    <Compile Include="System.Web.Properties\TranslationProperties.Designer.cs" />\r
-    <Compile Include="System.Web.Security\ActiveDirectoryConnectionProtection.cs" />\r
-    <Compile Include="System.Web.Security\ActiveDirectoryMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationModule.cs" />\r
-    <Compile Include="System.Web.Security\AspNetDBSchemaChecker.cs" />\r
-    <Compile Include="System.Web.Security\CookieProtection.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\FileAuthorizationModule.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthentication.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationTicket.cs" />\r
-    <Compile Include="System.Web.Security\FormsIdentity.cs" />\r
-    <Compile Include="System.Web.Security\Membership.cs" />\r
-    <Compile Include="System.Web.Security\MembershipCreateStatus.cs" />\r
-    <Compile Include="System.Web.Security\MembershipCreateUserException.cs" />\r
-    <Compile Include="System.Web.Security\MembershipHelper.cs" />\r
-    <Compile Include="System.Web.Security\MembershipPasswordException.cs" />\r
-    <Compile Include="System.Web.Security\MembershipPasswordFormat.cs" />\r
-    <Compile Include="System.Web.Security\MembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\MembershipProviderCollection.cs" />\r
-    <Compile Include="System.Web.Security\MembershipUser.cs" />\r
-    <Compile Include="System.Web.Security\MembershipUserCollection.cs" />\r
-    <Compile Include="System.Web.Security\MembershipValidatePasswordEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\PassportIdentity.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerModule.cs" />\r
-    <Compile Include="System.Web.Security\RolePrincipal.cs" />\r
-    <Compile Include="System.Web.Security\RoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\RoleProviderCollection.cs" />\r
-    <Compile Include="System.Web.Security\Roles.cs" />\r
-    <Compile Include="System.Web.Security\SqliteMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqliteRoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqlMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqlRoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\UrlAuthorizationModule.cs" />\r
-    <Compile Include="System.Web.Security\ValidatePasswordEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\HttpSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\HttpSessionStateContainer.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IHttpSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IReadOnlySessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IRequiresSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\ISessionIDManager.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\ISessionStateItemCollection.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IStateRuntime.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\RemoteStateServer.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionId.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionIDManager.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionInProcHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionSQLServerHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateActions.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateItemCollection.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateItemExpireCallback.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateMode.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateModule.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateServerHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreData.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreProviderBase.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateUtility.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\StateRuntime.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\StateServerItem.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\ControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\PageAdapter.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\WmlPostFieldType.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlAnchor.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlContainerControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlEmptyTagControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlForm.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlGenericControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlHead.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlHeadBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlImage.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputCheckBox.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputFile.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputHidden.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputImage.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputPassword.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputRadioButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputReset.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputSubmit.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputText.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlLink.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlMeta.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlSelect.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlSelectBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTable.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCell.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCellCollection.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRow.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTextArea.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTitle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\DataBoundControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\HideDisabledControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\HierarchicalDataBoundControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\MenuAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\WebControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionConsumerCallback.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionInterfaceCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPointType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionProviderCallback.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConsumerConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPartCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ITrackingPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ITransformerConfigurationControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IVersioningPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebActionable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebEditable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartHttpHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartParameters.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\Part.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeState.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizableAttribute.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizationScope.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ProviderConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\TypeCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartExportMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartHelpMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartPageMenuMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerb.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AccessDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AccessDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdCreatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdCreatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdRotator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AssociatedControlConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AuthenticateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AuthenticateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoCompleteType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoGeneratedField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoGeneratedFieldProperties.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseCompareValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseDataList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseMenuRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BorderStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BoundColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BoundField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListDisplayMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Button.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonColumnType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonFieldBase.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Calendar.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CalendarDay.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CalendarSelectionMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ChangePassword.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBoxField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBoxList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ChildTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CircleHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CollectionDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompareValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompleteWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompositeControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompositeDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContainedTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Content.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentControlBuilderInternal.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolderBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlIDConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlPropertyNameConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CookieParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserWizard.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CustomValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataBoundControlMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlCellType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlCommands.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldHeaderCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlRowState.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlRowType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGrid.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridColumnCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPagerStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKey.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKeyArray.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKeyCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataSourceCacheManager.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayNameFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayRenderEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayRenderEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPagerRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DropDownList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EditCommandColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObject.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObjectsCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FileUpload.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FirstDayOfWeek.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontInfo.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontNamesConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontSize.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontUnit.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontUnitConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewModeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewModeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPagerRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridLines.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewEditEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewEditEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSortEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSortEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HiddenField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HierarchicalDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HorizontalAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HorizontalAlignConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpotCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpotMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLink.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IButtonControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ICallbackContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ICompositeControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Image.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMap.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMapEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMapEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IMenuRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IPersistedSelector.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IPostBackContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IRepeatInfoUser.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Label.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LabelControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LinkButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LinkButtonControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListSelectionMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Literal.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LiteralControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LiteralMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Localize.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Login.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginCancelEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginCancelEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginFailureAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginName.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginStatus.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginTextLayout.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LogoutAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailDefinition.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailMessageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailMessageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Menu.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemBinding.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemTemplateContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuTableRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MonthChangedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MonthChangedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MultiView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MultiViewControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\NextPrevFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Orientation.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagedDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerButtons.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerPosition.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerSettings.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Panel.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PanelStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Parameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ParameterCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PasswordRecovery.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PathDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PlaceHolder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PlaceHolderControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PolygonHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ProfileParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\QueryStringParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RadioButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RadioButtonList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RangeValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RectangleHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RegularExpressionValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Repeater.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatInfo.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatLayout.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RequiredFieldValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RoleGroup.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RoleGroupCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ScrollBars.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SelectedDatesCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ServerValidateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ServerValidateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SessionParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapHierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapPath.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapViewType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SortDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\StringArrayConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Style.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\StyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SubMenuStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SubMenuStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Substitution.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Table.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCaptionAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCellCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCellControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableFooterRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderScope.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableItemStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRowSection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableSectionStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TargetConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplateColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplatedWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplateField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBoxControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBoxMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TitleFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeBinding.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeSelectAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeTypes.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeViewImageSet.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Unit.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\UnitConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\UnitType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidatedControlConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationCompareOperator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationDataType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationSummary.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationSummaryDisplayMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidatorDisplay.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\VerticalAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\VerticalAlignConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\View.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ViewCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WebColorConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WebControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Wizard.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepBase.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Xml.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourceNodeDescriptor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourcePropertyDescriptor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalEnumerable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchyData.cs" />\r
-    <Compile Include="System.Web.UI\ApplicationFileParser.cs" />\r
-    <Compile Include="System.Web.UI\AttributeCollection.cs" />\r
-    <Compile Include="System.Web.UI\BaseParser.cs" />\r
-    <Compile Include="System.Web.UI\BasePartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\BaseTemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\BoundPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\BuilderPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\BuildMethod.cs" />\r
-    <Compile Include="System.Web.UI\BuildTemplateMethod.cs" />\r
-    <Compile Include="System.Web.UI\ChtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\ClientScriptManager.cs" />\r
-    <Compile Include="System.Web.UI\CodeBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CodeConstructType.cs" />\r
-    <Compile Include="System.Web.UI\CodeRenderBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CollectionBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CompilationMode.cs" />\r
-    <Compile Include="System.Web.UI\CompiledBindableTemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CompiledTemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\ComplexPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ConflictOptions.cs" />\r
-    <Compile Include="System.Web.UI\ConstructorNeedsTagAttribute.cs" />\r
-    <Compile Include="System.Web.UI\Control.cs" />\r
-    <Compile Include="System.Web.UI\ControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\ControlBuilderAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ControlCachePolicy.cs" />\r
-    <Compile Include="System.Web.UI\ControlCollection.cs" />\r
-    <Compile Include="System.Web.UI\ControlSkin.cs" />\r
-    <Compile Include="System.Web.UI\ControlSkinDelegate.cs" />\r
-    <Compile Include="System.Web.UI\ControlValuePropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\CssClassPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\CssStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI\DataBinder.cs" />\r
-    <Compile Include="System.Web.UI\DataBinding.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingBuilder.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingHandlerAttribute.cs" />\r
-    <Compile Include="System.Web.UI\DataBoundLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCacheDurationConverter.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCacheExpiry.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCapabilities.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceControl.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceOperation.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceSelectArguments.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceViewOperationCallback.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceViewSelectCallback.cs" />\r
-    <Compile Include="System.Web.UI\DesignerDataBoundLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\DesignTimeParseData.cs" />\r
-    <Compile Include="System.Web.UI\DesignTimeTemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\EmptyControlCollection.cs" />\r
-    <Compile Include="System.Web.UI\EventEntry.cs" />\r
-    <Compile Include="System.Web.UI\ExpressionBinding.cs" />\r
-    <Compile Include="System.Web.UI\ExpressionBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI\ExtractTemplateValuesMethod.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelControlBuilderAttribute.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelUserControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\FilterableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HiddenFieldPageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\HierarchicalDataSourceControl.cs" />\r
-    <Compile Include="System.Web.UI\HierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\Html32TextWriter.cs" />\r
-    <Compile Include="System.Web.UI\HtmlControlPersistableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterStyle.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterTag.cs" />\r
-    <Compile Include="System.Web.UI\IAttributeAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IAutoFieldGenerator.cs" />\r
-    <Compile Include="System.Web.UI\IBindableControl.cs" />\r
-    <Compile Include="System.Web.UI\IBindableTemplate.cs" />\r
-    <Compile Include="System.Web.UI\ICallbackEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\ICheckBoxControl.cs" />\r
-    <Compile Include="System.Web.UI\IControlBuilderAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDataBindingsAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDataItemContainer.cs" />\r
-    <Compile Include="System.Web.UI\IDataSource.cs" />\r
-    <Compile Include="System.Web.UI\IDataSourceViewSchemaAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDReferencePropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\IEditableTextControl.cs" />\r
-    <Compile Include="System.Web.UI\IExpressionsAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IFilterResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IgnoreUnknownContentAttribute.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchicalDataSource.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchicalEnumerable.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchyData.cs" />\r
-    <Compile Include="System.Web.UI\ImageClickEventArgs.cs" />\r
-    <Compile Include="System.Web.UI\ImageClickEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\INamingContainer.cs" />\r
-    <Compile Include="System.Web.UI\INavigateUIData.cs" />\r
-    <Compile Include="System.Web.UI\IndexedString.cs" />\r
-    <Compile Include="System.Web.UI\INonBindingContainer.cs" />\r
-    <Compile Include="System.Web.UI\IParserAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IPostBackDataHandler.cs" />\r
-    <Compile Include="System.Web.UI\IPostBackEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\IResourceUrlGenerator.cs" />\r
-    <Compile Include="System.Web.UI\IScriptManager.cs" />\r
-    <Compile Include="System.Web.UI\IStateFormatter.cs" />\r
-    <Compile Include="System.Web.UI\IStateManager.cs" />\r
-    <Compile Include="System.Web.UI\IStyleSheet.cs" />\r
-    <Compile Include="System.Web.UI\ITagNameToTypeMapper.cs" />\r
-    <Compile Include="System.Web.UI\ITemplate.cs" />\r
-    <Compile Include="System.Web.UI\ITextControl.cs" />\r
-    <Compile Include="System.Web.UI\IThemeResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IUrlResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IUserControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IUserControlTypeResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IValidator.cs" />\r
-    <Compile Include="System.Web.UI\KeyedList.cs" />\r
-    <Compile Include="System.Web.UI\KeyedListEnumerator.cs" />\r
-    <Compile Include="System.Web.UI\ListSourceHelper.cs" />\r
-    <Compile Include="System.Web.UI\LiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\LosFormatter.cs" />\r
-    <Compile Include="System.Web.UI\MainDirectiveAttribute.cs" />\r
-    <Compile Include="System.Web.UI\MasterPage.cs" />\r
-    <Compile Include="System.Web.UI\MasterPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\MasterPageParser.cs" />\r
-    <Compile Include="System.Web.UI\MinimizableAttributeTypeConverter.cs" />\r
-    <Compile Include="System.Web.UI\NonVisualControlAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ObjectConverter.cs" />\r
-    <Compile Include="System.Web.UI\ObjectPersistData.cs" />\r
-    <Compile Include="System.Web.UI\ObjectStateFormatter.cs" />\r
-    <Compile Include="System.Web.UI\ObjectTag.cs" />\r
-    <Compile Include="System.Web.UI\ObjectTagBuilder.cs" />\r
-    <Compile Include="System.Web.UI\OutputCacheLocation.cs" />\r
-    <Compile Include="System.Web.UI\OutputCacheParameters.cs" />\r
-    <Compile Include="System.Web.UI\Page.cs" />\r
-    <Compile Include="System.Web.UI\PageAsyncTask.cs" />\r
-    <Compile Include="System.Web.UI\PageHandlerFactory.cs" />\r
-    <Compile Include="System.Web.UI\PageLifeCycle.cs" />\r
-    <Compile Include="System.Web.UI\PageParser.cs" />\r
-    <Compile Include="System.Web.UI\PageParserFilter.cs" />\r
-    <Compile Include="System.Web.UI\PageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\PageTheme.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeBuilder.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeFileParser.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeParser.cs" />\r
-    <Compile Include="System.Web.UI\Pair.cs" />\r
-    <Compile Include="System.Web.UI\ParseChildrenAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PartialCachingAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\PersistChildrenAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PersistenceMode.cs" />\r
-    <Compile Include="System.Web.UI\PersistenceModeAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PostBackOptions.cs" />\r
-    <Compile Include="System.Web.UI\PropertyConverter.cs" />\r
-    <Compile Include="System.Web.UI\PropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ReadOnlyDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\RenderMethod.cs" />\r
-    <Compile Include="System.Web.UI\ResourceBasedLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\RootBuilder.cs" />\r
-    <Compile Include="System.Web.UI\SessionPageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\SimpleHandlerFactory.cs" />\r
-    <Compile Include="System.Web.UI\SimplePropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\SimpleWebHandlerParser.cs" />\r
-    <Compile Include="System.Web.UI\SkinBuilder.cs" />\r
-    <Compile Include="System.Web.UI\StateBag.cs" />\r
-    <Compile Include="System.Web.UI\StateItem.cs" />\r
-    <Compile Include="System.Web.UI\StateManagedCollection.cs" />\r
-    <Compile Include="System.Web.UI\StaticPartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\StringPropertyBuilder.cs" />\r
-    <Compile Include="System.Web.UI\SupportsEventValidationAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TagPrefixAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\TemplateContainerAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateContentType.cs" />\r
-    <Compile Include="System.Web.UI\TemplateControl.cs" />\r
-    <Compile Include="System.Web.UI\TemplateControlParser.cs" />\r
-    <Compile Include="System.Web.UI\TemplateInstance.cs" />\r
-    <Compile Include="System.Web.UI\TemplateInstanceAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\TemplatePropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ThemeableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ThemeProvider.cs" />\r
-    <Compile Include="System.Web.UI\ToolboxDataAttribute.cs" />\r
-    <Compile Include="System.Web.UI\Triplet.cs" />\r
-    <Compile Include="System.Web.UI\UnknownAttributeDescriptor.cs" />\r
-    <Compile Include="System.Web.UI\UrlPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\UrlTypes.cs" />\r
-    <Compile Include="System.Web.UI\UserControl.cs" />\r
-    <Compile Include="System.Web.UI\UserControlControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\UserControlParser.cs" />\r
-    <Compile Include="System.Web.UI\ValidationPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ValidatorCollection.cs" />\r
-    <Compile Include="System.Web.UI\VerificationAttribute.cs" />\r
-    <Compile Include="System.Web.UI\VerificationConditionalOperator.cs" />\r
-    <Compile Include="System.Web.UI\VerificationReportLevel.cs" />\r
-    <Compile Include="System.Web.UI\VerificationRule.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateEncryptionMode.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateException.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateModeByIdAttribute.cs" />\r
-    <Compile Include="System.Web.UI\VirtualReferenceType.cs" />\r
-    <Compile Include="System.Web.UI\WebHandlerParser.cs" />\r
-    <Compile Include="System.Web.UI\WebResourceAttribute.cs" />\r
-    <Compile Include="System.Web.UI\WebServiceParser.cs" />\r
-    <Compile Include="System.Web.UI\XhtmlMobileDocType.cs" />\r
-    <Compile Include="System.Web.UI\XhtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\XPathBinder.cs" />\r
-    <Compile Include="System.Web.Util\AltSerialization.cs" />\r
-    <Compile Include="System.Web.Util\DataSourceHelper.cs" />\r
-    <Compile Include="System.Web.Util\DataSourceResolver.cs" />\r
-    <Compile Include="System.Web.Util\FileUtils.cs" />\r
-    <Compile Include="System.Web.Util\Helpers.cs" />\r
-    <Compile Include="System.Web.Util\HttpEncoder.cs" />\r
-    <Compile Include="System.Web.Util\ICalls.cs" />\r
-    <Compile Include="System.Web.Util\IWebObjectFactory.cs" />\r
-    <Compile Include="System.Web.Util\IWebPropertyAccessor.cs" />\r
-    <Compile Include="System.Web.Util\MachineKeySectionUtils.cs" />\r
-    <Compile Include="System.Web.Util\RuntimeHelpers.cs" />\r
-    <Compile Include="System.Web.Util\SearchPattern.cs" />\r
-    <Compile Include="System.Web.Util\SecureHashCodeProvider.cs" />\r
-    <Compile Include="System.Web.Util\SerializationHelper.cs" />\r
-    <Compile Include="System.Web.Util\StrUtils.cs" />\r
-    <Compile Include="System.Web.Util\TimeUtil.cs" />\r
-    <Compile Include="System.Web.Util\TransactedCallback.cs" />\r
-    <Compile Include="System.Web.Util\Transactions.cs" />\r
-    <Compile Include="System.Web.Util\UrlUtils.cs" />\r
-    <Compile Include="System.Web.Util\WebEncoding.cs" />\r
-    <Compile Include="System.Web.Util\WebTrace.cs" />\r
-    <Compile Include="System.Web.Util\WorkItem.cs" />\r
-    <Compile Include="System.Web.Util\WorkItemCallback.cs" />\r
-    <Compile Include="System.Web\ApplicationShutdownReason.cs" />\r
-    <Compile Include="System.Web\BaseParamsCollection.cs" />\r
-    <Compile Include="System.Web\BeginEventHandler.cs" />\r
-    <Compile Include="System.Web\BrowserCapabilities.cs" />\r
-    <Compile Include="System.Web\CapabilitiesLoader.cs" />\r
-    <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
-    <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
-    <Compile Include="System.Web\EndEventHandler.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateType.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateValues.cs" />\r
-    <Compile Include="System.Web\HeadersCollection.cs" />\r
-    <Compile Include="System.Web\HtmlizedException.cs" />\r
-    <Compile Include="System.Web\HttpApplication.cs" />\r
-    <Compile Include="System.Web\HttpApplicationFactory.cs" />\r
-    <Compile Include="System.Web\HttpApplicationState.cs" />\r
-    <Compile Include="System.Web\HttpBrowserCapabilities.cs" />\r
-    <Compile Include="System.Web\HttpCacheability.cs" />\r
-    <Compile Include="System.Web\HttpCachePolicy.cs" />\r
-    <Compile Include="System.Web\HttpCacheRevalidation.cs" />\r
-    <Compile Include="System.Web\HttpCacheValidateHandler.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByContentEncodings.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByHeaders.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByParams.cs" />\r
-    <Compile Include="System.Web\HttpClientCertificate.cs" />\r
-    <Compile Include="System.Web\HttpCompileException.cs" />\r
-    <Compile Include="System.Web\HttpContext.cs" />\r
-    <Compile Include="System.Web\HttpCookie.cs" />\r
-    <Compile Include="System.Web\HttpCookieCollection.cs" />\r
-    <Compile Include="System.Web\HttpCookieMode.cs" />\r
-    <Compile Include="System.Web\HttpException.cs" />\r
-    <Compile Include="System.Web\HttpFileCollection.cs" />\r
-    <Compile Include="System.Web\HttpForbiddenHandler.cs" />\r
-    <Compile Include="System.Web\HttpHeaderCollection.cs" />\r
-    <Compile Include="System.Web\HttpMethodNotAllowedHandler.cs" />\r
-    <Compile Include="System.Web\HttpModuleCollection.cs" />\r
-    <Compile Include="System.Web\HttpNotFoundHandler.cs" />\r
-    <Compile Include="System.Web\HttpNotImplementedHandler.cs" />\r
-    <Compile Include="System.Web\HttpParamsCollection.cs" />\r
-    <Compile Include="System.Web\HttpParseException.cs" />\r
-    <Compile Include="System.Web\HttpPostedFile.cs" />\r
-    <Compile Include="System.Web\HttpRequest.cs" />\r
-    <Compile Include="System.Web\HttpRequestValidationException.cs" />\r
-    <Compile Include="System.Web\HttpResponse.cs" />\r
-    <Compile Include="System.Web\HttpResponseHeader.cs" />\r
-    <Compile Include="System.Web\HttpResponseStream.cs" />\r
-    <Compile Include="System.Web\HttpResponseSubstitutionCallback.cs" />\r
-    <Compile Include="System.Web\HttpRuntime.cs" />\r
-    <Compile Include="System.Web\HttpServerUtility.cs" />\r
-    <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
-    <Compile Include="System.Web\HttpUnhandledException.cs" />\r
-    <Compile Include="System.Web\HttpUtility.cs" />\r
-    <Compile Include="System.Web\HttpValidationStatus.cs" />\r
-    <Compile Include="System.Web\HttpWorkerRequest.cs" />\r
-    <Compile Include="System.Web\HttpWriter.cs" />\r
-    <Compile Include="System.Web\IHttpAsyncHandler.cs" />\r
-    <Compile Include="System.Web\IHttpHandler.cs" />\r
-    <Compile Include="System.Web\IHttpHandlerFactory.cs" />\r
-    <Compile Include="System.Web\IHttpMapPath.cs" />\r
-    <Compile Include="System.Web\IHttpModule.cs" />\r
-    <Compile Include="System.Web\IisTraceListener.cs" />\r
-    <Compile Include="System.Web\InputFilterStream.cs" />\r
-    <Compile Include="System.Web\IntPtrStream.cs" />\r
-    <Compile Include="System.Web\IPartitionResolver.cs" />\r
-    <Compile Include="System.Web\MimeTypes.cs" />\r
-    <Compile Include="System.Web\NoParamsInvoker.cs" />\r
-    <Compile Include="System.Web\OutputFilterStream.cs" />\r
-    <Compile Include="System.Web\ParserError.cs" />\r
-    <Compile Include="System.Web\ParserErrorCollection.cs" />\r
-    <Compile Include="System.Web\ProcessInfo.cs" />\r
-    <Compile Include="System.Web\ProcessModelInfo.cs" />\r
-    <Compile Include="System.Web\ProcessShutdownReason.cs" />\r
-    <Compile Include="System.Web\ProcessStatus.cs" />\r
-    <Compile Include="System.Web\QueueManager.cs" />\r
-    <Compile Include="System.Web\RequestNotification.cs" />\r
-    <Compile Include="System.Web\RequestNotificationStatus.cs" />\r
-    <Compile Include="System.Web\ServerVariablesCollection.cs" />\r
-    <Compile Include="System.Web\SiteMap.cs" />\r
-    <Compile Include="System.Web\SiteMapNode.cs" />\r
-    <Compile Include="System.Web\SiteMapNodeCollection.cs" />\r
-    <Compile Include="System.Web\SiteMapProvider.cs" />\r
-    <Compile Include="System.Web\SiteMapProviderCollection.cs" />\r
-    <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
-    <Compile Include="System.Web\StaticFileHandler.cs" />\r
-    <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
-    <Compile Include="System.Web\TempFileStream.cs" />\r
-    <Compile Include="System.Web\TraceContext.cs" />\r
-    <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
-    <Compile Include="System.Web\TraceContextEventHandler.cs" />\r
-    <Compile Include="System.Web\TraceContextRecord.cs" />\r
-    <Compile Include="System.Web\TraceData.cs" />\r
-    <Compile Include="System.Web\TraceManager.cs" />\r
-    <Compile Include="System.Web\TraceMode.cs" />\r
-    <Compile Include="System.Web\VirtualPath.cs" />\r
-    <Compile Include="System.Web\VirtualPathUtility.cs" />\r
-    <Compile Include="System.Web\WebCategoryAttribute.cs" />\r
-    <Compile Include="System.Web\WebPageTraceListener.cs" />\r
-    <Compile Include="System.Web\WebROCollection.cs" />\r
-    <Compile Include="System.Web\WebSysDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web\XmlSiteMapProvider.cs" />\r
-    <Compile Include="System.Web\UplevelHelper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0.csproj">\r
-      <Project>{7B3F5668-ED1F-48EB-9897-E6BE6A1C8CB3}</Project>\r
-      <Name>Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Web.Services.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Web.Services.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/TranslationResources.resources">\r
-      <LogicalName>TranslationResources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation.js">\r
-      <LogicalName>WebUIValidation.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder.gif">\r
-      <LogicalName>folder.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/file.gif">\r
-      <LogicalName>file.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/computer.gif">\r
-      <LogicalName>computer.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_minus.gif">\r
-      <LogicalName>arrow_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_noexpand.gif">\r
-      <LogicalName>arrow_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_plus.gif">\r
-      <LogicalName>arrow_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_up.gif">\r
-      <LogicalName>arrow_up.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_down.gif">\r
-      <LogicalName>arrow_down.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_full.gif">\r
-      <LogicalName>box_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_empty.gif">\r
-      <LogicalName>box_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_minus.gif">\r
-      <LogicalName>box_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_noexpand.gif">\r
-      <LogicalName>box_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_plus.gif">\r
-      <LogicalName>box_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/contact.gif">\r
-      <LogicalName>contact.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_empty.gif">\r
-      <LogicalName>dot_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_full.gif">\r
-      <LogicalName>dot_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dots.gif">\r
-      <LogicalName>dots.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/inbox.gif">\r
-      <LogicalName>inbox.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_empty.gif">\r
-      <LogicalName>star_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_full.gif">\r
-      <LogicalName>star_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/warning.gif">\r
-      <LogicalName>warning.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_noexpand.gif">\r
-      <LogicalName>TreeView_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dash.gif">\r
-      <LogicalName>TreeView_dash.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashminus.gif">\r
-      <LogicalName>TreeView_dashminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashplus.gif">\r
-      <LogicalName>TreeView_dashplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_i.gif">\r
-      <LogicalName>TreeView_i.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_l.gif">\r
-      <LogicalName>TreeView_l.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lminus.gif">\r
-      <LogicalName>TreeView_lminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lplus.gif">\r
-      <LogicalName>TreeView_lplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_minus.gif">\r
-      <LogicalName>TreeView_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_plus.gif">\r
-      <LogicalName>TreeView_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_r.gif">\r
-      <LogicalName>TreeView_r.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rminus.gif">\r
-      <LogicalName>TreeView_rminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rplus.gif">\r
-      <LogicalName>TreeView_rplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_t.gif">\r
-      <LogicalName>TreeView_t.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tminus.gif">\r
-      <LogicalName>TreeView_tminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tplus.gif">\r
-      <LogicalName>TreeView_tplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/transparent.gif">\r
-      <LogicalName>transparent.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/webform.js">\r
-      <LogicalName>webform.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation_2.0.js">\r
-      <LogicalName>WebUIValidation_2.0.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Top.html">\r
-      <LogicalName>ErrorTemplateCommon_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_CustomErrorDefault.html">\r
-      <LogicalName>DefaultErrorTemplate_CustomErrorDefault.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Bottom.html">\r
-      <LogicalName>ErrorTemplateCommon_Bottom.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_StandardPage.html">\r
-      <LogicalName>DefaultErrorTemplate_StandardPage.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_Top.html">\r
-      <LogicalName>HtmlizedExceptionPage_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileLongSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileLongSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileShortSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileShortSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_CompilerOutput.html">\r
-      <LogicalName>HtmlizedExceptionPage_CompilerOutput.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/GridView.js">\r
-      <LogicalName>GridView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/DetailsView.js">\r
-      <LogicalName>DetailsView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/TreeView.js">\r
-      <LogicalName>TreeView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/Menu.js">\r
-      <LogicalName>Menu.js</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 186581616b89908966da650eaaad8ec7960c37d1..0c32f1576479342a44fe1f050644ca62dcdee063 100644 (file)
     <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
     <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
     <Compile Include="System.Web\EndEventHandler.cs" />\r
+    <Compile Include="System.Web\EventHandlerTaskAsyncHelper.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
     <Compile Include="System.Web\HttpRuntime.cs" />\r
     <Compile Include="System.Web\HttpServerUtility.cs" />\r
     <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
+    <Compile Include="System.Web\HttpTaskAsyncHandler.cs" />\r
     <Compile Include="System.Web\HttpUnhandledException.cs" />\r
     <Compile Include="System.Web\HttpUtility.cs" />\r
     <Compile Include="System.Web\HttpValidationStatus.cs" />\r
     <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
     <Compile Include="System.Web\StaticFileHandler.cs" />\r
     <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\TaskAsyncResult.cs" />\r
+    <Compile Include="System.Web\TaskEventHandler.cs" />\r
     <Compile Include="System.Web\TempFileStream.cs" />\r
     <Compile Include="System.Web\TraceContext.cs" />\r
     <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
diff --git a/mcs/class/System.Web/System.Web-plainweb-net_2_0.csproj b/mcs/class/System.Web/System.Web-plainweb-net_2_0.csproj
deleted file mode 100644 (file)
index ff2009e..0000000
+++ /dev/null
@@ -1,1504 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{2F43657C-B73B-44FF-B548-6734C967AA94}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/plainweb</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,612,618,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\corlib\System.Collections.Concurrent\SplitOrderedList.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ByteArrayFromResXHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\FileRefHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\InMemoryHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\NullRefHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXDataNode.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXDataNodeHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXFileRef.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXNullRef.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceReader.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceSet.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\ResXResourceWriter.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\SerializedFromResXHandler.cs" />\r
-    <Compile Include="..\Managed.Windows.Forms\System.Resources\TypeConverterFromResXHandler.cs" />\r
-    <Compile Include="..\System.Design\System.Data.Design\TypedDataSetGenerator.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Caching\AggregateCacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\Cache.cs" />\r
-    <Compile Include="System.Web.Caching\CacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\CachedRawResponse.cs" />\r
-    <Compile Include="System.Web.Caching\CachedVaryBy.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItem.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemEnumerator.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemLRU.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriority.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriorityQueue.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemPriorityQueueDebug.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemRemovedCallback.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemRemovedReason.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemUpdateCallback.cs" />\r
-    <Compile Include="System.Web.Caching\CacheItemUpdateReason.cs" />\r
-    <Compile Include="System.Web.Caching\DatabaseNotEnabledForNotificationException.cs" />\r
-    <Compile Include="System.Web.Caching\InMemoryOutputCacheProvider.cs" />\r
-    <Compile Include="System.Web.Caching\OutputCacheModule.cs" />\r
-    <Compile Include="System.Web.Caching\OutputCacheProvider.cs" />\r
-    <Compile Include="System.Web.Caching\SqlCacheDependency.cs" />\r
-    <Compile Include="System.Web.Caching\SqlCacheDependencyAdmin.cs" />\r
-    <Compile Include="System.Web.Caching\TableNotEnabledForNotificationException.cs" />\r
-    <Compile Include="System.Web.Compilation\AppCodeCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ApplicationFileBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourceFileInfo.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourceFilesCollection.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourcesAssemblyBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\AppResourcesCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\AppSettingsExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\AppWebReferencesCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\AspComponent.cs" />\r
-    <Compile Include="System.Web.Compilation\AspComponentFoundry.cs" />\r
-    <Compile Include="System.Web.Compilation\AspGenerator.cs" />\r
-    <Compile Include="System.Web.Compilation\AspParser.cs" />\r
-    <Compile Include="System.Web.Compilation\AspTokenizer.cs" />\r
-    <Compile Include="System.Web.Compilation\AssemblyBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\BaseCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildDependencySet.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManager.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerCacheItem.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerDirectoryBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHost.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventArgs.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventHandler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildManagerRemoveEntryEventHandler.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderAppliesTo.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderAppliesToAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderGroup.cs" />\r
-    <Compile Include="System.Web.Compilation\BuildProviderResultFlags.cs" />\r
-    <Compile Include="System.Web.Compilation\CachingCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManager.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManagerCallback.cs" />\r
-    <Compile Include="System.Web.Compilation\ClientBuildManagerParameter.cs" />\r
-    <Compile Include="System.Web.Compilation\CompilationException.cs" />\r
-    <Compile Include="System.Web.Compilation\CompilerType.cs" />\r
-    <Compile Include="System.Web.Compilation\ConnectionStringsExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\DefaultResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\DefaultResourceProviderFactory.cs" />\r
-    <Compile Include="System.Web.Compilation\DesignTimeResourceProviderFactoryAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\Directive.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionBuilderContext.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionEditorAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\ExpressionPrefixAttribute.cs" />\r
-    <Compile Include="System.Web.Compilation\ForceCopyBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\GenericBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\GlobalAsaxCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\IAssemblyPostProcessor.cs" />\r
-    <Compile Include="System.Web.Compilation\IgnoreFileBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\IImplicitResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\ILocation.cs" />\r
-    <Compile Include="System.Web.Compilation\ImplicitResourceKey.cs" />\r
-    <Compile Include="System.Web.Compilation\IResourceProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\LinePragmaCodeInfo.cs" />\r
-    <Compile Include="System.Web.Compilation\Location.cs" />\r
-    <Compile Include="System.Web.Compilation\MasterPageBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\MasterPageCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\PageBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\PageCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\PageThemeCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ParseException.cs" />\r
-    <Compile Include="System.Web.Compilation\PrecompilationFlags.cs" />\r
-    <Compile Include="System.Web.Compilation\PreservationFile.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceExpressionFields.cs" />\r
-    <Compile Include="System.Web.Compilation\ResourceProviderFactory.cs" />\r
-    <Compile Include="System.Web.Compilation\SimpleBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\TagAttributes.cs" />\r
-    <Compile Include="System.Web.Compilation\TagType.cs" />\r
-    <Compile Include="System.Web.Compilation\TemplateBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\TemplateControlCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\ThemeDirectoryBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\ThemeDirectoryCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\UserControlBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\UserControlCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\WebHandlerBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\WebServiceBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\WebServiceCompiler.cs" />\r
-    <Compile Include="System.Web.Compilation\WsdlBuildProvider.cs" />\r
-    <Compile Include="System.Web.Compilation\XsdBuildProvider.cs" />\r
-    <Compile Include="System.Web.Configuration.Internal\IInternalConfigWebHost.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AdapterDictionary.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AnonymousIdentificationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ApplicationSettingsConfigurationFileMap.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AssemblyCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AssemblyInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthenticationMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthenticationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRule.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\AuthorizationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BufferModesCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BufferModeSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BuildProvider.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\BuildProviderCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CacheSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CapabilitiesBuild.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CapabilitiesResult.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTarget.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTargetCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ClientTargetSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectoriesCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectory.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CompilationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\Compiler.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CompilerCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomError.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsRedirectMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\CustomErrorsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\DeploymentSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\EventMappingSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\EventMappingSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilder.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilderCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationConfiguration.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationCredentials.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUser.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUserCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsAuthPasswordFormat.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\FormsProtectionEnum.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\GlobalizationSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HandlersUtil.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HealthMonitoringSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HostingEnvironmentSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesBase.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationContext.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationSystem.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpCookiesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlerAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlerActionCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpHandlersSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModuleAction.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModuleActionCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpModulesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\HttpRuntimeSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ICapabilitiesProcess.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IConfigMapPath.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IConfigMapPathFactory.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IdentitySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\IRemoteWebConfigurationHostServer.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\LowerCaseStringConverter.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\LruCache.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidation.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidationConverter.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MembershipSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\MonoSettingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NamespaceCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NamespaceInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Build.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Exception.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\File.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Identification.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Node.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\NodeTypes.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\nBrowser\Result.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\NullableStringValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfile.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfileCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\OutputCacheSettingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PagesEnableSessionState.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PagesSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PassportAuthentication.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PositiveTimeSpanValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelComAuthenticationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelComImpersonationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelLogLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProcessModelSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertyNameValidator.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProfileSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\PropertyHelper.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\ProvidersHelper.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RegexWorker.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RoleManagerSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RootProfilePropertySettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RuleSettings.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\RuleSettingsCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SecurityPolicySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SerializationMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SessionPageStateSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SessionStateSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SiteMapSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabase.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabaseCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencySection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SystemWebCachingSectionGroup.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\SystemWebSectionGroup.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagMapCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagMapInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagPrefixCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TagPrefixInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TraceDisplayMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TraceSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TransformerInfo.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TransformerInfoCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustLevelCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\TrustSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMapping.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMappingCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\UrlMappingsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMapping.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMappingCollection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebApplicationLevel.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationFileMap.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationHost.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebConfigurationManager.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebContext.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebControlsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalization.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalizationAuthorization.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\WebPartsSection.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceMode.cs" />\r
-    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceSection.cs" />\r
-    <Compile Include="System.Web.Handlers\AssemblyResourceLoader.cs" />\r
-    <Compile Include="System.Web.Handlers\TraceHandler.cs" />\r
-    <Compile Include="System.Web.Hosting\AppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationInfo.cs" />\r
-    <Compile Include="System.Web.Hosting\ApplicationManager.cs" />\r
-    <Compile Include="System.Web.Hosting\AppManagerAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\BareApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualDirectory.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualFile.cs" />\r
-    <Compile Include="System.Web.Hosting\DefaultVirtualPathProvider.cs" />\r
-    <Compile Include="System.Web.Hosting\HostingEnvironment.cs" />\r
-    <Compile Include="System.Web.Hosting\IAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\IApplicationHost.cs" />\r
-    <Compile Include="System.Web.Hosting\IAppManagerAppDomainFactory.cs" />\r
-    <Compile Include="System.Web.Hosting\IISAPIRuntime.cs" />\r
-    <Compile Include="System.Web.Hosting\IRegisteredObject.cs" />\r
-    <Compile Include="System.Web.Hosting\ISAPIRuntime.cs" />\r
-    <Compile Include="System.Web.Hosting\SimpleWorkerRequest.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualDirectory.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualFile.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualFileBase.cs" />\r
-    <Compile Include="System.Web.Hosting\VirtualPathProvider.cs" />\r
-    <Compile Include="System.Web.Mail\Base64AttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Mail\IAttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Mail\MailAddress.cs" />\r
-    <Compile Include="System.Web.Mail\MailAddressCollection.cs" />\r
-    <Compile Include="System.Web.Mail\MailAttachment.cs" />\r
-    <Compile Include="System.Web.Mail\MailEncoding.cs" />\r
-    <Compile Include="System.Web.Mail\MailFormat.cs" />\r
-    <Compile Include="System.Web.Mail\MailHeader.cs" />\r
-    <Compile Include="System.Web.Mail\MailMessage.cs" />\r
-    <Compile Include="System.Web.Mail\MailMessageWrapper.cs" />\r
-    <Compile Include="System.Web.Mail\MailPriority.cs" />\r
-    <Compile Include="System.Web.Mail\MailUtil.cs" />\r
-    <Compile Include="System.Web.Mail\RelatedBodyPart.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpClient.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpException.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpMail.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpResponse.cs" />\r
-    <Compile Include="System.Web.Mail\SmtpStream.cs" />\r
-    <Compile Include="System.Web.Mail\ToUUEncodingTransform.cs" />\r
-    <Compile Include="System.Web.Mail\UUAttachmentEncoder.cs" />\r
-    <Compile Include="System.Web.Management\EventNotificationType.cs" />\r
-    <Compile Include="System.Web.Management\IRegiisUtility.cs" />\r
-    <Compile Include="System.Web.Management\IWebEventCustomEvaluator.cs" />\r
-    <Compile Include="System.Web.Management\RuleFiringRecord.cs" />\r
-    <Compile Include="System.Web.Management\SessionStateType.cs" />\r
-    <Compile Include="System.Web.Management\SqlFeatures.cs" />\r
-    <Compile Include="System.Web.Management\WebApplicationInformation.cs" />\r
-    <Compile Include="System.Web.Management\WebBaseEvent.cs" />\r
-    <Compile Include="System.Web.Management\WebEventCodes.cs" />\r
-    <Compile Include="System.Web.Management\WebEventFormatter.cs" />\r
-    <Compile Include="System.Web.Profile\CustomProviderDataAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\DefaultProfile.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAuthenticationOption.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAutoSaveEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileAutoSaveEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileBase.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileGroupBase.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileInfo.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileInfoCollection.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileManager.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileMigrateEventArgs.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileMigrateEventHandler.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileModule.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileParser.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProvider.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProviderAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\ProfileProviderCollection.cs" />\r
-    <Compile Include="System.Web.Profile\SettingsAllowAnonymousAttribute.cs" />\r
-    <Compile Include="System.Web.Profile\SqliteProfileProvider.cs" />\r
-    <Compile Include="System.Web.Profile\SqlProfileProvider.cs" />\r
-    <Compile Include="System.Web.Properties\TranslationProperties.Designer.cs" />\r
-    <Compile Include="System.Web.Security\ActiveDirectoryConnectionProtection.cs" />\r
-    <Compile Include="System.Web.Security\ActiveDirectoryMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\AnonymousIdentificationModule.cs" />\r
-    <Compile Include="System.Web.Security\AspNetDBSchemaChecker.cs" />\r
-    <Compile Include="System.Web.Security\CookieProtection.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\DefaultAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\FileAuthorizationModule.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthentication.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\FormsAuthenticationTicket.cs" />\r
-    <Compile Include="System.Web.Security\FormsIdentity.cs" />\r
-    <Compile Include="System.Web.Security\Membership.cs" />\r
-    <Compile Include="System.Web.Security\MembershipCreateStatus.cs" />\r
-    <Compile Include="System.Web.Security\MembershipCreateUserException.cs" />\r
-    <Compile Include="System.Web.Security\MembershipHelper.cs" />\r
-    <Compile Include="System.Web.Security\MembershipPasswordException.cs" />\r
-    <Compile Include="System.Web.Security\MembershipPasswordFormat.cs" />\r
-    <Compile Include="System.Web.Security\MembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\MembershipProviderCollection.cs" />\r
-    <Compile Include="System.Web.Security\MembershipUser.cs" />\r
-    <Compile Include="System.Web.Security\MembershipUserCollection.cs" />\r
-    <Compile Include="System.Web.Security\MembershipValidatePasswordEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\PassportAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.Security\PassportIdentity.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\RoleManagerModule.cs" />\r
-    <Compile Include="System.Web.Security\RolePrincipal.cs" />\r
-    <Compile Include="System.Web.Security\RoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\RoleProviderCollection.cs" />\r
-    <Compile Include="System.Web.Security\Roles.cs" />\r
-    <Compile Include="System.Web.Security\SqliteMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqliteRoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqlMembershipProvider.cs" />\r
-    <Compile Include="System.Web.Security\SqlRoleProvider.cs" />\r
-    <Compile Include="System.Web.Security\UrlAuthorizationModule.cs" />\r
-    <Compile Include="System.Web.Security\ValidatePasswordEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationEventArgs.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationEventHandler.cs" />\r
-    <Compile Include="System.Web.Security\WindowsAuthenticationModule.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\HttpSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\HttpSessionStateContainer.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IHttpSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IReadOnlySessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IRequiresSessionState.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\ISessionIDManager.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\ISessionStateItemCollection.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\IStateRuntime.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\RemoteStateServer.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionId.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionIDManager.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionInProcHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionSQLServerHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateActions.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateItemCollection.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateItemExpireCallback.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateMode.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateModule.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateServerHandler.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreData.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreProviderBase.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\SessionStateUtility.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\StateRuntime.cs" />\r
-    <Compile Include="System.Web.SessionState_2.0\StateServerItem.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\ControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\PageAdapter.cs" />\r
-    <Compile Include="System.Web.UI.Adapters\WmlPostFieldType.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlAnchor.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlContainerControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlEmptyTagControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlForm.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlGenericControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlHead.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlHeadBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlImage.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputCheckBox.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputControl.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputFile.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputHidden.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputImage.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputPassword.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputRadioButton.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputReset.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputSubmit.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlInputText.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlLink.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlMeta.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlSelect.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlSelectBuilder.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTable.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCell.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCellCollection.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRow.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTextArea.cs" />\r
-    <Compile Include="System.Web.UI.HtmlControls\HtmlTitle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\DataBoundControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\HideDisabledControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\HierarchicalDataBoundControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\MenuAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.Adapters\WebControlAdapter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionConsumerCallback.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionInterfaceCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPointType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionProviderCallback.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ConsumerConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPartCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ITrackingPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ITransformerConfigurationControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IVersioningPersonalizable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebActionable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebEditable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartHttpHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartParameters.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\Part.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeState.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizableAttribute.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizationScope.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\ProviderConnectionPoint.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\TypeCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPart.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartExportMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartHelpMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartPageMenuMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerb.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AccessDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AccessDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdCreatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdCreatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AdRotator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AssociatedControlConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AuthenticateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AuthenticateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoCompleteType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoGeneratedField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\AutoGeneratedFieldProperties.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseCompareValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseDataList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseMenuRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BaseValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BorderStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BoundColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BoundField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListDisplayMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletedListEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\BulletStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Button.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonColumnType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonFieldBase.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ButtonType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Calendar.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CalendarDay.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CalendarSelectionMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ChangePassword.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBoxField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CheckBoxList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ChildTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CircleHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CollectionDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CommandField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompareValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompleteWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompositeControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CompositeDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContainedTable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Content.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentControlBuilderInternal.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolderBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlIDConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ControlPropertyNameConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CookieParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserWizard.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CreateUserWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\CustomValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataBoundControlMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlCellType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlCommands.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlFieldHeaderCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlRowState.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataControlRowType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGrid.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridColumnCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridPagerStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKey.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKeyArray.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataKeyCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataListItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DataSourceCacheManager.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayNameFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayRenderEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DayRenderEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewPagerRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\DropDownList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EditCommandColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObject.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObjectsCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FileUpload.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FirstDayOfWeek.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontInfo.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontNamesConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontSize.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontUnit.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FontUnitConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewModeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewModeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewPagerRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridLines.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewEditEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewEditEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewPageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewPageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewRowEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSortEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewSortEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HiddenField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HierarchicalDataBoundControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HorizontalAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HorizontalAlignConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpotCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HotSpotMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLink.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\HyperLinkField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IButtonControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ICallbackContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ICompositeControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Image.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMap.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMapEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ImageMapEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IMenuRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IPersistedSelector.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IPostBackContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\IRepeatInfoUser.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Label.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LabelControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LinkButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LinkButtonControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListItemType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ListSelectionMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Literal.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LiteralControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LiteralMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Localize.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Login.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginCancelEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginCancelEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginFailureAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginName.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginStatus.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginTextLayout.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LoginView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\LogoutAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailDefinition.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailMessageEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MailMessageEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Menu.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemBinding.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuItemTemplateContainer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MenuTableRenderer.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MonthChangedEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MonthChangedEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MultiView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\MultiViewControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\NextPrevFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Orientation.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagedDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerButtons.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerPosition.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PagerSettings.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Panel.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PanelStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Parameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ParameterCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PasswordRecovery.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PathDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PlaceHolder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PlaceHolderControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\PolygonHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ProfileParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\QueryStringParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RadioButton.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RadioButtonList.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RangeValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RectangleHotSpot.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RegularExpressionValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Repeater.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatInfo.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RepeatLayout.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RequiredFieldValidator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RoleGroup.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\RoleGroupCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ScrollBars.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SelectedDatesCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ServerValidateEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ServerValidateEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SessionParameter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapHierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItem.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapPath.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SiteMapViewType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SortDirection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SqlDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\StringArrayConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Style.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\StyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SubMenuStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\SubMenuStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Substitution.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Table.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCaptionAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCellCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableCellControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableFooterRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderCell.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableHeaderScope.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableItemStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRow.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRowCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableRowSection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableSectionStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TableStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TargetConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplateColumn.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplatedWizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TemplateField.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBox.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBoxControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TextBoxMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TitleFormat.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeBinding.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeSelectAction.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeStyle.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeNodeTypes.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\TreeViewImageSet.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Unit.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\UnitConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\UnitType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidatedControlConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationCompareOperator.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationDataType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationSummary.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidationSummaryDisplayMode.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ValidatorDisplay.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\VerticalAlign.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\VerticalAlignConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\View.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\ViewCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WebColorConverter.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WebControl.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Wizard.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventArgs.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventHandler.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStep.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepBase.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepCollection.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\WizardStepType.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\Xml.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlBuilder.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSource.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourceNodeDescriptor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourcePropertyDescriptor.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalEnumerable.cs" />\r
-    <Compile Include="System.Web.UI.WebControls\XmlHierarchyData.cs" />\r
-    <Compile Include="System.Web.UI\ApplicationFileParser.cs" />\r
-    <Compile Include="System.Web.UI\AttributeCollection.cs" />\r
-    <Compile Include="System.Web.UI\BaseParser.cs" />\r
-    <Compile Include="System.Web.UI\BasePartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\BaseTemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\BoundPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\BuilderPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\BuildMethod.cs" />\r
-    <Compile Include="System.Web.UI\BuildTemplateMethod.cs" />\r
-    <Compile Include="System.Web.UI\ChtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\ClientScriptManager.cs" />\r
-    <Compile Include="System.Web.UI\CodeBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CodeConstructType.cs" />\r
-    <Compile Include="System.Web.UI\CodeRenderBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CollectionBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CompilationMode.cs" />\r
-    <Compile Include="System.Web.UI\CompiledBindableTemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\CompiledTemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\ComplexPropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ConflictOptions.cs" />\r
-    <Compile Include="System.Web.UI\ConstructorNeedsTagAttribute.cs" />\r
-    <Compile Include="System.Web.UI\Control.cs" />\r
-    <Compile Include="System.Web.UI\ControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\ControlBuilderAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ControlCachePolicy.cs" />\r
-    <Compile Include="System.Web.UI\ControlCollection.cs" />\r
-    <Compile Include="System.Web.UI\ControlSkin.cs" />\r
-    <Compile Include="System.Web.UI\ControlSkinDelegate.cs" />\r
-    <Compile Include="System.Web.UI\ControlValuePropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\CssClassPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\CssStyleCollection.cs" />\r
-    <Compile Include="System.Web.UI\DataBinder.cs" />\r
-    <Compile Include="System.Web.UI\DataBinding.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingBuilder.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI\DataBindingHandlerAttribute.cs" />\r
-    <Compile Include="System.Web.UI\DataBoundLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCacheDurationConverter.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCacheExpiry.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceCapabilities.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceControl.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceOperation.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceSelectArguments.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceViewOperationCallback.cs" />\r
-    <Compile Include="System.Web.UI\DataSourceViewSelectCallback.cs" />\r
-    <Compile Include="System.Web.UI\DesignerDataBoundLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\DesignTimeParseData.cs" />\r
-    <Compile Include="System.Web.UI\DesignTimeTemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\EmptyControlCollection.cs" />\r
-    <Compile Include="System.Web.UI\EventEntry.cs" />\r
-    <Compile Include="System.Web.UI\ExpressionBinding.cs" />\r
-    <Compile Include="System.Web.UI\ExpressionBindingCollection.cs" />\r
-    <Compile Include="System.Web.UI\ExtractTemplateValuesMethod.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelControlBuilderAttribute.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\FileLevelUserControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\FilterableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HiddenFieldPageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\HierarchicalDataSourceControl.cs" />\r
-    <Compile Include="System.Web.UI\HierarchicalDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\Html32TextWriter.cs" />\r
-    <Compile Include="System.Web.UI\HtmlControlPersistableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterAttribute.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterStyle.cs" />\r
-    <Compile Include="System.Web.UI\HtmlTextWriterTag.cs" />\r
-    <Compile Include="System.Web.UI\IAttributeAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IAutoFieldGenerator.cs" />\r
-    <Compile Include="System.Web.UI\IBindableControl.cs" />\r
-    <Compile Include="System.Web.UI\IBindableTemplate.cs" />\r
-    <Compile Include="System.Web.UI\ICallbackEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\ICheckBoxControl.cs" />\r
-    <Compile Include="System.Web.UI\IControlBuilderAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDataBindingsAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDataItemContainer.cs" />\r
-    <Compile Include="System.Web.UI\IDataSource.cs" />\r
-    <Compile Include="System.Web.UI\IDataSourceViewSchemaAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IDReferencePropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\IEditableTextControl.cs" />\r
-    <Compile Include="System.Web.UI\IExpressionsAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IFilterResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IgnoreUnknownContentAttribute.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchicalDataSource.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchicalEnumerable.cs" />\r
-    <Compile Include="System.Web.UI\IHierarchyData.cs" />\r
-    <Compile Include="System.Web.UI\ImageClickEventArgs.cs" />\r
-    <Compile Include="System.Web.UI\ImageClickEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\INamingContainer.cs" />\r
-    <Compile Include="System.Web.UI\INavigateUIData.cs" />\r
-    <Compile Include="System.Web.UI\IndexedString.cs" />\r
-    <Compile Include="System.Web.UI\INonBindingContainer.cs" />\r
-    <Compile Include="System.Web.UI\IParserAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IPostBackDataHandler.cs" />\r
-    <Compile Include="System.Web.UI\IPostBackEventHandler.cs" />\r
-    <Compile Include="System.Web.UI\IResourceUrlGenerator.cs" />\r
-    <Compile Include="System.Web.UI\IScriptManager.cs" />\r
-    <Compile Include="System.Web.UI\IStateFormatter.cs" />\r
-    <Compile Include="System.Web.UI\IStateManager.cs" />\r
-    <Compile Include="System.Web.UI\IStyleSheet.cs" />\r
-    <Compile Include="System.Web.UI\ITagNameToTypeMapper.cs" />\r
-    <Compile Include="System.Web.UI\ITemplate.cs" />\r
-    <Compile Include="System.Web.UI\ITextControl.cs" />\r
-    <Compile Include="System.Web.UI\IThemeResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IUrlResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IUserControlDesignerAccessor.cs" />\r
-    <Compile Include="System.Web.UI\IUserControlTypeResolutionService.cs" />\r
-    <Compile Include="System.Web.UI\IValidator.cs" />\r
-    <Compile Include="System.Web.UI\KeyedList.cs" />\r
-    <Compile Include="System.Web.UI\KeyedListEnumerator.cs" />\r
-    <Compile Include="System.Web.UI\ListSourceHelper.cs" />\r
-    <Compile Include="System.Web.UI\LiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\LosFormatter.cs" />\r
-    <Compile Include="System.Web.UI\MainDirectiveAttribute.cs" />\r
-    <Compile Include="System.Web.UI\MasterPage.cs" />\r
-    <Compile Include="System.Web.UI\MasterPageControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\MasterPageParser.cs" />\r
-    <Compile Include="System.Web.UI\MinimizableAttributeTypeConverter.cs" />\r
-    <Compile Include="System.Web.UI\NonVisualControlAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ObjectConverter.cs" />\r
-    <Compile Include="System.Web.UI\ObjectPersistData.cs" />\r
-    <Compile Include="System.Web.UI\ObjectStateFormatter.cs" />\r
-    <Compile Include="System.Web.UI\ObjectTag.cs" />\r
-    <Compile Include="System.Web.UI\ObjectTagBuilder.cs" />\r
-    <Compile Include="System.Web.UI\OutputCacheLocation.cs" />\r
-    <Compile Include="System.Web.UI\OutputCacheParameters.cs" />\r
-    <Compile Include="System.Web.UI\Page.cs" />\r
-    <Compile Include="System.Web.UI\PageAsyncTask.cs" />\r
-    <Compile Include="System.Web.UI\PageHandlerFactory.cs" />\r
-    <Compile Include="System.Web.UI\PageLifeCycle.cs" />\r
-    <Compile Include="System.Web.UI\PageParser.cs" />\r
-    <Compile Include="System.Web.UI\PageParserFilter.cs" />\r
-    <Compile Include="System.Web.UI\PageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\PageTheme.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeBuilder.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeFileParser.cs" />\r
-    <Compile Include="System.Web.UI\PageThemeParser.cs" />\r
-    <Compile Include="System.Web.UI\Pair.cs" />\r
-    <Compile Include="System.Web.UI\ParseChildrenAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PartialCachingAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\PersistChildrenAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PersistenceMode.cs" />\r
-    <Compile Include="System.Web.UI\PersistenceModeAttribute.cs" />\r
-    <Compile Include="System.Web.UI\PostBackOptions.cs" />\r
-    <Compile Include="System.Web.UI\PropertyConverter.cs" />\r
-    <Compile Include="System.Web.UI\PropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ReadOnlyDataSourceView.cs" />\r
-    <Compile Include="System.Web.UI\RenderMethod.cs" />\r
-    <Compile Include="System.Web.UI\ResourceBasedLiteralControl.cs" />\r
-    <Compile Include="System.Web.UI\RootBuilder.cs" />\r
-    <Compile Include="System.Web.UI\SessionPageStatePersister.cs" />\r
-    <Compile Include="System.Web.UI\SimpleHandlerFactory.cs" />\r
-    <Compile Include="System.Web.UI\SimplePropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\SimpleWebHandlerParser.cs" />\r
-    <Compile Include="System.Web.UI\SkinBuilder.cs" />\r
-    <Compile Include="System.Web.UI\StateBag.cs" />\r
-    <Compile Include="System.Web.UI\StateItem.cs" />\r
-    <Compile Include="System.Web.UI\StateManagedCollection.cs" />\r
-    <Compile Include="System.Web.UI\StaticPartialCachingControl.cs" />\r
-    <Compile Include="System.Web.UI\StringPropertyBuilder.cs" />\r
-    <Compile Include="System.Web.UI\SupportsEventValidationAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TagPrefixAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateBuilder.cs" />\r
-    <Compile Include="System.Web.UI\TemplateContainerAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateContentType.cs" />\r
-    <Compile Include="System.Web.UI\TemplateControl.cs" />\r
-    <Compile Include="System.Web.UI\TemplateControlParser.cs" />\r
-    <Compile Include="System.Web.UI\TemplateInstance.cs" />\r
-    <Compile Include="System.Web.UI\TemplateInstanceAttribute.cs" />\r
-    <Compile Include="System.Web.UI\TemplateParser.cs" />\r
-    <Compile Include="System.Web.UI\TemplatePropertyEntry.cs" />\r
-    <Compile Include="System.Web.UI\ThemeableAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ThemeProvider.cs" />\r
-    <Compile Include="System.Web.UI\ToolboxDataAttribute.cs" />\r
-    <Compile Include="System.Web.UI\Triplet.cs" />\r
-    <Compile Include="System.Web.UI\UnknownAttributeDescriptor.cs" />\r
-    <Compile Include="System.Web.UI\UrlPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\UrlTypes.cs" />\r
-    <Compile Include="System.Web.UI\UserControl.cs" />\r
-    <Compile Include="System.Web.UI\UserControlControlBuilder.cs" />\r
-    <Compile Include="System.Web.UI\UserControlParser.cs" />\r
-    <Compile Include="System.Web.UI\ValidationPropertyAttribute.cs" />\r
-    <Compile Include="System.Web.UI\ValidatorCollection.cs" />\r
-    <Compile Include="System.Web.UI\VerificationAttribute.cs" />\r
-    <Compile Include="System.Web.UI\VerificationConditionalOperator.cs" />\r
-    <Compile Include="System.Web.UI\VerificationReportLevel.cs" />\r
-    <Compile Include="System.Web.UI\VerificationRule.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateEncryptionMode.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateException.cs" />\r
-    <Compile Include="System.Web.UI\ViewStateModeByIdAttribute.cs" />\r
-    <Compile Include="System.Web.UI\VirtualReferenceType.cs" />\r
-    <Compile Include="System.Web.UI\WebHandlerParser.cs" />\r
-    <Compile Include="System.Web.UI\WebResourceAttribute.cs" />\r
-    <Compile Include="System.Web.UI\WebServiceParser.cs" />\r
-    <Compile Include="System.Web.UI\XhtmlMobileDocType.cs" />\r
-    <Compile Include="System.Web.UI\XhtmlTextWriter.cs" />\r
-    <Compile Include="System.Web.UI\XPathBinder.cs" />\r
-    <Compile Include="System.Web.Util\AltSerialization.cs" />\r
-    <Compile Include="System.Web.Util\DataSourceHelper.cs" />\r
-    <Compile Include="System.Web.Util\DataSourceResolver.cs" />\r
-    <Compile Include="System.Web.Util\FileUtils.cs" />\r
-    <Compile Include="System.Web.Util\Helpers.cs" />\r
-    <Compile Include="System.Web.Util\HttpEncoder.cs" />\r
-    <Compile Include="System.Web.Util\ICalls.cs" />\r
-    <Compile Include="System.Web.Util\IWebObjectFactory.cs" />\r
-    <Compile Include="System.Web.Util\IWebPropertyAccessor.cs" />\r
-    <Compile Include="System.Web.Util\MachineKeySectionUtils.cs" />\r
-    <Compile Include="System.Web.Util\RuntimeHelpers.cs" />\r
-    <Compile Include="System.Web.Util\SearchPattern.cs" />\r
-    <Compile Include="System.Web.Util\SecureHashCodeProvider.cs" />\r
-    <Compile Include="System.Web.Util\SerializationHelper.cs" />\r
-    <Compile Include="System.Web.Util\StrUtils.cs" />\r
-    <Compile Include="System.Web.Util\TimeUtil.cs" />\r
-    <Compile Include="System.Web.Util\TransactedCallback.cs" />\r
-    <Compile Include="System.Web.Util\Transactions.cs" />\r
-    <Compile Include="System.Web.Util\UrlUtils.cs" />\r
-    <Compile Include="System.Web.Util\WebEncoding.cs" />\r
-    <Compile Include="System.Web.Util\WebTrace.cs" />\r
-    <Compile Include="System.Web.Util\WorkItem.cs" />\r
-    <Compile Include="System.Web.Util\WorkItemCallback.cs" />\r
-    <Compile Include="System.Web\ApplicationShutdownReason.cs" />\r
-    <Compile Include="System.Web\BaseParamsCollection.cs" />\r
-    <Compile Include="System.Web\BeginEventHandler.cs" />\r
-    <Compile Include="System.Web\BrowserCapabilities.cs" />\r
-    <Compile Include="System.Web\CapabilitiesLoader.cs" />\r
-    <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
-    <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
-    <Compile Include="System.Web\EndEventHandler.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateType.cs" />\r
-    <Compile Include="System.Web\ExceptionPageTemplateValues.cs" />\r
-    <Compile Include="System.Web\HeadersCollection.cs" />\r
-    <Compile Include="System.Web\HtmlizedException.cs" />\r
-    <Compile Include="System.Web\HttpApplication.cs" />\r
-    <Compile Include="System.Web\HttpApplicationFactory.cs" />\r
-    <Compile Include="System.Web\HttpApplicationState.cs" />\r
-    <Compile Include="System.Web\HttpBrowserCapabilities.cs" />\r
-    <Compile Include="System.Web\HttpCacheability.cs" />\r
-    <Compile Include="System.Web\HttpCachePolicy.cs" />\r
-    <Compile Include="System.Web\HttpCacheRevalidation.cs" />\r
-    <Compile Include="System.Web\HttpCacheValidateHandler.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByContentEncodings.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByHeaders.cs" />\r
-    <Compile Include="System.Web\HttpCacheVaryByParams.cs" />\r
-    <Compile Include="System.Web\HttpClientCertificate.cs" />\r
-    <Compile Include="System.Web\HttpCompileException.cs" />\r
-    <Compile Include="System.Web\HttpContext.cs" />\r
-    <Compile Include="System.Web\HttpCookie.cs" />\r
-    <Compile Include="System.Web\HttpCookieCollection.cs" />\r
-    <Compile Include="System.Web\HttpCookieMode.cs" />\r
-    <Compile Include="System.Web\HttpException.cs" />\r
-    <Compile Include="System.Web\HttpFileCollection.cs" />\r
-    <Compile Include="System.Web\HttpForbiddenHandler.cs" />\r
-    <Compile Include="System.Web\HttpHeaderCollection.cs" />\r
-    <Compile Include="System.Web\HttpMethodNotAllowedHandler.cs" />\r
-    <Compile Include="System.Web\HttpModuleCollection.cs" />\r
-    <Compile Include="System.Web\HttpNotFoundHandler.cs" />\r
-    <Compile Include="System.Web\HttpNotImplementedHandler.cs" />\r
-    <Compile Include="System.Web\HttpParamsCollection.cs" />\r
-    <Compile Include="System.Web\HttpParseException.cs" />\r
-    <Compile Include="System.Web\HttpPostedFile.cs" />\r
-    <Compile Include="System.Web\HttpRequest.cs" />\r
-    <Compile Include="System.Web\HttpRequestValidationException.cs" />\r
-    <Compile Include="System.Web\HttpResponse.cs" />\r
-    <Compile Include="System.Web\HttpResponseHeader.cs" />\r
-    <Compile Include="System.Web\HttpResponseStream.cs" />\r
-    <Compile Include="System.Web\HttpResponseSubstitutionCallback.cs" />\r
-    <Compile Include="System.Web\HttpRuntime.cs" />\r
-    <Compile Include="System.Web\HttpServerUtility.cs" />\r
-    <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
-    <Compile Include="System.Web\HttpUnhandledException.cs" />\r
-    <Compile Include="System.Web\HttpUtility.cs" />\r
-    <Compile Include="System.Web\HttpValidationStatus.cs" />\r
-    <Compile Include="System.Web\HttpWorkerRequest.cs" />\r
-    <Compile Include="System.Web\HttpWriter.cs" />\r
-    <Compile Include="System.Web\IHttpAsyncHandler.cs" />\r
-    <Compile Include="System.Web\IHttpHandler.cs" />\r
-    <Compile Include="System.Web\IHttpHandlerFactory.cs" />\r
-    <Compile Include="System.Web\IHttpMapPath.cs" />\r
-    <Compile Include="System.Web\IHttpModule.cs" />\r
-    <Compile Include="System.Web\IisTraceListener.cs" />\r
-    <Compile Include="System.Web\InputFilterStream.cs" />\r
-    <Compile Include="System.Web\IntPtrStream.cs" />\r
-    <Compile Include="System.Web\IPartitionResolver.cs" />\r
-    <Compile Include="System.Web\MimeTypes.cs" />\r
-    <Compile Include="System.Web\NoParamsInvoker.cs" />\r
-    <Compile Include="System.Web\OutputFilterStream.cs" />\r
-    <Compile Include="System.Web\ParserError.cs" />\r
-    <Compile Include="System.Web\ParserErrorCollection.cs" />\r
-    <Compile Include="System.Web\ProcessInfo.cs" />\r
-    <Compile Include="System.Web\ProcessModelInfo.cs" />\r
-    <Compile Include="System.Web\ProcessShutdownReason.cs" />\r
-    <Compile Include="System.Web\ProcessStatus.cs" />\r
-    <Compile Include="System.Web\QueueManager.cs" />\r
-    <Compile Include="System.Web\RequestNotification.cs" />\r
-    <Compile Include="System.Web\RequestNotificationStatus.cs" />\r
-    <Compile Include="System.Web\ServerVariablesCollection.cs" />\r
-    <Compile Include="System.Web\SiteMap.cs" />\r
-    <Compile Include="System.Web\SiteMapNode.cs" />\r
-    <Compile Include="System.Web\SiteMapNodeCollection.cs" />\r
-    <Compile Include="System.Web\SiteMapProvider.cs" />\r
-    <Compile Include="System.Web\SiteMapProviderCollection.cs" />\r
-    <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
-    <Compile Include="System.Web\StaticFileHandler.cs" />\r
-    <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
-    <Compile Include="System.Web\TempFileStream.cs" />\r
-    <Compile Include="System.Web\TraceContext.cs" />\r
-    <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
-    <Compile Include="System.Web\TraceContextEventHandler.cs" />\r
-    <Compile Include="System.Web\TraceContextRecord.cs" />\r
-    <Compile Include="System.Web\TraceData.cs" />\r
-    <Compile Include="System.Web\TraceManager.cs" />\r
-    <Compile Include="System.Web\TraceMode.cs" />\r
-    <Compile Include="System.Web\VirtualPath.cs" />\r
-    <Compile Include="System.Web\VirtualPathUtility.cs" />\r
-    <Compile Include="System.Web\WebCategoryAttribute.cs" />\r
-    <Compile Include="System.Web\WebPageTraceListener.cs" />\r
-    <Compile Include="System.Web\WebROCollection.cs" />\r
-    <Compile Include="System.Web\WebSysDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web\XmlSiteMapProvider.cs" />\r
-    <Compile Include="System.Web\UplevelHelper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{AAA3F683-244C-40EF-8EF8-A95938862A44}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System/System-bare-net_2_0.csproj">\r
-      <Project>{5459507F-DC25-401C-A2F4-D5ECAC3A34E6}</Project>\r
-      <Name>System\System-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Core/System.Core-plaincore-net_2_0.csproj">\r
-      <Project>{F0743710-AB7C-4019-A13A-07AE79F514E4}</Project>\r
-      <Name>System.Core\System.Core-plaincore-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Drawing/System.Drawing-net_2_0.csproj">\r
-      <Project>{50FE7D09-285C-480A-94F8-F42CB76A83CE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Data/System.Data-net_2_0.csproj">\r
-      <Project>{3D0435AD-4ACE-45BE-87DE-335BAD6D8EB1}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.XML/System.Xml-bare-net_2_0.csproj">\r
-      <Project>{0E9DD462-944B-426E-BC1E-96EF270EF7E2}</Project>\r
-      <Name>System.XML\System.Xml-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{40E73340-6F24-460B-AC9D-77C9453B527B}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{48B07F1A-16F4-44B0-863F-40D5CD6C3CB3}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.Configuration/System.Configuration-net_2_0.csproj">\r
-      <Project>{13AAE1FB-48CB-41ED-BF9B-F6F69CDE258F}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../Mono.Data.Sqlite/Mono.Data.Sqlite-net_2_0.csproj">\r
-      <Project>{CBE5E050-412D-4DE7-8937-0E8C4BD6762A}</Project>\r
-      <Name>Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/TranslationResources.resources">\r
-      <LogicalName>TranslationResources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation.js">\r
-      <LogicalName>WebUIValidation.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder.gif">\r
-      <LogicalName>folder.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/file.gif">\r
-      <LogicalName>file.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/computer.gif">\r
-      <LogicalName>computer.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_minus.gif">\r
-      <LogicalName>arrow_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_noexpand.gif">\r
-      <LogicalName>arrow_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_plus.gif">\r
-      <LogicalName>arrow_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_up.gif">\r
-      <LogicalName>arrow_up.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_down.gif">\r
-      <LogicalName>arrow_down.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_full.gif">\r
-      <LogicalName>box_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_empty.gif">\r
-      <LogicalName>box_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_minus.gif">\r
-      <LogicalName>box_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_noexpand.gif">\r
-      <LogicalName>box_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_plus.gif">\r
-      <LogicalName>box_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/contact.gif">\r
-      <LogicalName>contact.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_empty.gif">\r
-      <LogicalName>dot_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_full.gif">\r
-      <LogicalName>dot_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dots.gif">\r
-      <LogicalName>dots.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/inbox.gif">\r
-      <LogicalName>inbox.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_empty.gif">\r
-      <LogicalName>star_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_full.gif">\r
-      <LogicalName>star_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/warning.gif">\r
-      <LogicalName>warning.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_noexpand.gif">\r
-      <LogicalName>TreeView_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dash.gif">\r
-      <LogicalName>TreeView_dash.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashminus.gif">\r
-      <LogicalName>TreeView_dashminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashplus.gif">\r
-      <LogicalName>TreeView_dashplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_i.gif">\r
-      <LogicalName>TreeView_i.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_l.gif">\r
-      <LogicalName>TreeView_l.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lminus.gif">\r
-      <LogicalName>TreeView_lminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lplus.gif">\r
-      <LogicalName>TreeView_lplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_minus.gif">\r
-      <LogicalName>TreeView_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_plus.gif">\r
-      <LogicalName>TreeView_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_r.gif">\r
-      <LogicalName>TreeView_r.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rminus.gif">\r
-      <LogicalName>TreeView_rminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rplus.gif">\r
-      <LogicalName>TreeView_rplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_t.gif">\r
-      <LogicalName>TreeView_t.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tminus.gif">\r
-      <LogicalName>TreeView_tminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tplus.gif">\r
-      <LogicalName>TreeView_tplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/transparent.gif">\r
-      <LogicalName>transparent.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/webform.js">\r
-      <LogicalName>webform.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation_2.0.js">\r
-      <LogicalName>WebUIValidation_2.0.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Top.html">\r
-      <LogicalName>ErrorTemplateCommon_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_CustomErrorDefault.html">\r
-      <LogicalName>DefaultErrorTemplate_CustomErrorDefault.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Bottom.html">\r
-      <LogicalName>ErrorTemplateCommon_Bottom.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_StandardPage.html">\r
-      <LogicalName>DefaultErrorTemplate_StandardPage.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_Top.html">\r
-      <LogicalName>HtmlizedExceptionPage_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileLongSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileLongSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileShortSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileShortSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_CompilerOutput.html">\r
-      <LogicalName>HtmlizedExceptionPage_CompilerOutput.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/GridView.js">\r
-      <LogicalName>GridView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/DetailsView.js">\r
-      <LogicalName>DetailsView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/TreeView.js">\r
-      <LogicalName>TreeView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/Menu.js">\r
-      <LogicalName>Menu.js</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 5f49197e3f6a3919a03a6464f6544bf0a93af6e6..d4a107dec057d3a27022708ecb26b388513acc69 100644 (file)
     <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
     <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
     <Compile Include="System.Web\EndEventHandler.cs" />\r
+    <Compile Include="System.Web\EventHandlerTaskAsyncHelper.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
     <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
     <Compile Include="System.Web\HttpRuntime.cs" />\r
     <Compile Include="System.Web\HttpServerUtility.cs" />\r
     <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
+    <Compile Include="System.Web\HttpTaskAsyncHandler.cs" />\r
     <Compile Include="System.Web\HttpUnhandledException.cs" />\r
     <Compile Include="System.Web\HttpUtility.cs" />\r
     <Compile Include="System.Web\HttpValidationStatus.cs" />\r
     <Compile Include="System.Web\ProcessShutdownReason.cs" />\r
     <Compile Include="System.Web\ProcessStatus.cs" />\r
     <Compile Include="System.Web\QueueManager.cs" />\r
+    <Compile Include="System.Web\ReadEntityBodyMode.cs" />\r
     <Compile Include="System.Web\RequestNotification.cs" />\r
     <Compile Include="System.Web\RequestNotificationStatus.cs" />\r
     <Compile Include="System.Web\ServerVariablesCollection.cs" />\r
     <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
     <Compile Include="System.Web\StaticFileHandler.cs" />\r
     <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\TaskAsyncResult.cs" />\r
+    <Compile Include="System.Web\TaskEventHandler.cs" />\r
     <Compile Include="System.Web\TempFileStream.cs" />\r
     <Compile Include="System.Web\TraceContext.cs" />\r
     <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
diff --git a/mcs/class/System.Web/System.Web-tests-net_2_0.csproj b/mcs/class/System.Web/System.Web-tests-net_2_0.csproj
deleted file mode 100644 (file)
index b558e29..0000000
+++ /dev/null
@@ -1,1322 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{D7874FFB-8F9F-4E48-9EEE-EB179D0AFAFF}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,612,618,618,219,169,1591</NoWarn>\r
-    <OutputPath>bin\Debug\System.Web-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Web_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,612,618,618,219,169,1591</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP;MONOWEB_DEP;SYSTEMCORE_DEP;TEST</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,612,618,618,219,169,1591</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP;MONOWEB_DEP;SYSTEMCORE_DEP;TEST</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\System.Web.DynamicData\Test\Common\AssertExtensions.cs" />\r
-    <Compile Include="Test\Cas\AspNetHostingMinimal.cs" />\r
-    <Compile Include="Test\Cas\AspNetHostingNone.cs" />\r
-    <Compile Include="Test\Cas\AspNetHostingPermissionHelper.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\AssemblyInfo.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\crc32.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\Header.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlAttribute.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlDocument.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlEntity.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNode.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlNodeNavigator.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\HtmlWeb.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\MixedCodeDocument.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\ParseReader.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\HtmlAgilityPack\tools.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\NunitWebTest.cs" />\r
-    <Compile Include="Test\mainsoft\MainsoftWebTest\XmlComparer.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\BaseControl.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\BaseControlCollection.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\BaseInvoker.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\BaseRequest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\BaseWorkerRequest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\CustomSection.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\FakeMembershipProvider.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\FormRequest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Global.asax.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\HandlerInvoker.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\IForeignData.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\MyHandler.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\MyHost.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\MyPageHandlerFactory.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\MyTemplateControls.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\PageDelegates.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\PageInvoker.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\PostableRequest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\PostableWorkerRequest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Response.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\StandardUrl.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\TestRoleProvider.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\Author.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\AuthorConverter.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\Book.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\BookType.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\TagsNestedInClientTag.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\Tests\TestSiteMapProvider.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\WebTest.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\WebTestLocal.cs" />\r
-    <Compile Include="Test\mainsoft\NunitWeb\NunitWeb\WebTestResourcesSetupAttribute.cs" />\r
-    <Compile Include="Test\System.Web.Caching\AggregateCacheDependencyTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\CacheCas.cs" />\r
-    <Compile Include="Test\System.Web.Caching\CacheDependencyCas.cs" />\r
-    <Compile Include="Test\System.Web.Caching\CacheItemPriorityQueueTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\CacheItemPriorityQueueTest_generated.cs" />\r
-    <Compile Include="Test\System.Web.Caching\CacheItemPriorityQueueTestSupport.cs" />\r
-    <Compile Include="Test\System.Web.Caching\FileResponseElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\HeaderElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\MemoryResponseElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\OutputCacheTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\SqlCacheDependencyTest.cs" />\r
-    <Compile Include="Test\System.Web.Caching\SubstitutionResponseElementTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\AppResourcesCompilerTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\AppSettingsExpressionBuilderTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\BuildManagerTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\BuildProviderTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\ClientBuildManagerParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\RouteUrlExpressionBuilderTest.cs" />\r
-    <Compile Include="Test\System.Web.Compilation\TemplateControlCompilerTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AnonymousIdentificationSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AssemblyCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AssemblyInfoTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AuthenticationSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AuthorizationRuleCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AuthorizationRuleTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\AuthorizationSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\BufferModeSettingsTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\BuildProviderTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\CacheSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\ClientTargetSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\ClientTargetTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\CodeSubDirectoryTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\CompilationSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\CustomErrorCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\CustomErrorsSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\DeploymentSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\GlobalizationSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\HostingEnvironmentSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\HttpCapabilitiesBaseCas.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\MachineKeySectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\MachineKeyValidationConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\NullableStringValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\ProfilePropertySettingsTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\SiteMapSectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Configuration\WebConfigurationManagerTest.cs" />\r
-    <Compile Include="Test\System.Web.Handlers\TraceHandlerCas.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\AppDomainFactoryCas.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\ApplicationHostCas.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\ApplicationHostTest.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\HostingEnvironmentTest.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\ISAPIRuntimeCas.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\SimpleWorkerRequestCas.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\SimpleWorkerRequestTest.cs" />\r
-    <Compile Include="Test\System.Web.Hosting\VirtualPathProviderTest.cs" />\r
-    <Compile Include="Test\System.Web.Mail\MailAttachmentCas.cs" />\r
-    <Compile Include="Test\System.Web.Mail\MailMessageCas.cs" />\r
-    <Compile Include="Test\System.Web.Mail\SmtpMailCas.cs" />\r
-    <Compile Include="Test\System.Web.Profile\ProfileInfoTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\DefaultAuthenticationEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\DefaultAuthenticationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FileAuthorizationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsAuthenticationCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsAuthenticationEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsAuthenticationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsAuthenticationTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsAuthenticationTicketCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsIdentityCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\FormsIdentityTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\MachineKeyTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\MembershipProviderCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\MembershipProviderTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\MembershipTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\MembershipUserCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\PassportAuthenticationEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\PassportAuthenticationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\PassportIdentityCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\RolePrincipalTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\RolesTest.cs" />\r
-    <Compile Include="Test\System.Web.Security\UrlAuthorizationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\WindowsAuthenticationEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.Security\WindowsAuthenticationModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.SessionState\SessionStateModuleCas.cs" />\r
-    <Compile Include="Test\System.Web.SessionState\StateRuntimeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.Adapters\ControlAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.Adapters\PageAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlAnchorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlAnchorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlContainerControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlContainerControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlEmptyTagControlBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlFormCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlFormTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlGenericControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlHeadBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlHeadCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlHeadTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlImageCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlImageTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputCheckBoxCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputCheckBoxTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputFileCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputFileTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputHiddenCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputHiddenTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputImageCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputPasswordCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputPasswordTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputRadioButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputRadioButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputResetCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputResetTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputSubmitCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputSubmitTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputTextCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlInputTextTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlLinkCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlLinkTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlMetaCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlMetaTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlSelectBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlSelectCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlSelectTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableCellCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableCellTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableRowCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTableTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTextAreaCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTextAreaTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.HtmlControls\HtmlTitleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.Adapters\DataBoundControlAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.Adapters\HideDisabledControlAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.Adapters\HierarchicalDataBoundControlAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.Adapters\MenuAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.Adapters\WebControlAdapterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.WebParts\ConnectionInterfaceCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls.WebParts\WebPartTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\AccessDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\AdCreatedEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\AdCreatedEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\AutoGeneratedFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseCompareValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseCompareValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseDataBoundControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseDataBoundControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseDataListCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseDataListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BaseValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BoundColumnCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BoundColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BoundFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\BulletedListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ButtonColumnCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ButtonColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ButtonFieldBaseTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ButtonFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CalandarCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CalendarDayCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CalendarDayTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CalendarTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CallBackTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ChangePasswordTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CheckBoxCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CheckBoxFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CheckBoxListCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CheckBoxListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CheckBoxTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CircleHotSpotTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CommandFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompareValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompareValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompleteWizardStepTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompositeControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompositeControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CompositeDataBoundControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ContentTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ControlParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CookieParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CreateUserWizardStepTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CreateUserWizardTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CrossPagePostingTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CustomValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\CustomValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataBoundControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataBoundControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataControlFieldCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataControlFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridColumnCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridItemCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridItemCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridItemCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridItemTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridPagerStyleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridPagerStyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataGridTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataKeyArrayTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataKeyCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataKeyCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataKeyTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListItemCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListItemCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListItemCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListItemTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataSourceControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DataSourceViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DetailsViewRowCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DetailsViewRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DetailsViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DropDownListCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\DropDownListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\EditCommandColumnCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\EditCommandColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FileUploadTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontInfoCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontInfoTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontNamesConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontNamesConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontUnitCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FontUnitTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FormParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FormViewCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FormViewRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\FormViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\GridViewRowCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\GridViewRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\GridViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HierarchicalDataBoundControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HotSpotCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HotSpotTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HyperLinkCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HyperLinkColumnCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HyperLinkColumnTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HyperLinkFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\HyperLinkTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageMapTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ImageTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LabelCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LabelTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LinkButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LinkButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListBoxCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListBoxTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListItemCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListItemCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListItemCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ListItemTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LiteralCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LiteralTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginNameCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginNameTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginStatusCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginStatusTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\LoginTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MappingUrlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MasterPageTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MenuItemBindingTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MenuTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MonthChangedEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MonthChangedEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MultiViewControlBuilderTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\MultiViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ObjectDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ObjectDataSourceViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PagedDataSourceCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PagedDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PagerSettingsTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PanelCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PanelTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PasswordRecoveryTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\PolygonHotSpotTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\QueryStringParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RadioButtonCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RadioButtonListCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RadioButtonListTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RadioButtonTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RangeValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RangeValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RectangleHotSpotTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RegularExpressionValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RegularExpressionValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeaterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeaterItemCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeaterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoTest.auto.2.0.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoTest.auto.4.0.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoTest.auto.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RepeatInfoUser.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RequiredFieldValidatorCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RoleGroupCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RoleGroupCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RoleGroupCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RoleGroupTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\RouteParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SelectedDatesCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SelectedDatesCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SessionParameterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SiteMapDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SiteMapPathTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SqlDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\SqlDataSourceViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\StyleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\StyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableCellCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableCellTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableFooterRowCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableFooterRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableHeaderCellCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableHeaderCellTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableHeaderRowCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableHeaderRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableItemStyleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableItemStyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableRowCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableRowTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableSectionStyleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableSectionStyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableStyleCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableStyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TableTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TargetConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TargetConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TemplateFieldTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TestControlIDConverter.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TextBoxCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TextBoxTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ThemeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeBindingCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeBindingTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeStyleCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeStyleTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeNodeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeViewCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\TreeViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\UnitCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\UnitConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\UnitConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\UnitTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ValidatedControlConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ValidatedControlConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ValidationSummaryCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ValidationSummaryTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\ViewTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WebColorConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WebColorConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WebControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WebControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WizardStepBaseTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WizardStepCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WizardStepTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\WizardTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\XmlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\XmlDataSourceCas.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\XmlDataSourceTest.cs" />\r
-    <Compile Include="Test\System.Web.UI.WebControls\XmlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\AttributeCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\AttributeCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\BaseParserCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ChtmlTextWriterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\CleanHtmlTextWriter.cs" />\r
-    <Compile Include="Test\System.Web.UI\ClientScriptManagerTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\CompiledTemplateBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ConstructorNeedsTagAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlBuilderAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\CssStyleCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\CssStyleCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBinderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBinderTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBindingCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBindingCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBindingCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBindingHandlerAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBindingHandlerAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataBoundLiteralControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataKeyPropertyAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataSourceCacheDurationConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DataSourceSelectArgumentsTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\DesignerDataBoundLiteralControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DesignTimeParseDataCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\DesignTimeTemplateParserCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\EmptyCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\Html32TextWriterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\HtmlTextWriterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\HtmlTextWriterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ImageClickEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\LiteralControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\LiteralControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\LosFormatterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\LosFormatterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\MinimizableAttributeTypeConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ObjectConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ObjectStateFormatterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\ObjectTagBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\OutputCacheParametersTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\PageCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PageParserFilterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\PageParserTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\PageTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\PairCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ParseChildrenAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PartialCachingAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PersistChildrenAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PersistenceModeAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PostBackOptionsTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\PropertyConverterCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\PropertyConverterTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\RootBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\StateBagCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\StateBagTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\StateItemCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\StaticPartialCachingControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\TagPrefixAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\TemplateBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\TemplateContainerAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\TemplateControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\TemplateControlTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\TemplateInstanceAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\TestUrlPropertyAttribute.cs" />\r
-    <Compile Include="Test\System.Web.UI\ToolboxDataAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ToolboxDataAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web.UI\TripletCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\UserControlCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\UserControlControlBuilderCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ValidationPropertyAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\ValidatorCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web.UI\XhtmlTextWriterTest.cs" />\r
-    <Compile Include="Test\System.Web.Util\HttpEncoderTest.cs" />\r
-    <Compile Include="Test\System.Web.Util\MachineKeySectionUtilsTest.cs" />\r
-    <Compile Include="Test\System.Web.Util\RequestValidatorTest.cs" />\r
-    <Compile Include="Test\System.Web.Util\TransactionsCas.cs" />\r
-    <Compile Include="Test\System.Web.Util\UrlUtilsTest.cs" />\r
-    <Compile Include="Test\System.Web.Util\WorkItemCas.cs" />\r
-    <Compile Include="Test\System.Web\AppBrowsersTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpApplicationCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpApplicationStateCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpApplicationTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpBrowserCapabilitiesCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpBrowserCapabilitiesTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpCachePolicyCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCacheVaryByContentEncodingsTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpCacheVaryByHeadersCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCacheVaryByHeadersTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpCacheVaryByParamsCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCacheVaryByParamsTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpClientCertificateCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpClientCertificateTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpCompileExceptionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpContext.cs" />\r
-    <Compile Include="Test\System.Web\HttpContextCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCookieCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCookieCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpCookieCollectionTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpCookieTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpExceptionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpExceptionTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpFileCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpModuleCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpParseExceptionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpRequestCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpRequestTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpRequestValidationExceptionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpResponseCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpResponseTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpRuntimeCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpRuntimeTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpServerUtilityCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpServerUtilityTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpStaticObjectsCollectionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpUnhandledExceptionCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpUtilityCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpUtilityTest.cs" />\r
-    <Compile Include="Test\System.Web\HttpWorkerRequestCas.cs" />\r
-    <Compile Include="Test\System.Web\HttpWriter.cs" />\r
-    <Compile Include="Test\System.Web\HttpWriterCas.cs" />\r
-    <Compile Include="Test\System.Web\ProcessInfoCas.cs" />\r
-    <Compile Include="Test\System.Web\ProcessModelInfoCas.cs" />\r
-    <Compile Include="Test\System.Web\SiteMapNodeTest.cs" />\r
-    <Compile Include="Test\System.Web\SiteMapProviderTest.cs" />\r
-    <Compile Include="Test\System.Web\StaticSiteMapProviderTest.cs" />\r
-    <Compile Include="Test\System.Web\TraceContextCas.cs" />\r
-    <Compile Include="Test\System.Web\TraceContextRecordTest.cs" />\r
-    <Compile Include="Test\System.Web\VirtualPathUtilityTest.cs" />\r
-    <Compile Include="Test\System.Web\XmlSiteMapProviderTest.cs" />\r
-    <Compile Include="System.Web\UplevelHelper.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-2.csproj">\r
-      <Project>{293D054F-361B-4083-A422-FA1AC9476FC9}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Drawing\System.Drawing-net_2_0.csproj">\r
-      <Project>{458980DE-3D7C-4BBA-BA18-673EDC030AFE}</Project>\r
-      <Name>System.Drawing\System.Drawing-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Data\System.Data-net_2_0.csproj">\r
-      <Project>{69458D09-40A2-48AD-8C0F-0E437CF5FE6D}</Project>\r
-      <Name>System.Data\System.Data-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.EnterpriseServices\System.EnterpriseServices-net_2_0.csproj">\r
-      <Project>{94E27660-C3DF-43D1-958A-94D68EF3131F}</Project>\r
-      <Name>System.EnterpriseServices\System.EnterpriseServices-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0.csproj">\r
-      <Project>{8313B5D9-A1BE-4E62-90E7-FA002548D650}</Project>\r
-      <Name>System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0.csproj">\r
-      <Project>{7B3F5668-ED1F-48EB-9897-E6BE6A1C8CB3}</Project>\r
-      <Name>Mono.Data.Sqlite\Mono.Data.Sqlite-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web.Services\System.Web.Services-net_2_0.csproj">\r
-      <Project>{DA9F2EEC-4127-4B98-852E-78A0ED7A4A60}</Project>\r
-      <Name>System.Web.Services\System.Web.Services-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Web\Mono.Web-net_2_0.csproj">\r
-      <Project>{D02EAC8D-4C43-48F4-832A-7D9A3C2D07CF}</Project>\r
-      <Name>Mono.Web\Mono.Web-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\SystemWebTestShim\SystemWebTestShim-net_2_0.csproj">\r
-      <Project>{328B62A2-55C4-420A-81C1-AEAB15A8F3A6}</Project>\r
-      <Name>SystemWebTestShim\SystemWebTestShim-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Web.Extensions.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Web.Extensions.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/TranslationResources.resources">\r
-      <LogicalName>TranslationResources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation.js">\r
-      <LogicalName>WebUIValidation.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/folder.gif">\r
-      <LogicalName>folder.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/file.gif">\r
-      <LogicalName>file.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/computer.gif">\r
-      <LogicalName>computer.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_minus.gif">\r
-      <LogicalName>arrow_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_noexpand.gif">\r
-      <LogicalName>arrow_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_plus.gif">\r
-      <LogicalName>arrow_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_up.gif">\r
-      <LogicalName>arrow_up.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/arrow_down.gif">\r
-      <LogicalName>arrow_down.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_full.gif">\r
-      <LogicalName>box_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_empty.gif">\r
-      <LogicalName>box_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_minus.gif">\r
-      <LogicalName>box_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_noexpand.gif">\r
-      <LogicalName>box_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/box_plus.gif">\r
-      <LogicalName>box_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/contact.gif">\r
-      <LogicalName>contact.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_empty.gif">\r
-      <LogicalName>dot_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dot_full.gif">\r
-      <LogicalName>dot_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/dots.gif">\r
-      <LogicalName>dots.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/inbox.gif">\r
-      <LogicalName>inbox.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_empty.gif">\r
-      <LogicalName>star_empty.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/star_full.gif">\r
-      <LogicalName>star_full.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/warning.gif">\r
-      <LogicalName>warning.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_noexpand.gif">\r
-      <LogicalName>TreeView_noexpand.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dash.gif">\r
-      <LogicalName>TreeView_dash.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashminus.gif">\r
-      <LogicalName>TreeView_dashminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_dashplus.gif">\r
-      <LogicalName>TreeView_dashplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_i.gif">\r
-      <LogicalName>TreeView_i.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_l.gif">\r
-      <LogicalName>TreeView_l.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lminus.gif">\r
-      <LogicalName>TreeView_lminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_lplus.gif">\r
-      <LogicalName>TreeView_lplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_minus.gif">\r
-      <LogicalName>TreeView_minus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_plus.gif">\r
-      <LogicalName>TreeView_plus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_r.gif">\r
-      <LogicalName>TreeView_r.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rminus.gif">\r
-      <LogicalName>TreeView_rminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_rplus.gif">\r
-      <LogicalName>TreeView_rplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_t.gif">\r
-      <LogicalName>TreeView_t.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tminus.gif">\r
-      <LogicalName>TreeView_tminus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/TreeView_tplus.gif">\r
-      <LogicalName>TreeView_tplus.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/transparent.gif">\r
-      <LogicalName>transparent.gif</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/webform.js">\r
-      <LogicalName>webform.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/WebUIValidation_2.0.js">\r
-      <LogicalName>WebUIValidation_2.0.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Top.html">\r
-      <LogicalName>ErrorTemplateCommon_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_CustomErrorDefault.html">\r
-      <LogicalName>DefaultErrorTemplate_CustomErrorDefault.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/ErrorTemplateCommon_Bottom.html">\r
-      <LogicalName>ErrorTemplateCommon_Bottom.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/DefaultErrorTemplate_StandardPage.html">\r
-      <LogicalName>DefaultErrorTemplate_StandardPage.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_Top.html">\r
-      <LogicalName>HtmlizedExceptionPage_Top.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileLongSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileLongSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileShortSource.html">\r
-      <LogicalName>HtmlizedExceptionPage_FileShortSource.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/HtmlizedExceptionPage_CompilerOutput.html">\r
-      <LogicalName>HtmlizedExceptionPage_CompilerOutput.html</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/GridView.js">\r
-      <LogicalName>GridView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/DetailsView.js">\r
-      <LogicalName>DetailsView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/TreeView.js">\r
-      <LogicalName>TreeView.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.UI.WebControls/Menu.js">\r
-      <LogicalName>Menu.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax">\r
-      <LogicalName>Global.asax</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx">\r
-      <LogicalName>My.ashx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master">\r
-      <LogicalName>My.master</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx">\r
-      <LogicalName>MyPage.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs">\r
-      <LogicalName>MyPage.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx">\r
-      <LogicalName>MyPageWithMaster.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config">\r
-      <LogicalName>Web.mono.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.4.0">\r
-      <LogicalName>Web.mono.config.4.0</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap">\r
-      <LogicalName>sub_map_01.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap">\r
-      <LogicalName>test_map_01.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap">\r
-      <LogicalName>test_map_02.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap">\r
-      <LogicalName>test_map_03.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap">\r
-      <LogicalName>test_map_04.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap">\r
-      <LogicalName>test_map_05.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap">\r
-      <LogicalName>test_map_06.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap">\r
-      <LogicalName>test_map_07.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap">\r
-      <LogicalName>test_map_08.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap">\r
-      <LogicalName>test_map_09.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/menuclass.aspx">\r
-      <LogicalName>menuclass.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormView.aspx">\r
-      <LogicalName>FormView.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx">\r
-      <LogicalName>PostBackMenuTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx">\r
-      <LogicalName>PageWithStyleSheet.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageWithTheme.aspx">\r
-      <LogicalName>PageWithTheme.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ResolveUrl.ascx">\r
-      <LogicalName>ResolveUrl.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ResolveUrl.aspx">\r
-      <LogicalName>ResolveUrl.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx">\r
-      <LogicalName>RunTimeSetTheme.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx">\r
-      <LogicalName>ReadOnlyPropertyBind.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx">\r
-      <LogicalName>ReadOnlyPropertyControl.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Theme1.skin">\r
-      <LogicalName>Theme1.skin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Theme2.skin">\r
-      <LogicalName>Theme2.skin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/UrlProperty.aspx">\r
-      <LogicalName>UrlProperty.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/UrlProperty.ascx">\r
-      <LogicalName>UrlProperty.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs">\r
-      <LogicalName>UrlProperty.ascx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Web.sitemap">\r
-      <LogicalName>Web.sitemap</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/WizardTest.skin">\r
-      <LogicalName>WizardTest.skin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx">\r
-      <LogicalName>FooterTemplateTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DataGrid.aspx">\r
-      <LogicalName>DataGrid.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx">\r
-      <LogicalName>DetailsViewTemplates.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DetailsViewTemplates_2.aspx">\r
-      <LogicalName>DetailsViewTemplates_2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DetailsViewTemplates_3.aspx">\r
-      <LogicalName>DetailsViewTemplates_3.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx">\r
-      <LogicalName>DetailsViewDataActions.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx">\r
-      <LogicalName>DetailsViewProperties1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Bluehills.jpg">\r
-      <LogicalName>Bluehills.jpg</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewTest1.aspx">\r
-      <LogicalName>FormViewTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewTest1_2.aspx">\r
-      <LogicalName>FormViewTest1_2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewTest1_3.aspx">\r
-      <LogicalName>FormViewTest1_3.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewTest1_4.aspx">\r
-      <LogicalName>FormViewTest1_4.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx">\r
-      <LogicalName>FormViewInsertEditDelete.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/GridViewUpdate.aspx">\r
-      <LogicalName>GridViewUpdate.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml">\r
-      <LogicalName>XMLDataSourceTest.xml</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl">\r
-      <LogicalName>XMLDataSourceTest.xsl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx">\r
-      <LogicalName>XMLDataSourceTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx">\r
-      <LogicalName>XMLDataSourceTest2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx">\r
-      <LogicalName>XMLDataSourceTest3.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx">\r
-      <LogicalName>XMLDataSourceTest4.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/LoginViewTest1.aspx">\r
-      <LogicalName>LoginViewTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/WebControl.config">\r
-      <LogicalName>WebControl.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/WebLogin.config">\r
-      <LogicalName>WebLogin.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CallbackTest1.aspx">\r
-      <LogicalName>CallbackTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CallbackTest2.aspx">\r
-      <LogicalName>CallbackTest2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/EventValidationTest2.aspx">\r
-      <LogicalName>EventValidationTest2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/EventValidationTest1.aspx">\r
-      <LogicalName>EventValidationTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ClientScript.js">\r
-      <LogicalName>ClientScript.js</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/EvalTest.aspx">\r
-      <LogicalName>EvalTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TemplateUserControl.ascx">\r
-      <LogicalName>TemplateUserControl.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/WebMapping.config">\r
-      <LogicalName>WebMapping.config</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Mapping.aspx">\r
-      <LogicalName>Mapping.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/Mapping1.aspx">\r
-      <LogicalName>Mapping1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx">\r
-      <LogicalName>CrossPagePosting1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx">\r
-      <LogicalName>CrossPagePosting2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/MyDerived.master">\r
-      <LogicalName>MyDerived.master</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx">\r
-      <LogicalName>MyPageWithDerivedMaster.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx">\r
-      <LogicalName>MasterTypeTest1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx">\r
-      <LogicalName>MasterTypeTest2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx">\r
-      <LogicalName>PageLifecycleTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageValidationTest.aspx">\r
-      <LogicalName>PageValidationTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/AsyncPage.aspx">\r
-      <LogicalName>AsyncPage.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageCultureTest.aspx">\r
-      <LogicalName>PageCultureTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/adapters.browser">\r
-      <LogicalName>adapters.browser</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NoEventValidation.aspx">\r
-      <LogicalName>NoEventValidation.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ListControlPage.aspx">\r
-      <LogicalName>ListControlPage.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx">\r
-      <LogicalName>TextBoxTestlPage.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx">\r
-      <LogicalName>ClearErrorOnError.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/RedirectOnError.aspx">\r
-      <LogicalName>RedirectOnError.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TestCapability.browser">\r
-      <LogicalName>TestCapability.browser</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PageWithAdapter.aspx">\r
-      <LogicalName>PageWithAdapter.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx">\r
-      <LogicalName>InvalidPropertyBind1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx">\r
-      <LogicalName>InvalidPropertyBind2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx">\r
-      <LogicalName>InvalidPropertyBind3.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx">\r
-      <LogicalName>InvalidPropertyBind4.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx">\r
-      <LogicalName>ValidPropertyBind1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx">\r
-      <LogicalName>ValidPropertyBind2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx">\r
-      <LogicalName>ValidPropertyBind3.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx">\r
-      <LogicalName>ValidPropertyBind4.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx">\r
-      <LogicalName>ValidPropertyBind5.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx">\r
-      <LogicalName>ReadWritePropertyControl.ascx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/MainsoftWebTest/nunitweb_config.xml">\r
-      <LogicalName>nunitweb_config.xml</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx">\r
-      <LogicalName>TemplateControlParsingTest.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx">\r
-      <LogicalName>ContentPlaceHolderInTemplate.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master">\r
-      <LogicalName>ContentPlaceHolderInTemplate.master</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/MissingMasterFile.aspx">\r
-      <LogicalName>MissingMasterFile.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx">\r
-      <LogicalName>CustomSectionEmptyCollection.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx">\r
-      <LogicalName>NoDoubleOnInitOnRemoveAdd.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs">\r
-      <LogicalName>NoDoubleOnInitOnRemoveAdd.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx">\r
-      <LogicalName>LoginDisplayRememberMe.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx">\r
-      <LogicalName>NoBindForMethodsWithBindInName.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx">\r
-      <LogicalName>LinkInHeadWithEmbeddedExpression.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx">\r
-      <LogicalName>ExpressionInListControl.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx">\r
-      <LogicalName>ServerSideControlsInScriptBlock.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx">\r
-      <LogicalName>ServerControlInClientSideComment.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx">\r
-      <LogicalName>PreprocessorDirectivesInMarkup.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx">\r
-      <LogicalName>UnquotedAngleBrackets.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FullTagsInText.aspx">\r
-      <LogicalName>FullTagsInText.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx">\r
-      <LogicalName>TagsExpressionsAndCommentsInText.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx">\r
-      <LogicalName>NewlineInCodeExpression.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx">\r
-      <LogicalName>DuplicateControlsInClientComment.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx">\r
-      <LogicalName>TagsNestedInClientTag.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx">\r
-      <LogicalName>ConditionalClientComments.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx">\r
-      <LogicalName>OneLetterIdentifierInCodeRender.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx">\r
-      <LogicalName>GlobalResourcesLocalization.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx">\r
-      <LogicalName>TableSections_Bug551666.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs">\r
-      <LogicalName>TableSections_Bug551666.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/NestedParserFileText.aspx">\r
-      <LogicalName>NestedParserFileText.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx">\r
-      <LogicalName>StateFormatter_CorrectConverter.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx">\r
-      <LogicalName>StateFormatter_CollectionConverter.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs">\r
-      <LogicalName>StateFormatter_CollectionConverter.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx">\r
-      <LogicalName>ChangePasswordContainer_FindControl.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx">\r
-      <LogicalName>TagWithExpressionWithinAttribute.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx">\r
-      <LogicalName>CheckBoxList_Bug377703_1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx">\r
-      <LogicalName>CheckBoxList_Bug377703_2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx">\r
-      <LogicalName>CheckBoxList_Bug578770.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx">\r
-      <LogicalName>EnumConverter_Bug578586.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx">\r
-      <LogicalName>ButtonColor_Bug325489.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx">\r
-      <LogicalName>SqlDataSource_OnInit_Bug572781.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx">\r
-      <LogicalName>FormViewPagerVisibility.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/OverridenControlsPropertyAndPostBack_Bug594238.aspx">\r
-      <LogicalName>OverridenControlsPropertyAndPostBack_Bug594238.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/GlobalizationEncodingName.aspx">\r
-      <LogicalName>GlobalizationEncodingName.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_0.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_0.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_1.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_1.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_2.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_2.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_5.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_5.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_6.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_6.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_7.aspx">\r
-      <LogicalName>CheckBoxField_Bug595568_7.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/GridView_Bug595567.aspx">\r
-      <LogicalName>GridView_Bug595567.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/CheckBoxList_Bug600415.aspx">\r
-      <LogicalName>CheckBoxList_Bug600415.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx">\r
-      <LogicalName>BoundField_Bug646505.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx.cs">\r
-      <LogicalName>BoundField_Bug646505.aspx.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/HtmlTitleCodeRender_Bug662918.aspx">\r
-      <LogicalName>HtmlTitleCodeRender_Bug662918.aspx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs">\r
-      <LogicalName>App_Code/EnumConverterControl.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_Code/MyContainer.cs">\r
-      <LogicalName>App_Code/MyContainer.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_Code/CustomCheckBoxColumn.cs">\r
-      <LogicalName>App_Code/CustomCheckBoxColumn.cs</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx">\r
-      <LogicalName>App_GlobalResources/Common.resx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx">\r
-      <LogicalName>App_GlobalResources/Common.fr-FR.resx</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx">\r
-      <LogicalName>App_GlobalResources/Resource1.resx</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 6db954a2f78dadd9c931bde1b5b7c2b9e2b61c3f..bb9302e4995e3de4be8508cd39637792c1662765 100644 (file)
     <Compile Include="Test\System.Web.Util\UrlUtilsTest.cs" />\r
     <Compile Include="Test\System.Web.Util\WorkItemCas.cs" />\r
     <Compile Include="Test\System.Web\AppBrowsersTest.cs" />\r
+    <Compile Include="Test\System.Web\EventHandlerTaskAsyncHelperTest.cs" />\r
     <Compile Include="Test\System.Web\HttpApplicationCas.cs" />\r
     <Compile Include="Test\System.Web\HttpApplicationStateCas.cs" />\r
     <Compile Include="Test\System.Web\HttpApplicationTest.cs" />\r
     <Compile Include="Test\System.Web\HttpServerUtilityCas.cs" />\r
     <Compile Include="Test\System.Web\HttpServerUtilityTest.cs" />\r
     <Compile Include="Test\System.Web\HttpStaticObjectsCollectionCas.cs" />\r
+    <Compile Include="Test\System.Web\HttpTaskAsyncHandlerTest.cs" />\r
     <Compile Include="Test\System.Web\HttpUnhandledExceptionCas.cs" />\r
     <Compile Include="Test\System.Web\HttpUtilityCas.cs" />\r
     <Compile Include="Test\System.Web\HttpUtilityTest.cs" />\r
     <Compile Include="Test\System.Web\SiteMapNodeTest.cs" />\r
     <Compile Include="Test\System.Web\SiteMapProviderTest.cs" />\r
     <Compile Include="Test\System.Web\StaticSiteMapProviderTest.cs" />\r
+    <Compile Include="Test\System.Web\TaskAsyncResultTest.cs" />\r
     <Compile Include="Test\System.Web\TraceContextCas.cs" />\r
     <Compile Include="Test\System.Web\TraceContextRecordTest.cs" />\r
     <Compile Include="Test\System.Web\VirtualPathUtilityTest.cs" />\r
diff --git a/mcs/class/System.Web/System.Web.Security/MembershipPasswordAttribute.cs b/mcs/class/System.Web/System.Web.Security/MembershipPasswordAttribute.cs
new file mode 100644 (file)
index 0000000..7c85bd0
--- /dev/null
@@ -0,0 +1,110 @@
+//
+// System.Web.Security.MembershipPasswordAttribute
+//
+// Authors:
+// Martin Thwaites (github@my2cents.co.uk)
+//
+// (C) 2014 Martin Thwaites
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text.RegularExpressions;
+
+namespace System.Web.Security
+{
+       [AttributeUsageAttribute (AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter, AllowMultiple = false)]
+       public class MembershipPasswordAttribute : ValidationAttribute
+       {
+               public string MinNonAlphanumericCharactersError { get; set; }
+               public string MinPasswordLengthError { get; set; }
+               public int MinRequiredNonAlphanumericCharacters { get; set; }
+               public int MinRequiredPasswordLength { get; set; }
+               public string PasswordStrengthError { get; set; }
+               public string PasswordStrengthRegularExpression { get; set; }
+               public Type ResourceType { get; set; }
+
+               public MembershipPasswordAttribute ()
+               {
+                       if (Membership.Provider != null)
+                       {
+                               MinRequiredNonAlphanumericCharacters = Membership.Provider.MinRequiredNonAlphanumericCharacters;
+                               MinRequiredPasswordLength = Membership.Provider.MinRequiredPasswordLength;
+                               PasswordStrengthRegularExpression = Membership.Provider.PasswordStrengthRegularExpression;
+                       }
+                       else
+                       {
+                               MinRequiredPasswordLength = 7;
+                               MinRequiredNonAlphanumericCharacters = 1;
+                               PasswordStrengthRegularExpression = @"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})";
+                       }
+                       MinNonAlphanumericCharactersError = "The '{0}' field is an invalid password. Password must have {1} or more non-alphanumeric characters.";
+                       MinPasswordLengthError = "The '{0}' field is an invalid password. Password must have {1} or more characters.";
+                       PasswordStrengthError = "The '{0}' field is an invalid password. It does not meet the password strength requirements";
+                       ErrorMessage = "The field {0} is invalid.";
+               }
+
+               protected override ValidationResult IsValid (object value, ValidationContext validationContext)
+               {
+                       var password = value as string;
+                       var isError = false;
+                       if (string.IsNullOrEmpty(password))
+                               return null;
+
+                       var errorMessage = string.Empty;
+                       var parameter = 0;
+                       var pattern = new Regex (@"\W|_");
+
+                       if (MinRequiredPasswordLength > 0 && 
+                               password.Length < MinRequiredPasswordLength) {
+                               errorMessage = MinPasswordLengthError;
+                               parameter = MinRequiredPasswordLength;
+                               isError = true;
+                       }
+
+                       if (!isError && MinRequiredNonAlphanumericCharacters > 0 &&
+                           pattern.Matches (password).Count < MinRequiredNonAlphanumericCharacters) {
+                               errorMessage = MinNonAlphanumericCharactersError;
+                               parameter = MinRequiredNonAlphanumericCharacters;
+                               isError = true;
+                       }
+
+                       if (!isError && !string.IsNullOrEmpty (PasswordStrengthRegularExpression) && 
+                               new Regex (PasswordStrengthRegularExpression).IsMatch (password)) {
+                               errorMessage = PasswordStrengthError;
+                               isError = true;
+                       }
+
+                       if (isError) {
+                               if (validationContext == null)
+                                       return new ValidationResult("error");
+
+                               return new ValidationResult (
+                                       string.Format (errorMessage, validationContext.DisplayName, parameter), 
+                                                       new[] {validationContext.MemberName});
+                       }
+
+                       return ValidationResult.Success;
+               }
+       }
+}
diff --git a/mcs/class/System.Web/System.Web/EventHandlerTaskAsyncHelper.cs b/mcs/class/System.Web/System.Web/EventHandlerTaskAsyncHelper.cs
new file mode 100644 (file)
index 0000000..d80188b
--- /dev/null
@@ -0,0 +1,62 @@
+//
+// System.Web.EventHandlerTaskAsyncHelper.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Threading.Tasks;
+
+namespace System.Web
+{
+       public sealed class EventHandlerTaskAsyncHelper
+       {
+               readonly TaskEventHandler taskEventHandler;
+               readonly BeginEventHandler beginEventHandler;
+               static readonly EndEventHandler endEventHandler = TaskAsyncResult.Wait;
+
+               public BeginEventHandler BeginEventHandler {
+                       get { return beginEventHandler; }
+               }
+
+               public EndEventHandler EndEventHandler {
+                       get { return endEventHandler; }
+               }
+
+               public EventHandlerTaskAsyncHelper (TaskEventHandler handler)
+               {
+                       if (handler == null)
+                               throw new ArgumentNullException ("handler");
+
+                       taskEventHandler = handler;
+                       beginEventHandler = GetAsyncResult;
+               }
+
+               IAsyncResult GetAsyncResult (object sender, EventArgs e, AsyncCallback callback, object state)
+               {
+                       Task task = taskEventHandler (sender, e);
+                       return TaskAsyncResult.GetAsyncResult (task, callback, state);
+               }
+       }
+}
index a2dd750eff48c2cb49596be5b3919ce55551579e..6f845dbe10855aeeca7e54119f35d3b2abb604ed 100755 (executable)
@@ -80,13 +80,17 @@ namespace System.Web
                string unescaped_path;
                string original_path;
                string path_info;
+               string path_info_unvalidated;
                string raw_url;
+               string raw_url_unvalidated;
                WebROCollection all_params;
-               WebROCollection headers;
+               NameValueCollection headers;
+               WebROCollection headers_unvalidated;
                Stream input_stream;
                InputFilterStream input_filter;
                Stream filter;
                HttpCookieCollection cookies;
+               HttpCookieCollection cookies_unvalidated;
                string http_method;
 
                WebROCollection form;
@@ -440,17 +444,27 @@ namespace System.Web
                        }
                }
 
-               public HttpCookieCollection Cookies {
+               internal HttpCookieCollection CookiesNoValidation {
                        get {
-                               if (cookies == null) {
+                               if (cookies_unvalidated == null) {
                                        if (worker_request == null) {
-                                               cookies = new HttpCookieCollection ();
+                                               cookies_unvalidated = new HttpCookieCollection ();
                                        } else {
                                                string cookie_hv = worker_request.GetKnownRequestHeader (HttpWorkerRequest.HeaderCookie);
-                                               cookies = new HttpCookieCollection (cookie_hv);
+                                               cookies_unvalidated = new HttpCookieCollection (cookie_hv);
                                        }
                                }
 
+                               return cookies_unvalidated;
+                       }
+               }
+
+               public HttpCookieCollection Cookies {
+                       get {
+                               if (cookies == null) {
+                                       cookies = CookiesNoValidation;
+                               }
+
 #if TARGET_J2EE
                                // For J2EE portal support we emulate cookies using the session.
                                GetSessionCookiesForPortal (cookies);
@@ -737,10 +751,20 @@ namespace System.Web
                        }
                }
 
+               internal NameValueCollection HeadersNoValidation {
+                       get {
+                               if (headers_unvalidated == null) {
+                                       headers_unvalidated = new HeadersCollection (this);
+                               }
+                       
+                               return headers_unvalidated;
+                       }
+               }
+
                public NameValueCollection Headers {
                        get {
                                if (headers == null) {
-                                       headers = new HeadersCollection (this);
+                                       headers = HeadersNoValidation;
 #if NET_4_0
                                        if (validateRequestNewMode) {
                                                RequestValidator validator = RequestValidator.Current;
@@ -1226,12 +1250,23 @@ namespace System.Web
                        }
                }
 
+               internal string PathInfoNoValidation {
+                       get {
+                               if (path_info_unvalidated == null) {
+                                       if (worker_request == null)
+                                               return String.Empty;
+
+                                       path_info_unvalidated = worker_request.GetPathInfo () ?? String.Empty;
+                               }
+
+                               return path_info_unvalidated;
+                       }
+               }
+
                public string PathInfo {
                        get {
                                if (path_info == null) {
-                                       if (worker_request == null)
-                                               return String.Empty;
-                                       path_info = worker_request.GetPathInfo () ?? String.Empty;
+                                       path_info = PathInfoNoValidation;
 #if NET_4_0
                                        if (validateRequestNewMode) {
                                                RequestValidator validator = RequestValidator.Current;
@@ -1335,16 +1370,26 @@ namespace System.Web
                        }
                }
 
-               public string RawUrl {
+               internal string RawUrlUnvalidated {
                        get {
-                               if (raw_url == null) {
+                               if (raw_url_unvalidated == null) {
                                        if (worker_request != null)
-                                               raw_url = worker_request.GetRawUrl ();
+                                               raw_url_unvalidated = worker_request.GetRawUrl ();
                                        else
-                                               raw_url = UrlComponents.Path + UrlComponents.Query;
+                                               raw_url_unvalidated = UrlComponents.Path + UrlComponents.Query;
                                        
-                                       if (raw_url == null)
-                                               raw_url = String.Empty;
+                                       if (raw_url_unvalidated == null)
+                                               raw_url_unvalidated = String.Empty;
+                               }
+
+                               return raw_url_unvalidated;
+                       }
+               }
+
+               public string RawUrl {
+                       get {
+                               if (raw_url == null) {
+                                       raw_url = RawUrlUnvalidated;
 #if NET_4_0
                                        if (validateRequestNewMode) {
                                                RequestValidator validator = RequestValidator.Current;
@@ -1398,6 +1443,26 @@ namespace System.Web
                        }
                }
 
+#if NET_4_5
+               public UnvalidatedRequestValues Unvalidated { 
+                       get {
+                               var vals = new UnvalidatedRequestValues ();
+                               
+                               vals.Cookies = CookiesNoValidation;
+                               vals.Files = Files;
+                               vals.Form = FormUnvalidated;
+                               vals.Headers = HeadersNoValidation;
+                               vals.Path = PathNoValidation;
+                               vals.PathInfo = PathInfoNoValidation;
+                               vals.QueryString = QueryStringUnvalidated;
+                               vals.RawUrl = RawUrlUnvalidated;
+                               vals.Url = Url;
+                               
+                               return vals;
+                       }
+               }
+#endif
+
                public Uri Url {
                        get {
                                if (cached_url == null) {
diff --git a/mcs/class/System.Web/System.Web/HttpTaskAsyncHandler.cs b/mcs/class/System.Web/System.Web/HttpTaskAsyncHandler.cs
new file mode 100644 (file)
index 0000000..9cdcf73
--- /dev/null
@@ -0,0 +1,59 @@
+//
+// System.Web.HttpTaskAsyncHandler.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.ComponentModel;
+using System.Threading.Tasks;
+
+namespace System.Web
+{
+       public abstract class HttpTaskAsyncHandler : IHttpAsyncHandler, IHttpHandler
+       {
+               public virtual bool IsReusable {
+                       get { return false; }
+               }
+
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public virtual void ProcessRequest (HttpContext context)
+               {
+                       throw new NotSupportedException ("This handler cannot be executed synchronously.");
+               }
+
+               public abstract Task ProcessRequestAsync (HttpContext context);
+
+               IAsyncResult IHttpAsyncHandler.BeginProcessRequest (HttpContext context, AsyncCallback cb, object extraData)
+               {
+                       Task task = ProcessRequestAsync (context);
+                       return TaskAsyncResult.GetAsyncResult (task, cb, extraData);
+               }
+
+               void IHttpAsyncHandler.EndProcessRequest (IAsyncResult result)
+               {
+                       TaskAsyncResult.Wait (result);
+               }
+       }
+}
diff --git a/mcs/class/System.Web/System.Web/TaskAsyncResult.cs b/mcs/class/System.Web/System.Web/TaskAsyncResult.cs
new file mode 100644 (file)
index 0000000..2e3bd27
--- /dev/null
@@ -0,0 +1,101 @@
+//
+// System.Web.TaskAsyncResult.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace System.Web
+{
+       sealed class TaskAsyncResult : IAsyncResult
+       {
+               static readonly Action<Task, object> invokeCallback = InvokeCallback;
+               readonly Task task;
+               readonly AsyncCallback callback;
+
+               public object AsyncState {
+                       get;
+                       private set;
+               }
+
+               public WaitHandle AsyncWaitHandle {
+                       get { return ((IAsyncResult) task).AsyncWaitHandle; }
+               }
+
+               public bool CompletedSynchronously {
+                       get;
+                       private set;
+               }
+
+               public bool IsCompleted {
+                       get { return task.IsCompleted; }
+               }
+
+               TaskAsyncResult (Task task, AsyncCallback callback, object state)
+               {
+                       this.task = task;
+                       this.callback = callback;
+                       this.AsyncState = state;
+                       this.CompletedSynchronously = task.IsCompleted;
+               }
+
+               public static IAsyncResult GetAsyncResult (Task task, AsyncCallback callback, object state)
+               {
+                       if (task == null)
+                               return null;
+
+                       var result = new TaskAsyncResult (task, callback, state);
+
+                       if (callback != null) {
+                               if (result.CompletedSynchronously)
+                                       callback (result);
+                               else
+                                       task.ContinueWith (invokeCallback, result);
+                       }
+
+                       return result;
+               }
+
+               public static void Wait (IAsyncResult result)
+               {
+                       if (result == null)
+                               throw new ArgumentNullException ("result");
+
+                       var taskAsyncResult = result as TaskAsyncResult;
+                       if (taskAsyncResult == null)
+                               throw new ArgumentException ("The provided IAsyncResult is invalid.", "result");
+
+                       taskAsyncResult.task.GetAwaiter ().GetResult ();
+               }
+
+               static void InvokeCallback (Task task, object state)
+               {
+                       var result = (TaskAsyncResult) state;
+                       result.callback (result);
+               }
+       }
+}
diff --git a/mcs/class/System.Web/System.Web/TaskEventHandler.cs b/mcs/class/System.Web/System.Web/TaskEventHandler.cs
new file mode 100644 (file)
index 0000000..9fc7988
--- /dev/null
@@ -0,0 +1,34 @@
+//
+// System.Web.TaskEventHandler.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Threading.Tasks;
+
+namespace System.Web
+{
+       public delegate Task TaskEventHandler (object sender, EventArgs e);
+}
diff --git a/mcs/class/System.Web/System.Web/UnvalidatedRequestValues.cs b/mcs/class/System.Web/System.Web/UnvalidatedRequestValues.cs
new file mode 100644 (file)
index 0000000..707b67e
--- /dev/null
@@ -0,0 +1,66 @@
+//
+// System.Web.UnvalidatedRequestValues.cs
+//
+// Author:
+//   Mike Morano <mmorano@mikeandwan.us>
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Specialized;
+
+
+namespace System.Web {
+       public sealed class UnvalidatedRequestValues {
+               public HttpCookieCollection Cookies { get; internal set; }
+               public HttpFileCollection Files { get; internal set; }
+               public NameValueCollection Form { get; internal set; }
+               public NameValueCollection Headers { get; internal set; }
+               public string Path { get; internal set; }
+               public string PathInfo { get; internal set; }
+               public NameValueCollection QueryString { get; internal set; }
+               public string RawUrl { get; internal set; }
+               public Uri Url { get; internal set; }
+
+               public string this[string field] { 
+                       get {
+                               if (Form != null && Form [field] != null) {
+                                       return Form [field];
+                               }
+
+                               if (Cookies != null && Cookies [field] != null) {
+                                       return Cookies [field].Value;
+                               }
+
+                               if (QueryString != null && QueryString [field] != null) {
+                                       return QueryString [field];
+                               }
+
+                               // msdn docs also suggest the ServerVariables are inspected by this indexer,
+                               // but that seems odd given what is available in this class
+
+                               return null;
+                       }
+               }
+       }
+}
diff --git a/mcs/class/System.Web/System.Web/UnvalidatedRequestValuesBase.cs b/mcs/class/System.Web/System.Web/UnvalidatedRequestValuesBase.cs
new file mode 100644 (file)
index 0000000..9b54b07
--- /dev/null
@@ -0,0 +1,90 @@
+//
+// System.Web.UnvalidatedRequestValuesBase.cs
+//
+// Author:
+//   Mike Morano <mmorano@mikeandwan.us>
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Specialized;
+
+
+namespace System.Web {
+       public abstract class UnvalidatedRequestValuesBase {
+               void NotImplemented ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public virtual HttpCookieCollection Cookies 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual HttpFileCollection Files 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual NameValueCollection Form 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual NameValueCollection Headers 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual string this[string field] 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual string Path 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual string PathInfo 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual NameValueCollection QueryString 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual string RawUrl 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+
+               public virtual Uri Url 
+               { 
+                       get { NotImplemented (); return null; }
+               }
+       }
+}
diff --git a/mcs/class/System.Web/System.Web/UnvalidatedRequestValuesWrapper.cs b/mcs/class/System.Web/System.Web/UnvalidatedRequestValuesWrapper.cs
new file mode 100644 (file)
index 0000000..e6b6084
--- /dev/null
@@ -0,0 +1,92 @@
+//
+// System.Web.UnvalidatedRequestValuesWrapper.cs
+//
+// Author:
+//   Mike Morano <mmorano@mikeandwan.us>
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Specialized;
+
+
+namespace System.Web {
+       public class UnvalidatedRequestValuesWrapper : UnvalidatedRequestValuesBase {
+               UnvalidatedRequestValues rv;
+
+               public UnvalidatedRequestValuesWrapper (UnvalidatedRequestValues requestValues) 
+               {
+                       rv = requestValues;
+               }
+
+               public override HttpCookieCollection Cookies 
+               { 
+                       get { return rv.Cookies; }
+               }
+
+               public override HttpFileCollection Files 
+               { 
+                       get { return rv.Files; }
+               }
+
+               public override NameValueCollection Form 
+               { 
+                       get { return rv.Form; }
+               }
+
+               public override NameValueCollection Headers 
+               { 
+                       get { return rv.Headers; }
+               }
+
+               public override string this[string field] 
+               { 
+                       get { return rv[field]; }
+               }
+
+               public override string Path 
+               { 
+                       get { return rv.Path; }
+               }
+
+               public override string PathInfo 
+               { 
+                       get { return rv.PathInfo; }
+               }
+
+               public override NameValueCollection QueryString 
+               { 
+                       get { return rv.QueryString; }
+               }
+
+               public override string RawUrl 
+               { 
+                       get { return rv.RawUrl; }
+               }
+
+               public override Uri Url 
+               { 
+                       get { return rv.Url; }
+               }
+       }
+}
index fd634af76c39c9e156c831444a2d211eb323bdde..29339b428c9d3f6677cac539ae7e76751a53878d 100644 (file)
@@ -45,6 +45,7 @@ mainsoft/NunitWeb/NunitWeb/Tests/AuthorConverter.cs
 mainsoft/NunitWeb/NunitWeb/Tests/Book.cs
 mainsoft/NunitWeb/NunitWeb/Tests/BookType.cs
 System.Web/AppBrowsersTest.cs
+System.Web/EventHandlerTaskAsyncHelperTest.cs
 System.Web/HttpApplicationTest.cs
 System.Web/HttpBrowserCapabilitiesTest.cs
 System.Web/HttpCacheVaryByContentEncodingsTest.cs
@@ -58,10 +59,12 @@ System.Web/HttpRequestTest.cs
 System.Web/HttpResponseTest.cs
 System.Web/HttpRuntimeTest.cs
 System.Web/HttpServerUtilityTest.cs
+System.Web/HttpTaskAsyncHandlerTest.cs
 System.Web/HttpUtilityTest.cs
 System.Web/SiteMapProviderTest.cs
 System.Web/SiteMapNodeTest.cs
 System.Web/StaticSiteMapProviderTest.cs
+System.Web/TaskAsyncResultTest.cs
 System.Web/TraceContextRecordTest.cs
 System.Web.Compilation/BuildManagerTest.cs
 System.Web.Compilation/ClientBuildManagerParameterTest.cs
@@ -103,6 +106,7 @@ System.Web.Profile/ProfileInfoTest.cs
 System.Web.Security/FormsAuthenticationTest.cs
 System.Web.Security/FormsIdentityTest.cs
 System.Web.Security/MembershipTest.cs
+System.Web.Security/MembershipPasswordAttributeTest.cs
 System.Web.Security/MembershipProviderCollectionTest.cs
 System.Web.Security/MembershipProviderTest.cs
 System.Web.Security/MembershipUserCollectionTest.cs
diff --git a/mcs/class/System.Web/Test/System.Web.Security/MembershipPasswordAttributeTest.cs b/mcs/class/System.Web/Test/System.Web.Security/MembershipPasswordAttributeTest.cs
new file mode 100644 (file)
index 0000000..4ace2ca
--- /dev/null
@@ -0,0 +1,140 @@
+#if NET_4_5
+
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Web.Security;
+using NUnit.Framework;
+
+namespace MonoTests.System.Web.Security {
+
+       [TestFixture]
+       public class MembershipPasswordAttributeTest
+       {
+               private ValidationContext _validationContext;
+
+               public MembershipPasswordAttributeTest ()
+               {
+                       _validationContext = new ValidationContext (new object ())
+                               {
+                                       DisplayName = "testDisplay",
+                                       MemberName = "testMember"
+                               };
+               }
+
+               [Test]
+               public void IsValid ()
+               {
+                       var passwordAttribute = new MembershipPasswordAttributeTestClass ();
+                       Assert.IsTrue (passwordAttribute.IsValid (""), "sending an empty password password should should be treated as valid");
+               }
+
+               [Test]
+               public void IsValid_with_ValidationContext ()
+               {
+                       var passwordAttribute = new MembershipPasswordAttributeTestClass ();
+                       var result = passwordAttribute.TestValidation ("", _validationContext);
+                       Assert.IsNull (result, "sending an empty password password should return a null response");
+
+                       result = passwordAttribute.TestValidation ("a!12345", _validationContext);
+                       Assert.AreEqual (ValidationResult.Success, result, "Should suceed with a 7 character length and a single nonalphanumeric");
+
+                       // test error priority
+                       passwordAttribute.MinRequiredPasswordLength = 4;
+                       passwordAttribute.MinRequiredNonAlphanumericCharacters = 2;
+                       result = passwordAttribute.TestValidation ("aaa", _validationContext);
+                       Assert.AreEqual ("The 'testDisplay' field is an invalid password. Password must have 4 or more characters.", result.ErrorMessage);
+                       
+               }
+
+               [Test]
+               public void MinRequiredPasswordLength ()
+               {
+                       var passwordAttribute = new MembershipPasswordAttributeTestClass ();
+                       var result = passwordAttribute.TestValidation ("a!1234", _validationContext);
+                       Assert.AreEqual ("The 'testDisplay' field is an invalid password. Password must have 7 or more characters.", result.ErrorMessage, "Error message not correct for lower Min characters");
+                       Assert.AreEqual (_validationContext.MemberName, result.MemberNames.FirstOrDefault (), "Member name not correct");
+
+                       passwordAttribute.MinRequiredPasswordLength = 6;
+                       result = passwordAttribute.TestValidation ("a!1234", _validationContext);
+                       Assert.AreEqual (ValidationResult.Success, result, "Should suceed with a 6 character length after it's reset");
+
+                       result = passwordAttribute.TestValidation ("a!123", _validationContext);
+                       Assert.AreEqual("The 'testDisplay' field is an invalid password. Password must have 6 or more characters.", result.ErrorMessage, "Error message not correct for Min characters of 6");
+
+
+                       passwordAttribute.MinRequiredPasswordLength = 1;
+                       result = passwordAttribute.TestValidation ("!", _validationContext);
+                       Assert.AreEqual(ValidationResult.Success, result, "Should suceed with a 6 character length after it's reset");
+
+                       // Note there is no test for empty password here as it returns null and is therefore in the generic test
+
+                       // Error Message changes
+                       passwordAttribute.MinRequiredPasswordLength = 5;
+                       passwordAttribute.MinPasswordLengthError = "There was an error";
+                       result = passwordAttribute.TestValidation ("a!13", _validationContext);
+                       Assert.AreEqual("There was an error", result.ErrorMessage, "Error Message wasn't correct without parameters.");
+
+                       passwordAttribute.MinPasswordLengthError = "There was an error parameter1: {0}";
+                       result = passwordAttribute.TestValidation ("a!13", _validationContext);
+                       Assert.AreEqual("There was an error parameter1: testDisplay", result.ErrorMessage, "Error Message wasn't correct with 1 parameter.");
+
+                       passwordAttribute.MinPasswordLengthError = "There was an error parameter1: {0} parameter2: {1}";
+                       result = passwordAttribute.TestValidation ("a!13", _validationContext);
+                       Assert.AreEqual ("There was an error parameter1: testDisplay parameter2: 5", result.ErrorMessage, "Error Message wasn't correct with 2 parameters.");
+
+               }
+
+               [Test]
+               public void MinRequiredNonAlphanumericCharacters ()
+               {
+                       var passwordAttribute = new MembershipPasswordAttributeTestClass ();
+                       var result = passwordAttribute.TestValidation ("a!12345", _validationContext);
+                       Assert.AreEqual (ValidationResult.Success, result, "Should succeed with the default 1 non alpha numeric");
+
+                       result = passwordAttribute.TestValidation ("a123456", _validationContext);
+                       Assert.AreEqual ("The 'testDisplay' field is an invalid password. Password must have 1 or more non-alphanumeric characters.", result.ErrorMessage, "Expected validation to fail without non-alphanumerics");
+
+
+                       passwordAttribute.MinRequiredNonAlphanumericCharacters = 3;
+                       result = passwordAttribute.TestValidation ("a!&12345", _validationContext);
+                       Assert.AreEqual ("The 'testDisplay' field is an invalid password. Password must have 3 or more non-alphanumeric characters.", result.ErrorMessage, "Expected validation to fail without 3 non-alphanumerics");
+
+                       result = passwordAttribute.TestValidation ("a!?&132154", _validationContext);
+                       Assert.AreEqual (ValidationResult.Success, result, "Should succeed with 3 non alpha numerics");
+
+                       passwordAttribute.MinRequiredNonAlphanumericCharacters = 0;
+                       result = passwordAttribute.TestValidation ("a123456", _validationContext);
+                       Assert.AreEqual (ValidationResult.Success, result, "Should succeed with 0 non alpha numerics");
+
+                       // Error Message changes
+                       passwordAttribute.MinRequiredNonAlphanumericCharacters = 1;
+                       passwordAttribute.MinNonAlphanumericCharactersError = "There was an error";
+                       result = passwordAttribute.TestValidation ("a123456", _validationContext);
+                       Assert.AreEqual ("There was an error", result.ErrorMessage, "Error Message wasn't correct without parameters.");
+
+                       passwordAttribute.MinNonAlphanumericCharactersError = "There was an error parameter1: {0}";
+                       result = passwordAttribute.TestValidation ("a123456", _validationContext);
+                       Assert.AreEqual("There was an error parameter1: testDisplay", result.ErrorMessage, "Error Message wasn't correct with 1 parameter.");
+
+                       passwordAttribute.MinNonAlphanumericCharactersError = "There was an error parameter1: {0} parameter2: {1}";
+                       result = passwordAttribute.TestValidation ("a123456", _validationContext);
+                       Assert.AreEqual ("There was an error parameter1: testDisplay parameter2: 1", result.ErrorMessage, "Error Message wasn't correct with 2 parameters.");
+               }
+
+               [Test]
+               public void FormatErrorMessage ()
+               {
+                       var passwordAttribute = new MembershipPasswordAttribute ();
+                       Assert.AreEqual ("The field testDisplay2 is invalid.", passwordAttribute.FormatErrorMessage ("testDisplay2"));
+               }
+
+               internal class MembershipPasswordAttributeTestClass : MembershipPasswordAttribute
+               {
+                       public ValidationResult TestValidation (object val, ValidationContext context)
+                       {
+                               return IsValid (val, context);
+                       }
+               }
+       }
+}
+#endif
diff --git a/mcs/class/System.Web/Test/System.Web/EventHandlerTaskAsyncHelperTest.cs b/mcs/class/System.Web/Test/System.Web/EventHandlerTaskAsyncHelperTest.cs
new file mode 100644 (file)
index 0000000..9ae8aae
--- /dev/null
@@ -0,0 +1,118 @@
+//
+// MonoTests.System.Web.EventHandlerTaskAsyncHelperTest.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_5
+
+using System;
+using System.Threading.Tasks;
+using System.Web;
+using NUnit.Framework;
+
+namespace MonoTests.System.Web
+{
+       [TestFixture]
+       public sealed class EventHandlerTaskAsyncHelperTest : TaskAsyncResultTest
+       {
+               EventHandlerTaskAsyncHelper helper;
+               object expectedSender;
+               EventArgs expectedEventArgs;
+
+               static Task DummyTaskEventHandler (object sender, EventArgs e)
+               {
+                       throw new AssertionException ("Should not be called.");
+               }
+
+               protected override void SetNullArguments ()
+               {
+                       expectedSender = null;
+                       expectedEventArgs = null;
+               }
+
+               protected override IAsyncResult GetAsyncResult (Func<Task> taskFactory, AsyncCallback callback, object state)
+               {
+                       Assert.IsNull (helper, "GetAsyncResult#A01");
+
+                       TaskEventHandler handler = (sender, e) => {
+                               Assert.AreSame (expectedSender, sender, "GetAsyncResult#A02");
+                               Assert.AreSame (expectedEventArgs, e, "GetAsyncResult#A03");
+
+                               return taskFactory ();
+                       };
+
+                       helper = new EventHandlerTaskAsyncHelper (handler);
+                       return helper.BeginEventHandler (expectedSender, expectedEventArgs, callback, state);
+               }
+
+               protected override void Wait (IAsyncResult result)
+               {
+                       Assert.IsNotNull (helper, "Wait#A01");
+
+                       helper.EndEventHandler (result);
+               }
+
+               protected override void TestSetUp ()
+               {
+                       base.TestSetUp ();
+
+                       helper = null;
+                       expectedSender = new object ();
+                       expectedEventArgs = new EventArgs ();
+               }
+
+               [Test]
+               public void Constructor ()
+               {
+                       var helper = new EventHandlerTaskAsyncHelper (DummyTaskEventHandler);
+               }
+
+               [Test]
+               [ExpectedException (typeof (ArgumentNullException))]
+               public void Constructor_NullHandler ()
+               {
+                       var helper = new EventHandlerTaskAsyncHelper (null);
+               }
+
+               [Test]
+               public void BeginEventHandler ()
+               {
+                       var helper = new EventHandlerTaskAsyncHelper (DummyTaskEventHandler);
+
+                       Assert.IsNotNull (helper.BeginEventHandler, "#A01");
+               }
+
+               [Test]
+               public void EndEventHandler ()
+               {
+                       var helper = new EventHandlerTaskAsyncHelper (DummyTaskEventHandler);
+
+                       Assert.IsNotNull (helper.EndEventHandler, "#A01");
+               }
+       }
+}
+
+#endif
diff --git a/mcs/class/System.Web/Test/System.Web/HttpTaskAsyncHandlerTest.cs b/mcs/class/System.Web/Test/System.Web/HttpTaskAsyncHandlerTest.cs
new file mode 100644 (file)
index 0000000..50afda1
--- /dev/null
@@ -0,0 +1,132 @@
+//
+// MonoTests.System.Web.HttpTaskAsyncHandlerTest.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_5
+
+using System;
+using System.IO;
+using System.Threading.Tasks;
+using System.Web;
+using NUnit.Framework;
+
+namespace MonoTests.System.Web
+{
+       [TestFixture]
+       public sealed class HttpTaskAsyncHandlerTest : TaskAsyncResultTest
+       {
+               sealed class DummyHttpTaskAsyncHandler : HttpTaskAsyncHandler
+               {
+                       public DummyHttpTaskAsyncHandler ()
+                       {
+                       }
+
+                       public override Task ProcessRequestAsync (HttpContext context)
+                       {
+                               throw new AssertionException ("Should not be called.");
+                       }
+               }
+
+               sealed class TestHttpTaskAsyncHandler : HttpTaskAsyncHandler
+               {
+                       readonly Func<Task> taskFactory;
+                       readonly HttpContext expectedContext;
+
+                       public TestHttpTaskAsyncHandler (Func<Task> taskFactory, HttpContext expectedContext)
+                       {
+                               this.taskFactory = taskFactory;
+                               this.expectedContext = expectedContext;
+                       }
+
+                       public override Task ProcessRequestAsync (HttpContext context)
+                       {
+                               Assert.AreSame (expectedContext, context, "TestHttpTaskAsyncHandler#A01");
+
+                               return taskFactory ();
+                       }
+               }
+
+               IHttpAsyncHandler handler;
+               HttpContext expectedContext;
+
+               protected override void SetNullArguments ()
+               {
+                       expectedContext = null;
+               }
+
+               protected override IAsyncResult GetAsyncResult (Func<Task> taskFactory, AsyncCallback callback, object state)
+               {
+                       Assert.IsNull (handler, "GetAsyncResult#A01");
+
+                       handler = new TestHttpTaskAsyncHandler (taskFactory, expectedContext);
+                       return handler.BeginProcessRequest (expectedContext, callback, state);
+               }
+
+               protected override void Wait (IAsyncResult result)
+               {
+                       Assert.IsNotNull (handler, "Wait#A01");
+
+                       handler.EndProcessRequest (result);
+               }
+
+               protected override void TestSetUp ()
+               {
+                       base.TestSetUp ();
+
+                       handler = null;
+
+                       var request = new HttpRequest (string.Empty, "http://localhost/", string.Empty);
+                       var response = new HttpResponse (TextWriter.Null);
+                       expectedContext = new HttpContext (request, response);
+               }
+
+               [Test]
+               public void IsReusable ()
+               {
+                       var handler = new DummyHttpTaskAsyncHandler ();
+                       Assert.IsFalse (handler.IsReusable, "#A01");
+               }
+
+               [Test]
+               [ExpectedException (typeof (NotSupportedException))]
+               public void ProcessRequest ()
+               {
+                       var handler = new DummyHttpTaskAsyncHandler ();
+                       handler.ProcessRequest (expectedContext);
+               }
+
+               [Test]
+               [ExpectedException (typeof (NotSupportedException))]
+               public void ProcessRequest_NullContext ()
+               {
+                       var handler = new DummyHttpTaskAsyncHandler ();
+                       handler.ProcessRequest (null);
+               }
+       }
+}
+
+#endif
diff --git a/mcs/class/System.Web/Test/System.Web/TaskAsyncResultTest.cs b/mcs/class/System.Web/Test/System.Web/TaskAsyncResultTest.cs
new file mode 100644 (file)
index 0000000..301a298
--- /dev/null
@@ -0,0 +1,334 @@
+//
+// MonoTests.System.Web.TaskAsyncResultTest.cs
+//
+// Author:
+//   Kornel Pal (kornelpal@gmail.com)
+//
+// Copyright (C) 2014 Kornel Pal
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_5
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using NUnit.Framework;
+
+namespace MonoTests.System.Web
+{
+       public abstract class TaskAsyncResultTest
+       {
+               sealed class TestException : Exception
+               {
+                       public TestException ()
+                               : base ("Test exception")
+                       {
+                       }
+               }
+
+               sealed class DummyAsyncResult : IAsyncResult
+               {
+                       public object AsyncState {
+                               get { throw new AssertionException ("Should not be called."); }
+                       }
+
+                       public WaitHandle AsyncWaitHandle {
+                               get { throw new AssertionException ("Should not be called."); }
+                       }
+
+                       public bool CompletedSynchronously {
+                               get { throw new AssertionException ("Should not be called."); }
+                       }
+
+                       public bool IsCompleted {
+                               get { throw new AssertionException ("Should not be called."); }
+                       }
+               }
+
+               int testThreadId;
+               int factoryCount;
+               int callbackCount;
+               object expectedState;
+               Exception expectedException;
+               TaskCompletionSource<object> taskCompletion;
+               TaskCompletionSource<object> callbackCompletion;
+               IAsyncResult taskAsyncResult;
+
+               static Task NullTaskFatory ()
+               {
+                       return null;
+               }
+
+               static Task CompletedTaskFatory ()
+               {
+                       return Task.FromResult<object> (null);
+               }
+
+               static Task FailingTaskFatory ()
+               {
+                       throw new TestException ();
+               }
+
+               void DummyCallback (IAsyncResult result)
+               {
+                       Interlocked.Increment (ref callbackCount);
+
+                       Assert.Fail ("Should not be called.");
+               }
+
+               void FailingCallback (IAsyncResult result)
+               {
+                       Interlocked.Increment (ref callbackCount);
+
+                       throw new TestException ();
+               }
+
+               protected abstract void SetNullArguments ();
+               protected abstract IAsyncResult GetAsyncResult (Func<Task> taskFactory, AsyncCallback callback, object state);
+               protected abstract void Wait (IAsyncResult result);
+
+               [SetUp]
+               protected virtual void TestSetUp ()
+               {
+                       testThreadId = Thread.CurrentThread.ManagedThreadId;
+                       factoryCount = 0;
+                       callbackCount = 0;
+                       expectedState = new object ();
+                       expectedException = null;
+                       taskCompletion = new TaskCompletionSource<object> ();
+                       callbackCompletion = new TaskCompletionSource<object> ();
+                       taskAsyncResult = null;
+               }
+
+               [Test]
+               public void Invoke_NullArguments ()
+               {
+                       SetNullArguments ();
+
+                       IAsyncResult result = GetAsyncResult (CompletedTaskFatory, null, null);
+                       Wait (result);
+               }
+
+               [Test]
+               public void Invoke_NullTask ()
+               {
+                       IAsyncResult result = GetAsyncResult (NullTaskFatory, DummyCallback, null);
+
+                       Assert.AreEqual (0, callbackCount, "#A01");
+                       Assert.IsNull (result, "#A02");
+               }
+
+               [Test]
+               [ExpectedException (typeof (TestException))]
+               public void Invoke_TaskFatoryException ()
+               {
+                       try {
+                               GetAsyncResult (FailingTaskFatory, DummyCallback, expectedState);
+                       } finally {
+                               Assert.AreEqual (0, callbackCount, "#A01");
+                       }
+               }
+
+               [Test]
+               [ExpectedException (typeof (TestException))]
+               public void Invoke_CallbackException ()
+               {
+                       try {
+                               GetAsyncResult (CompletedTaskFatory, FailingCallback, expectedState);
+                       } finally {
+                               Assert.AreEqual (1, callbackCount, "#A01");
+                       }
+               }
+
+               [Test]
+               [ExpectedException (typeof (ArgumentNullException))]
+               public void Invoke_NullResult ()
+               {
+                       GetAsyncResult (NullTaskFatory, DummyCallback, null);
+                       Wait (null);
+               }
+
+               [Test]
+               [ExpectedException (typeof (ArgumentException))]
+               public void Invoke_InvalidResult ()
+               {
+                       GetAsyncResult (NullTaskFatory, DummyCallback, null);
+                       Wait (new DummyAsyncResult ());
+               }
+
+               void SetTaskResult ()
+               {
+                       if (expectedException == null)
+                               taskCompletion.SetResult (null);
+                       else
+                               taskCompletion.SetException (expectedException);
+               }
+
+               void WaitTaskResult ()
+               {
+                       if (expectedException == null) {
+                               Wait (taskAsyncResult);
+                               return;
+                       }
+
+                       try {
+                               Wait (taskAsyncResult);
+
+                               Assert.Fail ("Expected exception was not thrown.");
+                       } catch (AssertionException) {
+                               throw;
+                       } catch (Exception ex) {
+                               Assert.AreSame (expectedException, ex, "WaitTaskResult#A01");
+                       }
+               }
+
+               [Test]
+               public void InvokeSync ()
+               {
+                       InvokeSyncCore ();
+               }
+
+               [Test]
+               public void InvokeSync_Failed ()
+               {
+                       expectedException = new TestException ();
+
+                       InvokeSyncCore ();
+               }
+
+               void InvokeSyncCore ()
+               {
+                       IAsyncResult result = GetAsyncResult (SyncTaskFatory, SyncCallback, expectedState);
+
+                       Assert.IsNotNull (result, "InvokeSyncCore#A01");
+                       Assert.AreSame (taskAsyncResult, result, "InvokeSyncCore#A02");
+
+                       WaitTaskResult ();
+
+                       Assert.AreEqual (1, factoryCount, "InvokeSyncCore#A03");
+                       Assert.AreEqual (1, callbackCount, "InvokeSyncCore#A04");
+               }
+
+               Task SyncTaskFatory ()
+               {
+                       Interlocked.Increment (ref factoryCount);
+
+                       Assert.AreEqual (testThreadId, Thread.CurrentThread.ManagedThreadId, "SyncTaskFatory#A01");
+
+                       SetTaskResult ();
+
+                       return taskCompletion.Task;
+               }
+
+               void SyncCallback (IAsyncResult result)
+               {
+                       Interlocked.Increment (ref callbackCount);
+
+                       Assert.AreEqual (testThreadId, Thread.CurrentThread.ManagedThreadId, "SyncCallback#A01");
+
+                       Assert.IsNotNull (result, "SyncCallback#A02");
+                       Assert.AreSame (expectedState, result.AsyncState, "SyncCallback#A03");
+                       Assert.IsTrue (result.IsCompleted, "SyncCallback#A04");
+                       Assert.IsTrue (result.CompletedSynchronously, "SyncCallback#A05");
+                       Assert.IsNotNull (result.AsyncWaitHandle, "SyncCallback#A06");
+                       Assert.IsTrue (result.AsyncWaitHandle.WaitOne (0), "SyncCallback#A07");
+
+                       taskAsyncResult = result;
+
+                       Assert.AreEqual (1, factoryCount, "SyncCallback#A08");
+                       Assert.AreEqual (1, callbackCount, "SyncCallback#A09");
+               }
+
+               [Test]
+               public void InvokeAsync ()
+               {
+                       InvokeAsyncCore ();
+               }
+
+               [Test]
+               public void InvokeAsync_Failed ()
+               {
+                       expectedException = new TestException ();
+
+                       InvokeAsyncCore ();
+               }
+
+               void InvokeAsyncCore ()
+               {
+                       IAsyncResult result = GetAsyncResult (AsyncTaskFatory, AsyncCallback, expectedState);
+
+                       Assert.IsNotNull (result, "InvokeAsyncCore#A01");
+                       Assert.AreSame (expectedState, result.AsyncState, "InvokeAsyncCore#A02");
+                       Assert.IsFalse (result.IsCompleted, "InvokeAsyncCore#A03");
+                       Assert.IsFalse (result.CompletedSynchronously, "InvokeAsyncCore#A04");
+                       Assert.IsNotNull (result.AsyncWaitHandle, "InvokeAsyncCore#A05");
+                       Assert.IsFalse (result.AsyncWaitHandle.WaitOne (0), "InvokeAsyncCore#A06");
+
+                       Assert.AreEqual (1, factoryCount, "InvokeAsyncCore#A07");
+                       Assert.AreEqual (0, callbackCount, "InvokeAsyncCore#A08");
+
+                       taskAsyncResult = result;
+
+                       SetTaskResult ();
+
+                       callbackCompletion.Task.GetAwaiter ().GetResult ();
+
+                       Assert.AreEqual (1, factoryCount, "InvokeAsyncCore#A09");
+                       Assert.AreEqual (1, callbackCount, "InvokeAsyncCore#A10");
+               }
+
+               Task AsyncTaskFatory ()
+               {
+                       Interlocked.Increment (ref factoryCount);
+
+                       Assert.AreEqual (testThreadId, Thread.CurrentThread.ManagedThreadId, "AsyncTaskFatory#A01");
+
+                       return taskCompletion.Task;
+               }
+
+               void AsyncCallback (IAsyncResult result)
+               {
+                       try {
+                               Interlocked.Increment (ref callbackCount);
+
+                               Assert.AreNotEqual (testThreadId, Thread.CurrentThread.ManagedThreadId, "AsyncCallback#A01");
+
+                               Assert.IsNotNull (result, "AsyncCallback#A02");
+                               Assert.AreSame (expectedState, result.AsyncState, "AsyncCallback#A03");
+                               Assert.IsTrue (result.IsCompleted, "AsyncCallback#A04");
+                               Assert.IsFalse (result.CompletedSynchronously, "AsyncCallback#A05");
+                               Assert.IsNotNull (result.AsyncWaitHandle, "AsyncCallback#A06");
+                               Assert.IsTrue (result.AsyncWaitHandle.WaitOne (0), "AsyncCallback#A07");
+
+                               Assert.AreSame (taskAsyncResult, result, "AsyncCallback#A08");
+
+                               WaitTaskResult ();
+
+                               callbackCompletion.TrySetResult (null);
+                       } catch (Exception ex) {
+                               callbackCompletion.TrySetException (ex);
+                       }
+               }
+       }
+}
+
+#endif
index 5476f9535a61654df115e4f32f77084d73ecc68d..5add6d9d453d4dbd10ee525613241406670e91ed 100644 (file)
@@ -93,7 +93,11 @@ definition correctly.
       <!-- MSIE, Netscape 4.0, Opera -->
       <except positions="13-28" match="ActiveTouristBot"/>
     </group>
-
+    <!-- IE9 or newer -->
+    <group positions="7-10" match="/5.0" javascript="true">
+      <!-- MSIE 10, MSIE 11 -->
+           <except positions="13-28" match="ActiveTouristBot"/>
+    </group>
     <group scanfrom="12" skip="4" match=") Gecko/" javascript="true">
       <!-- All the Gecko-based browsers -->
     </group>
index 04c7cacd659e57694c2e908224d5291356a80a2e..8703eb00471f39775bcb5413a53b6d75c187bdd1 100644 (file)
@@ -1,5 +1,12 @@
 #include net_4_0_System.Web.dll.sources
 
+System.Web/EventHandlerTaskAsyncHelper.cs
+System.Web/HttpTaskAsyncHandler.cs
 System.Web/MimeMapping.cs
 System.Web/ReadEntityBodyMode.cs
-
+System.Web/UnvalidatedRequestValues.cs
+System.Web/UnvalidatedRequestValuesBase.cs
+System.Web/UnvalidatedRequestValuesWrapper.cs
+System.Web/TaskAsyncResult.cs
+System.Web/TaskEventHandler.cs
+System.Web.Security/MembershipPasswordAttribute.cs
diff --git a/mcs/class/System.XML/System.Xml-bare-net_2_0.csproj b/mcs/class/System.XML/System.Xml-bare-net_2_0.csproj
deleted file mode 100644 (file)
index 7da30e0..0000000
+++ /dev/null
@@ -1,486 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{0E9DD462-944B-426E-BC1E-96EF270EF7E2}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/bare</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Xml</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XmlSchemaValidatingReader.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdIdentityPath.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdIdentityState.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdKeyTable.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdParticleValidationState.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdValidatingReader.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdWildcard.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\IdPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\KeyPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\LocationPathPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\Pattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\UnionPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\XPathEditableDocument.cs" />\r
-    <Compile Include="Mono.Xml.XPath\XPathNavigatorReader.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslApplyImports.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslApplyTemplates.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslAttribute.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslAvt.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCallTemplate.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslChoose.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslComment.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCompiledElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCopy.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCopyOf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslFallback.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslForEach.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslIf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslLiteralElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslMessage.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslNotSupportedOperation.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslNumber.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslOperation.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslProcessingInstruction.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslTemplateContent.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslText.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslValueOf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslVariable.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Attribute.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Compiler.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Debug.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Emitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\GenericOutputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\HtmlEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\MSXslScriptManager.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Outputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\ScriptCompilerInfo.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\TextEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\TextOutputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XmlWriterEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslAttributeSet.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslDecimalFormat.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslFunctions.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslKey.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslOutput.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslSortEvaluator.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslStylesheet.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XsltCompiledContext.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XsltDebuggerWrapper.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslTemplate.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslTransformProcessor.cs" />\r
-    <Compile Include="Mono.Xml\IHasXmlParserContext.cs" />\r
-    <Compile Include="Mono.Xml\IHasXmlSchemaInfo.cs" />\r
-    <Compile Include="Mono.Xml\SubtreeXmlReader.cs" />\r
-    <Compile Include="Mono.Xml\XmlFilterReader.cs" />\r
-    <Compile Include="Mono.Xml\XmlNodeWriter.cs" />\r
-    <Compile Include="System.Xml.Schema\BuiltInDatatype.cs" />\r
-    <Compile Include="System.Xml.Schema\IXmlSchemaInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\SchemaDataValueType.cs" />\r
-    <Compile Include="System.Xml.Schema\ValidationEventArgs.cs" />\r
-    <Compile Include="System.Xml.Schema\ValidationHandler.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlAtomicValue.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchema.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAll.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnnotated.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnnotation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAny.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnyAttribute.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAppInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttribute.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttributeGroup.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttributeGroupRef.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaChoice.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCollection.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCollectionEnumerator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCompilationSettings.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContentExtension.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContentRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentModel.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentProcessing.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDatatype.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDatatypeVariety.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDerivationMethod.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDocumentation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaElement.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaEnumerationFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaExternal.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaForm.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaFractionDigitsFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroup.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroupBase.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroupRef.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaIdentityConstraint.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaImport.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInclude.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInference.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInferenceException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaKey.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaKeyref.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxExclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxInclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinExclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinInclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaNotation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaNumericFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObject.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectCollection.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectEnumerator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectTable.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaParticle.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaPatternFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaReader.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaRedefine.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSequence.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSerializer.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContentExtension.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContentRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeList.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeUnion.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaTotalDigitsFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUnique.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUse.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUtil.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidationException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidationFlags.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidity.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaWhiteSpaceFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaXPath.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSeverityType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlTypeCode.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlValueConverter.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlValueGetter.cs" />\r
-    <Compile Include="System.Xml.Serialization.Advanced\SchemaImporterExtension.cs" />\r
-    <Compile Include="System.Xml.Serialization.Advanced\SchemaImporterExtensionCollection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\DateTimeSerializationSection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionElement.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionElementCollection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionsSection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SerializationSectionGroup.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\XmlSerializerSection.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeGenerationOptions.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeIdentifier.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeIdentifiers.cs" />\r
-    <Compile Include="System.Xml.Serialization\ImportContext.cs" />\r
-    <Compile Include="System.Xml.Serialization\IXmlSerializable.cs" />\r
-    <Compile Include="System.Xml.Serialization\IXmlTextParser.cs" />\r
-    <Compile Include="System.Xml.Serialization\KeyHelper.cs" />\r
-    <Compile Include="System.Xml.Serialization\MapCodeGenerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\ReflectionHelper.cs" />\r
-    <Compile Include="System.Xml.Serialization\SchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SchemaTypes.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationCodeGenerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationCodeGeneratorConfiguration.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationSource.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributeOverrides.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapCodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapEnumAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapIgnoreAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapIncludeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapReflectionImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapTypeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeData.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeTranslator.cs" />\r
-    <Compile Include="System.Xml.Serialization\UnreferencedObjectEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\UnreferencedObjectEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyElementAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayItemAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayItemAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeOverrides.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlChoiceIdentifierAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlCodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlCustomFormatter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlDeserializationEvents.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlEnumAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlIgnoreAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlIncludeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMappingAccess.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMemberMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMembersMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNamespaceDeclarationsAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNodeEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNodeEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlReflectionImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlReflectionMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlRootAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaEnumerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaProviderAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemas.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationCollectionFixupCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationFixupCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationGeneratedCode.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReadCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReader.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReaderInterpreter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriteCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriterInterpreter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializer.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerAssemblyAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerFactory.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerImplementation.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerNamespaces.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerVersionAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTextAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapElementInfo.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberElement.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberNamespaces.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapping.cs" />\r
-    <Compile Include="System.Xml.XPath\DefaultContext.cs" />\r
-    <Compile Include="System.Xml.XPath\Expression.cs" />\r
-    <Compile Include="System.Xml.XPath\Iterator.cs" />\r
-    <Compile Include="System.Xml.XPath\IXPathNavigable.cs" />\r
-    <Compile Include="System.Xml.XPath\Tokenizer.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlCaseOrder.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlDataType.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlSortOrder.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathComparer.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathDocument.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathException.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathExpression.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathItem.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNamespaceScope.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNavigator.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNodeIterator.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNodeType.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathResultType.cs" />\r
-    <Compile Include="System.Xml.Xsl\IXsltContextFunction.cs" />\r
-    <Compile Include="System.Xml.Xsl\IXsltContextVariable.cs" />\r
-    <Compile Include="System.Xml.Xsl\XslCompiledTransform.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltArgumentList.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltCompileException.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltContext.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltException.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltMessageEncounteredEventArgs.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltMessageEncounteredEventHandler.cs" />\r
-    <Compile Include="System.Xml.Xsl\XslTransform.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltSettings.cs" />\r
-    <Compile Include="System.Xml\ConformanceLevel.cs" />\r
-    <Compile Include="System.Xml\DefaultXmlWriter.cs" />\r
-    <Compile Include="System.Xml\DTDAutomata.cs" />\r
-    <Compile Include="System.Xml\DTDObjectModel.cs" />\r
-    <Compile Include="System.Xml\DtdProcessing.cs" />\r
-    <Compile Include="System.Xml\DTDReader.cs" />\r
-    <Compile Include="System.Xml\DTDValidatingReader2.cs" />\r
-    <Compile Include="System.Xml\EntityHandling.cs" />\r
-    <Compile Include="System.Xml\EntityResolvingXmlReader.cs" />\r
-    <Compile Include="System.Xml\Formatting.cs" />\r
-    <Compile Include="System.Xml\IHasXmlChildNode.cs" />\r
-    <Compile Include="System.Xml\IHasXmlNode.cs" />\r
-    <Compile Include="System.Xml\IXmlLineInfo.cs" />\r
-    <Compile Include="System.Xml\IXmlNamespaceResolver.cs" />\r
-    <Compile Include="System.Xml\MonoFIXAttribute.cs" />\r
-    <Compile Include="System.Xml\NamespaceHandling.cs" />\r
-    <Compile Include="System.Xml\NameTable.cs" />\r
-    <Compile Include="System.Xml\NewLineHandling.cs" />\r
-    <Compile Include="System.Xml\ReadState.cs" />\r
-    <Compile Include="System.Xml\ValidationType.cs" />\r
-    <Compile Include="System.Xml\WhitespaceHandling.cs" />\r
-    <Compile Include="System.Xml\WriteState.cs" />\r
-    <Compile Include="System.Xml\XmlAttribute.cs" />\r
-    <Compile Include="System.Xml\XmlAttributeCollection.cs" />\r
-    <Compile Include="System.Xml\XmlCDataSection.cs" />\r
-    <Compile Include="System.Xml\XmlChar.cs" />\r
-    <Compile Include="System.Xml\XmlCharacterData.cs" />\r
-    <Compile Include="System.Xml\XmlComment.cs" />\r
-    <Compile Include="System.Xml\XmlConstructs.cs" />\r
-    <Compile Include="System.Xml\XmlConvert.cs" />\r
-    <Compile Include="System.Xml\XmlDateTimeSerializationMode.cs" />\r
-    <Compile Include="System.Xml\XmlDeclaration.cs" />\r
-    <Compile Include="System.Xml\XmlDocument.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentFragment.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentNavigator.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentType.cs" />\r
-    <Compile Include="System.Xml\XmlElement.cs" />\r
-    <Compile Include="System.Xml\XmlEntity.cs" />\r
-    <Compile Include="System.Xml\XmlEntityReference.cs" />\r
-    <Compile Include="System.Xml\XmlException.cs" />\r
-    <Compile Include="System.Xml\XmlImplementation.cs" />\r
-    <Compile Include="System.Xml\XmlInputStream.cs" />\r
-    <Compile Include="System.Xml\XmlIteratorNodeList.cs" />\r
-    <Compile Include="System.Xml\XmlLinkedNode.cs" />\r
-    <Compile Include="System.Xml\XmlNamedNodeMap.cs" />\r
-    <Compile Include="System.Xml\XmlNameEntry.cs" />\r
-    <Compile Include="System.Xml\XmlNameEntryCache.cs" />\r
-    <Compile Include="System.Xml\XmlNamespaceManager.cs" />\r
-    <Compile Include="System.Xml\XmlNamespaceScope.cs" />\r
-    <Compile Include="System.Xml\XmlNameTable.cs" />\r
-    <Compile Include="System.Xml\XmlNode.cs" />\r
-    <Compile Include="System.Xml\XmlNodeArrayList.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedAction.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedEventArgs.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedEventHandler.cs" />\r
-    <Compile Include="System.Xml\XmlNodeList.cs" />\r
-    <Compile Include="System.Xml\XmlNodeListChildren.cs" />\r
-    <Compile Include="System.Xml\XmlNodeOrder.cs" />\r
-    <Compile Include="System.Xml\XmlNodeReader2.cs" />\r
-    <Compile Include="System.Xml\XmlNodeReaderImpl.cs" />\r
-    <Compile Include="System.Xml\XmlNodeType.cs" />\r
-    <Compile Include="System.Xml\XmlNotation.cs" />\r
-    <Compile Include="System.Xml\XmlOutputMethod.cs" />\r
-    <Compile Include="System.Xml\XmlParserContext.cs" />\r
-    <Compile Include="System.Xml\XmlParserInput.cs" />\r
-    <Compile Include="System.Xml\XmlProcessingInstruction.cs" />\r
-    <Compile Include="System.Xml\XmlQualifiedName.cs" />\r
-    <Compile Include="System.Xml\XmlReader.cs" />\r
-    <Compile Include="System.Xml\XmlReaderBinarySupport.cs" />\r
-    <Compile Include="System.Xml\XmlReaderSettings.cs" />\r
-    <Compile Include="System.Xml\XmlResolver.cs" />\r
-    <Compile Include="System.Xml\XmlSecureResolver.cs" />\r
-    <Compile Include="System.Xml\XmlSignificantWhitespace.cs" />\r
-    <Compile Include="System.Xml\XmlSpace.cs" />\r
-    <Compile Include="System.Xml\XmlText.cs" />\r
-    <Compile Include="System.Xml\XmlTextReader.cs" />\r
-    <Compile Include="System.Xml\XmlTextReader2.cs" />\r
-    <Compile Include="System.Xml\XmlTextWriter2.cs" />\r
-    <Compile Include="System.Xml\XmlTokenizedType.cs" />\r
-    <Compile Include="System.Xml\XmlUrlResolver.cs" />\r
-    <Compile Include="System.Xml\XmlValidatingReader.cs" />\r
-    <Compile Include="System.Xml\XmlWhitespace.cs" />\r
-    <Compile Include="System.Xml\XmlWriter.cs" />\r
-    <Compile Include="System.Xml\XmlWriterSettings.cs" />\r
-    <Compile Include="System.Xml\XQueryConvert.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\net_2_0_PatternParser.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\net_2_0_PatternTokenizer.cs" />\r
-    <Compile Include="System.Xml.XPath\Parser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-mono $(ProjectDir)\..\..\..\msvc\scripts\prepare.exe $(ProjectDir)..\.. xml\r
-$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\System.Xml.XPath\Parser.jay > $(ProjectDir)\System.Xml.XPath\Parser.cs\r
-echo "#define XSLT_PATTERN" > $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Mono.Xml.Xsl\PatternParser.jay >> $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-echo "#define XSLT_PATTERN" > $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-cat $(ProjectDir)\System.Xml.XPath\Tokenizer.cs >> $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-\r
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
- $(ProjectDir)\..\..\..\msvc\scripts\prepare.exe $(ProjectDir)..\.. xml\r
-$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\System.Xml.XPath\Parser.jay > $(ProjectDir)\System.Xml.XPath\Parser.cs\r
-echo "#define XSLT_PATTERN" > $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Mono.Xml.Xsl\PatternParser.jay >> $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-echo "#define XSLT_PATTERN" > $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-type $(ProjectDir)\System.Xml.XPath\Tokenizer.cs >> $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-\r
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{AAA3F683-244C-40EF-8EF8-A95938862A44}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System/System-bare-net_2_0.csproj">\r
-      <Project>{5459507F-DC25-401C-A2F4-D5ECAC3A34E6}</Project>\r
-      <Name>System\System-bare-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.XML/System.Xml-net_2_0.csproj b/mcs/class/System.XML/System.Xml-net_2_0.csproj
deleted file mode 100644 (file)
index 2321f8c..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Xml</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612,642</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XmlSchemaValidatingReader.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdIdentityPath.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdIdentityState.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdKeyTable.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdParticleValidationState.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdValidatingReader.cs" />\r
-    <Compile Include="Mono.Xml.Schema\XsdWildcard.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode.cs" />\r
-    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
-    <Compile Include="Mono.Xml.XPath\IdPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\KeyPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\LocationPathPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\Pattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\UnionPattern.cs" />\r
-    <Compile Include="Mono.Xml.XPath\XPathEditableDocument.cs" />\r
-    <Compile Include="Mono.Xml.XPath\XPathNavigatorReader.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslApplyImports.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslApplyTemplates.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslAttribute.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslAvt.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCallTemplate.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslChoose.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslComment.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCompiledElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCopy.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslCopyOf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslFallback.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslForEach.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslIf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslLiteralElement.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslMessage.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslNotSupportedOperation.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslNumber.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslOperation.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslProcessingInstruction.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslTemplateContent.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslText.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslValueOf.cs" />\r
-    <Compile Include="Mono.Xml.Xsl.Operations\XslVariable.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Attribute.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Compiler.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Debug.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Emitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\GenericOutputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\HtmlEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\MSXslScriptManager.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\Outputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\ScriptCompilerInfo.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\TextEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\TextOutputter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XmlWriterEmitter.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslAttributeSet.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslDecimalFormat.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslFunctions.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslKey.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslOutput.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslSortEvaluator.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslStylesheet.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XsltCompiledContext.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XsltDebuggerWrapper.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslTemplate.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\XslTransformProcessor.cs" />\r
-    <Compile Include="Mono.Xml\IHasXmlParserContext.cs" />\r
-    <Compile Include="Mono.Xml\IHasXmlSchemaInfo.cs" />\r
-    <Compile Include="Mono.Xml\SubtreeXmlReader.cs" />\r
-    <Compile Include="Mono.Xml\XmlFilterReader.cs" />\r
-    <Compile Include="Mono.Xml\XmlNodeWriter.cs" />\r
-    <Compile Include="System.Xml.Schema\BuiltInDatatype.cs" />\r
-    <Compile Include="System.Xml.Schema\IXmlSchemaInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\SchemaDataValueType.cs" />\r
-    <Compile Include="System.Xml.Schema\ValidationEventArgs.cs" />\r
-    <Compile Include="System.Xml.Schema\ValidationHandler.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlAtomicValue.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchema.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAll.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnnotated.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnnotation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAny.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAnyAttribute.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAppInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttribute.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttributeGroup.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaAttributeGroupRef.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaChoice.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCollection.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCollectionEnumerator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaCompilationSettings.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContentExtension.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexContentRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaComplexType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentModel.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentProcessing.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaContentType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDatatype.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDatatypeVariety.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDerivationMethod.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaDocumentation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaElement.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaEnumerationFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaExternal.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaForm.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaFractionDigitsFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroup.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroupBase.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaGroupRef.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaIdentityConstraint.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaImport.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInclude.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInference.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInferenceException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaInfo.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaKey.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaKeyref.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxExclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxInclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMaxLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinExclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinInclusiveFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaMinLengthFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaNotation.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaNumericFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObject.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectCollection.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectEnumerator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaObjectTable.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaParticle.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaPatternFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaReader.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaRedefine.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSequence.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSerializer.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContentExtension.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleContentRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeContent.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeList.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeRestriction.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaSimpleTypeUnion.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaTotalDigitsFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUnique.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUse.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaUtil.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidationException.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidationFlags.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidator.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaValidity.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaWhiteSpaceFacet.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSchemaXPath.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlSeverityType.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlTypeCode.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlValueConverter.cs" />\r
-    <Compile Include="System.Xml.Schema\XmlValueGetter.cs" />\r
-    <Compile Include="System.Xml.Serialization.Advanced\SchemaImporterExtension.cs" />\r
-    <Compile Include="System.Xml.Serialization.Advanced\SchemaImporterExtensionCollection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\DateTimeSerializationSection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionElement.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionElementCollection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SchemaImporterExtensionsSection.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\SerializationSectionGroup.cs" />\r
-    <Compile Include="System.Xml.Serialization.Configuration\XmlSerializerSection.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeGenerationOptions.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeIdentifier.cs" />\r
-    <Compile Include="System.Xml.Serialization\CodeIdentifiers.cs" />\r
-    <Compile Include="System.Xml.Serialization\ImportContext.cs" />\r
-    <Compile Include="System.Xml.Serialization\IXmlSerializable.cs" />\r
-    <Compile Include="System.Xml.Serialization\IXmlTextParser.cs" />\r
-    <Compile Include="System.Xml.Serialization\KeyHelper.cs" />\r
-    <Compile Include="System.Xml.Serialization\MapCodeGenerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\ReflectionHelper.cs" />\r
-    <Compile Include="System.Xml.Serialization\SchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SchemaTypes.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationCodeGenerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationCodeGeneratorConfiguration.cs" />\r
-    <Compile Include="System.Xml.Serialization\SerializationSource.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributeOverrides.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapCodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapEnumAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapIgnoreAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapIncludeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapReflectionImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapSchemaMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\SoapTypeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeData.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\TypeTranslator.cs" />\r
-    <Compile Include="System.Xml.Serialization\UnreferencedObjectEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\UnreferencedObjectEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAnyElementAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayItemAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlArrayItemAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributeOverrides.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlChoiceIdentifierAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlCodeExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlCustomFormatter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlDeserializationEvents.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementAttributes.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlElementEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlEnumAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlIgnoreAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlIncludeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMappingAccess.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMemberMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlMembersMapping.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNamespaceDeclarationsAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNodeEventArgs.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlNodeEventHandler.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlReflectionImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlReflectionMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlRootAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaEnumerator.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaExporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaImporter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemaProviderAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSchemas.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationCollectionFixupCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationFixupCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationGeneratedCode.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReadCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReader.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationReaderInterpreter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriteCallback.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializationWriterInterpreter.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializer.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerAssemblyAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerFactory.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerImplementation.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerNamespaces.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlSerializerVersionAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTextAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapElementInfo.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMember.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberAttribute.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberElement.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapMemberNamespaces.cs" />\r
-    <Compile Include="System.Xml.Serialization\XmlTypeMapping.cs" />\r
-    <Compile Include="System.Xml.XPath\DefaultContext.cs" />\r
-    <Compile Include="System.Xml.XPath\Expression.cs" />\r
-    <Compile Include="System.Xml.XPath\Iterator.cs" />\r
-    <Compile Include="System.Xml.XPath\IXPathNavigable.cs" />\r
-    <Compile Include="System.Xml.XPath\Tokenizer.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlCaseOrder.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlDataType.cs" />\r
-    <Compile Include="System.Xml.XPath\XmlSortOrder.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathComparer.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathDocument.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathException.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathExpression.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathItem.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNamespaceScope.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNavigator.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNodeIterator.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathNodeType.cs" />\r
-    <Compile Include="System.Xml.XPath\XPathResultType.cs" />\r
-    <Compile Include="System.Xml.Xsl\IXsltContextFunction.cs" />\r
-    <Compile Include="System.Xml.Xsl\IXsltContextVariable.cs" />\r
-    <Compile Include="System.Xml.Xsl\XslCompiledTransform.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltArgumentList.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltCompileException.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltContext.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltException.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltMessageEncounteredEventArgs.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltMessageEncounteredEventHandler.cs" />\r
-    <Compile Include="System.Xml.Xsl\XslTransform.cs" />\r
-    <Compile Include="System.Xml.Xsl\XsltSettings.cs" />\r
-    <Compile Include="System.Xml\ConformanceLevel.cs" />\r
-    <Compile Include="System.Xml\DefaultXmlWriter.cs" />\r
-    <Compile Include="System.Xml\DTDAutomata.cs" />\r
-    <Compile Include="System.Xml\DTDObjectModel.cs" />\r
-    <Compile Include="System.Xml\DtdProcessing.cs" />\r
-    <Compile Include="System.Xml\DTDReader.cs" />\r
-    <Compile Include="System.Xml\DTDValidatingReader2.cs" />\r
-    <Compile Include="System.Xml\EntityHandling.cs" />\r
-    <Compile Include="System.Xml\EntityResolvingXmlReader.cs" />\r
-    <Compile Include="System.Xml\Formatting.cs" />\r
-    <Compile Include="System.Xml\IHasXmlChildNode.cs" />\r
-    <Compile Include="System.Xml\IHasXmlNode.cs" />\r
-    <Compile Include="System.Xml\IXmlLineInfo.cs" />\r
-    <Compile Include="System.Xml\IXmlNamespaceResolver.cs" />\r
-    <Compile Include="System.Xml\MonoFIXAttribute.cs" />\r
-    <Compile Include="System.Xml\NamespaceHandling.cs" />\r
-    <Compile Include="System.Xml\NameTable.cs" />\r
-    <Compile Include="System.Xml\NewLineHandling.cs" />\r
-    <Compile Include="System.Xml\ReadState.cs" />\r
-    <Compile Include="System.Xml\ValidationType.cs" />\r
-    <Compile Include="System.Xml\WhitespaceHandling.cs" />\r
-    <Compile Include="System.Xml\WriteState.cs" />\r
-    <Compile Include="System.Xml\XmlAttribute.cs" />\r
-    <Compile Include="System.Xml\XmlAttributeCollection.cs" />\r
-    <Compile Include="System.Xml\XmlCDataSection.cs" />\r
-    <Compile Include="System.Xml\XmlChar.cs" />\r
-    <Compile Include="System.Xml\XmlCharacterData.cs" />\r
-    <Compile Include="System.Xml\XmlComment.cs" />\r
-    <Compile Include="System.Xml\XmlConstructs.cs" />\r
-    <Compile Include="System.Xml\XmlConvert.cs" />\r
-    <Compile Include="System.Xml\XmlDateTimeSerializationMode.cs" />\r
-    <Compile Include="System.Xml\XmlDeclaration.cs" />\r
-    <Compile Include="System.Xml\XmlDocument.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentFragment.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentNavigator.cs" />\r
-    <Compile Include="System.Xml\XmlDocumentType.cs" />\r
-    <Compile Include="System.Xml\XmlElement.cs" />\r
-    <Compile Include="System.Xml\XmlEntity.cs" />\r
-    <Compile Include="System.Xml\XmlEntityReference.cs" />\r
-    <Compile Include="System.Xml\XmlException.cs" />\r
-    <Compile Include="System.Xml\XmlImplementation.cs" />\r
-    <Compile Include="System.Xml\XmlInputStream.cs" />\r
-    <Compile Include="System.Xml\XmlIteratorNodeList.cs" />\r
-    <Compile Include="System.Xml\XmlLinkedNode.cs" />\r
-    <Compile Include="System.Xml\XmlNamedNodeMap.cs" />\r
-    <Compile Include="System.Xml\XmlNameEntry.cs" />\r
-    <Compile Include="System.Xml\XmlNameEntryCache.cs" />\r
-    <Compile Include="System.Xml\XmlNamespaceManager.cs" />\r
-    <Compile Include="System.Xml\XmlNamespaceScope.cs" />\r
-    <Compile Include="System.Xml\XmlNameTable.cs" />\r
-    <Compile Include="System.Xml\XmlNode.cs" />\r
-    <Compile Include="System.Xml\XmlNodeArrayList.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedAction.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedEventArgs.cs" />\r
-    <Compile Include="System.Xml\XmlNodeChangedEventHandler.cs" />\r
-    <Compile Include="System.Xml\XmlNodeList.cs" />\r
-    <Compile Include="System.Xml\XmlNodeListChildren.cs" />\r
-    <Compile Include="System.Xml\XmlNodeOrder.cs" />\r
-    <Compile Include="System.Xml\XmlNodeReader2.cs" />\r
-    <Compile Include="System.Xml\XmlNodeReaderImpl.cs" />\r
-    <Compile Include="System.Xml\XmlNodeType.cs" />\r
-    <Compile Include="System.Xml\XmlNotation.cs" />\r
-    <Compile Include="System.Xml\XmlOutputMethod.cs" />\r
-    <Compile Include="System.Xml\XmlParserContext.cs" />\r
-    <Compile Include="System.Xml\XmlParserInput.cs" />\r
-    <Compile Include="System.Xml\XmlProcessingInstruction.cs" />\r
-    <Compile Include="System.Xml\XmlQualifiedName.cs" />\r
-    <Compile Include="System.Xml\XmlReader.cs" />\r
-    <Compile Include="System.Xml\XmlReaderBinarySupport.cs" />\r
-    <Compile Include="System.Xml\XmlReaderSettings.cs" />\r
-    <Compile Include="System.Xml\XmlResolver.cs" />\r
-    <Compile Include="System.Xml\XmlSecureResolver.cs" />\r
-    <Compile Include="System.Xml\XmlSignificantWhitespace.cs" />\r
-    <Compile Include="System.Xml\XmlSpace.cs" />\r
-    <Compile Include="System.Xml\XmlText.cs" />\r
-    <Compile Include="System.Xml\XmlTextReader.cs" />\r
-    <Compile Include="System.Xml\XmlTextReader2.cs" />\r
-    <Compile Include="System.Xml\XmlTextWriter2.cs" />\r
-    <Compile Include="System.Xml\XmlTokenizedType.cs" />\r
-    <Compile Include="System.Xml\XmlUrlResolver.cs" />\r
-    <Compile Include="System.Xml\XmlValidatingReader.cs" />\r
-    <Compile Include="System.Xml\XmlWhitespace.cs" />\r
-    <Compile Include="System.Xml\XmlWriter.cs" />\r
-    <Compile Include="System.Xml\XmlWriterSettings.cs" />\r
-    <Compile Include="System.Xml\XQueryConvert.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\PatternParser.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\PatternTokenizer.cs" />\r
-    <Compile Include="System.Xml.XPath\Parser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-$(ProjectDir)\..\..\..\mono\msvc\scripts\prepare.exe $(ProjectDir)..\.. xml\r
-$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\System.Xml.XPath\Parser.jay > $(ProjectDir)\System.Xml.XPath\Parser.cs\r
-echo #define XSLT_PATTERN > $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Mono.Xml.Xsl\PatternParser.jay >> $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-echo #define XSLT_PATTERN > $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-type $(ProjectDir)\System.Xml.XPath\Tokenizer.cs >> $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-\r\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0.csproj">\r
-      <Project>{5A346705-1044-48F2-987D-CAE22A255427}</Project>\r
-      <Name>System\System-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Configuration.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Configuration.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.XML/System.Xml-tests-net_2_0.csproj b/mcs/class/System.XML/System.Xml-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2b26f77..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{966262F1-0FE4-4474-A6D5-99B107E45248}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,612,642,618,219,169</NoWarn>\r
-    <OutputPath>bin\Debug\System.Xml-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Xml_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,612,642,618,219,169</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,612,642,618,219,169</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaAssertion.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaBuiltInDatatypeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaCollectionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaDatatypeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaExceptionCas.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaExceptionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaLengthFacetTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaSetTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaTypeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\XmlSchemaValidatorTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization.Advanced\SchemaImporterExtensionCollectionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization.Advanced\SchemaImporterExtensionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\CodeIdentifiersTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\ComplexDataStructure.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\DeserializeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapAttributeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapAttributesTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapElementAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapEnumAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapIncludeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapReflectionImporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapSchemaExporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapSchemaMemberTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\SoapTypeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlAnyElementAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlArrayAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlArrayItemAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlAttributeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlAttributesTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlChoiceIdentifierAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlCodeExporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlElementAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlEnumAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlIncludeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlReflectionImporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlRootAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSchemaExporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSchemaImporterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSchemasTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSerializationReaderTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSerializationWriterTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSerializerImplementationTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSerializerTestClasses.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlSerializerTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlTextAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.Serialization\XmlTypeAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\SelectNodesTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathEditableNavigatorTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathExceptionCas.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathNavigatorCommonTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathNavigatorEvaluateTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathNavigatorMatchesTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathNavigatorReaderTests.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\XPathNavigatorTests.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\MsxslScriptTests.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XsltArgumentListCas.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XsltCompileExceptionCas.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XsltCompileExceptionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XsltExceptionCas.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XsltExceptionTests.cs" />\r
-    <Compile Include="Test\System.Xml.Xsl\XslTransformTests.cs" />\r
-    <Compile Include="Test\System.Xml\NameTableTests.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Attr\Attr.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\CharacterData\CharacterData.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Comment\Comment.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Document\Document.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\DOMImplementation\DOMImplementation.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Element\Element.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\NamedNodeMap\NamedNodeMap.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Node\Node.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\NodeList\NodeList.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\fundamental\Text\Text.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\ITest.cs" />\r
-    <Compile Include="Test\System.Xml\nist_dom\util.cs" />\r
-    <Compile Include="Test\System.Xml\XmlAssert.cs" />\r
-    <Compile Include="Test\System.Xml\XmlAttributeCollectionTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlAttributeTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlCDataSectionTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlCharacterDataTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlCommentTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlConvertTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDeclarationTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDefaultReader.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDocumentEventTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDocumentFragmentTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDocumentTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlDocumentTypeTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlElementTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlEntityReferenceTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlEntityTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlExceptionCas.cs" />\r
-    <Compile Include="Test\System.Xml\XmlNamespaceManagerTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlNodeListTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlNodeReaderTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlNodeTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlParserContextTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlProcessingInstructionTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlReaderCommonTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlReaderSettingsTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlResolverTest.cs" />\r
-    <Compile Include="Test\System.Xml\XmlSecureResolverCas.cs" />\r
-    <Compile Include="Test\System.Xml\XmlSecureResolverTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlSignificantWhitespaceTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlTextReaderTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlTextTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlTextWriterTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlUrlResolverTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlValidatingReaderTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlWhiteSpaceTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlWriterSettingsTests.cs" />\r
-    <Compile Include="Test\System.Xml\XmlWriterTests.cs" />\r
-    <Compile Include="Test\System.Xml\XsdParticleValidationTests.cs" />\r
-    <Compile Include="Test\System.Xml\XsdValidatingReaderTests.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\PatternParser.cs" />\r
-    <Compile Include="Mono.Xml.Xsl\PatternTokenizer.cs" />\r
-    <Compile Include="System.Xml.XPath\Parser.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-$(ProjectDir)\..\..\..\mono\msvc\scripts\prepare.exe $(ProjectDir)..\.. xml\r
-$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\System.Xml.XPath\Parser.jay > $(ProjectDir)\System.Xml.XPath\Parser.cs\r
-echo #define XSLT_PATTERN > $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Mono.Xml.Xsl\PatternParser.jay >> $(ProjectDir)\Mono.Xml.Xsl\PatternParser.cs\r
-echo #define XSLT_PATTERN > $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-type $(ProjectDir)\System.Xml.XPath\Tokenizer.cs >> $(ProjectDir)\Mono.Xml.Xsl\PatternTokenizer.cs\r
-\r\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Data.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Data.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 120355f584344ae22da34359b7ef1fcf23c48079..2d9d1e0e930df9f97f6ac9493a49927917374a58 100644 (file)
@@ -152,11 +152,17 @@ namespace System.Xml
                                XmlTextReader xmlReader = new XmlTextReader (value, XmlNodeType.Element, ctx);
                                xmlReader.XmlResolver = OwnerDocument.Resolver;
 
-                               do {
-                                       XmlNode n = OwnerDocument.ReadNode (xmlReader);
-                                       if(n == null) break;
-                                       AppendChild (n);
-                               } while (true);
+                               bool pw = OwnerDocument.PreserveWhitespace;
+                               OwnerDocument.PreserveWhitespace = true;
+                               try {
+                                       do {
+                                               XmlNode n = OwnerDocument.ReadNode (xmlReader);
+                                               if(n == null) break;
+                                               AppendChild (n);
+                                       } while (true);
+                               } finally {
+                                       OwnerDocument.PreserveWhitespace = pw;
+                               }
                        }
                }
 
diff --git a/mcs/class/System.Xml.Linq/System.Xml.Linq-net_2_0.csproj b/mcs/class/System.Xml.Linq/System.Xml.Linq-net_2_0.csproj
deleted file mode 100644 (file)
index cf2f1fb..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{80B8A117-6BB4-4646-8BE9-863A5C105437}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Xml.Linq</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Xml.Linq\Extensions.cs" />\r
-    <Compile Include="System.Xml.Linq\LoadOptions.cs" />\r
-    <Compile Include="System.Xml.Linq\ReaderOptions.cs" />\r
-    <Compile Include="System.Xml.Linq\SaveOptions.cs" />\r
-    <Compile Include="System.Xml.Linq\XAttribute.cs" />\r
-    <Compile Include="System.Xml.Linq\XCData.cs" />\r
-    <Compile Include="System.Xml.Linq\XComment.cs" />\r
-    <Compile Include="System.Xml.Linq\XContainer.cs" />\r
-    <Compile Include="System.Xml.Linq\XDeclaration.cs" />\r
-    <Compile Include="System.Xml.Linq\XDocument.cs" />\r
-    <Compile Include="System.Xml.Linq\XDocumentType.cs" />\r
-    <Compile Include="System.Xml.Linq\XElement.cs" />\r
-    <Compile Include="System.Xml.Linq\XIterators.cs" />\r
-    <Compile Include="System.Xml.Linq\XName.cs" />\r
-    <Compile Include="System.Xml.Linq\XNamespace.cs" />\r
-    <Compile Include="System.Xml.Linq\XNode.cs" />\r
-    <Compile Include="System.Xml.Linq\XNodeDocumentOrderComparer.cs" />\r
-    <Compile Include="System.Xml.Linq\XNodeEqualityComparer.cs" />\r
-    <Compile Include="System.Xml.Linq\XNodeNavigator.cs" />\r
-    <Compile Include="System.Xml.Linq\XNodeReader.cs" />\r
-    <Compile Include="System.Xml.Linq\XNodeWriter.cs" />\r
-    <Compile Include="System.Xml.Linq\XObject.cs" />\r
-    <Compile Include="System.Xml.Linq\XObjectChange.cs" />\r
-    <Compile Include="System.Xml.Linq\XObjectChangeEventArgs.cs" />\r
-    <Compile Include="System.Xml.Linq\XProcessingInstruction.cs" />\r
-    <Compile Include="System.Xml.Linq\XStreamingElement.cs" />\r
-    <Compile Include="System.Xml.Linq\XText.cs" />\r
-    <Compile Include="System.Xml.Linq\XUtil.cs" />\r
-    <Compile Include="System.Xml.Schema\Extensions.cs" />\r
-    <Compile Include="System.Xml.XPath\Extensions.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/System.Xml.Linq/System.Xml.Linq-tests-net_2_0.csproj b/mcs/class/System.Xml.Linq/System.Xml.Linq-tests-net_2_0.csproj
deleted file mode 100644 (file)
index 2de001c..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{612BE852-974E-423E-B974-74EDB0E28136}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <OutputPath>bin\Debug\System.Xml.Linq-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System.Xml.Linq_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,1720</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_5</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Xml.Linq\ExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XAttributeTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XDocumentTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XElementTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNamespaceTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNameTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNodeDocumentOrderComparerTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNodeEqualityComparerTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNodeNavigatorTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNodeReaderTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XNodeWriterTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XObjectTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XProcessingInstructionTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XStreamingElementTest.cs" />\r
-    <Compile Include="Test\System.Xml.Linq\XTextTest.cs" />\r
-    <Compile Include="Test\System.Xml.Schema\ExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\ExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\ExtensionsTest2.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\ExtensionsTest3.cs" />\r
-    <Compile Include="Test\System.Xml.XPath\ExtensionsTest4.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Xml.Linq\System.Xml.Linq-net_2_0.csproj">\r
-      <Project>{80B8A117-6BB4-4646-8BE9-863A5C105437}</Project>\r
-      <Name>System.Xml.Linq\System.Xml.Linq-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index cfa7564d4b6c19fb604dbcad8f89f3358d09122d..ad962f07317dc5be24ff0adb4a47780d51eace49 100644 (file)
@@ -22,9 +22,10 @@ TEST_RESOURCES = \
 TEST_MCS_FLAGS = -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.dll -nowarn:618,672,219,67,169,612 \
        $(foreach f, $(TEST_RESOURCES), -resource:$(f),$(notdir $(f)))
 
-LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 -unsafe $(RESOURCE_FILES:%=-resource:%)
+REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL
+LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 $(REFERENCE_SOURCES_FLAGS) -unsafe $(RESOURCE_FILES:%=-resource:%)
 TEST_MCS_FLAGS += -r:System.Configuration
-PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammaci mobile mobile_static, $(PROFILE))
+PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammac mobile mobile_static, $(PROFILE))
 
 ifeq (2.1, $(FRAMEWORK_VERSION))
 LIB_MCS_FLAGS += -d:INSIDE_SYSTEM
@@ -55,7 +56,6 @@ LIB_MCS_FLAGS += -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=$(secxml_libdir)/S
 endif
 
 EXTRA_DISTFILES = \
-       System.Text.RegularExpressions/notes.txt        \
        System.ComponentModel.Design/Changelog          \
        Test/test-config-file                           \
        Test/test-config-file-net-2.0                   \
diff --git a/mcs/class/System/SR.cs b/mcs/class/System/SR.cs
new file mode 100644 (file)
index 0000000..cf3d984
--- /dev/null
@@ -0,0 +1,84 @@
+//
+// Resource strings referenced by the code.
+//
+// Copyright 2014 Xamarin Inc
+//
+partial class SR
+{
+       public const string UnexpectedOpcode = "UnexpectedOpcode";
+       public const string BeginIndexNotNegative = "BeginIndexNotNegative";
+       public const string CountTooSmall = "CountTooSmall";
+       public const string ReplacementError = "ReplacementError";
+       public const string BadClassInCharRange = "BadClassInCharRange";
+       public const string TooManyAlternates = "TooManyAlternates";
+       public const string MakeException = "MakeException";
+       public const string IncompleteSlashP = "IncompleteSlashP";
+       public const string MalformedSlashP = "MalformedSlashP";
+       public const string CaptureGroupOutOfRange = "CaptureGroupOutOfRange";
+       public const string InvalidGroupName = "InvalidGroupName";
+       public const string UndefinedBackref = "UndefinedBackref";
+       public const string UndefinedNameref = "UndefinedNameref";
+       public const string UnrecognizedControl = "UnrecognizedControl";
+       
+       public const string AlternationCantCapture = "AlternationCantCapture";
+       public const string AlternationCantHaveComment = "AlternationCantHaveComment";
+       public const string Arg_InvalidArrayType = "Arg_InvalidArrayType";
+       public const string Arg_RankMultiDimNotSupported = "Arg_RankMultiDimNotSupported";
+       public const string ArgumentNull_ArrayWithNullElements = "ArgumentNull_ArrayWithNullElements";
+       public const string CapnumNotZero = "CapnumNotZero";
+       public const string EnumNotStarted = "EnumNotStarted";
+       public const string IllegalCondition = "IllegalCondition";
+       public const string IllegalDefaultRegexMatchTimeoutInAppDomain = "IllegalDefaultRegexMatchTimeoutInAppDomain";
+       public const string IllegalEndEscape = "IllegalEndEscape";
+       public const string IllegalRange = "IllegalRange";
+       public const string InvalidNullEmptyArgument = "Invalid empty argument {0}";
+       public const string InternalError = "InternalError";
+       public const string LengthNotNegative = "LengthNotNegative";
+       public const string MalformedNameRef = "MalformedNameRef";
+       public const string MalformedReference = "MalformedReference";
+       public const string MissingControl = "MissingControl";
+       public const string NestedQuantify = "NestedQuantify";
+       public const string NoResultOnFailed = "NoResultOnFailed";
+       public const string NotEnoughParens = "NotEnoughParens";
+       public const string OnlyAllowedOnce = "OnlyAllowedOnce";
+       public const string QuantifyAfterNothing = "QuantifyAfterNothing";
+       public const string RegexMatchTimeoutException_Occurred = "RegexMatchTimeoutException_Occurred";
+       public const string ReversedCharRange = "ReversedCharRange";
+       public const string SubtractionMustBeLast = "SubtractionMustBeLast";
+       public const string TooFewHex = "TooFewHex";
+       public const string TooManyParens = "TooManyParens";
+       public const string UndefinedNameRef = "UndefinedNameRef";
+       public const string UndefinedReference = "UndefinedReference";
+       public const string UnimplementedState = "UnimplementedState";
+       public const string UnknownProperty = "UnknownProperty";
+       public const string UnrecognizedEscape = "UnrecognizedEscape";
+       public const string UnrecognizedGrouping = "UnrecognizedGrouping";
+       public const string UnterminatedBracket = "UnterminatedBracket";
+       public const string UnterminatedComment = "UnterminatedComment";
+
+       public const string BlockingCollection_Add_ConcurrentCompleteAdd = "BlockingCollection_Add_ConcurrentCompleteAdd";
+       public const string BlockingCollection_Add_Failed = "BlockingCollection_Add_Failed";
+       public const string BlockingCollection_CantAddAnyWhenCompleted = "BlockingCollection_CantAddAnyWhenCompleted";
+       public const string BlockingCollection_CantTakeAnyWhenAllDone = "BlockingCollection_CantTakeAnyWhenAllDone";
+       public const string BlockingCollection_CantTakeWhenDone = "BlockingCollection_CantTakeWhenDone";
+       public const string BlockingCollection_Completed = "BlockingCollection_Completed";
+       public const string BlockingCollection_CopyTo_IncorrectType = "BlockingCollection_CopyTo_IncorrectType";
+       public const string BlockingCollection_CopyTo_MultiDim = "BlockingCollection_CopyTo_MultiDim";
+       public const string BlockingCollection_CopyTo_NonNegative = "BlockingCollection_CopyTo_NonNegative";
+       public const string BlockingCollection_CopyTo_TooManyElems = "BlockingCollection_CopyTo_TooManyElems";
+       public const string BlockingCollection_Disposed = "BlockingCollection_Disposed";
+       public const string BlockingCollection_Take_CollectionModified = "BlockingCollection_Take_CollectionModified";
+       public const string BlockingCollection_TimeoutInvalid = "BlockingCollection_TimeoutInvalid";
+       public const string BlockingCollection_ValidateCollectionsArray_DispElems = "BlockingCollection_ValidateCollectionsArray_DispElems";
+       public const string BlockingCollection_ValidateCollectionsArray_LargeSize = "BlockingCollection_ValidateCollectionsArray_LargeSize";
+       public const string BlockingCollection_ValidateCollectionsArray_NullElems = "BlockingCollection_ValidateCollectionsArray_NullElems";
+       public const string BlockingCollection_ValidateCollectionsArray_ZeroSize = "BlockingCollection_ValidateCollectionsArray_ZeroSize";
+       public const string BlockingCollection_ctor_BoundedCapacityRange = "BlockingCollection_ctor_BoundedCapacityRange";
+       public const string BlockingCollection_ctor_CountMoreThanCapacity = "BlockingCollection_ctor_CountMoreThanCapacity";
+       public const string Common_OperationCanceled = "Common_OperationCanceled";
+       public const string ConcurrentBag_CopyTo_ArgumentNullException = "ConcurrentBag_CopyTo_ArgumentNullException";
+       public const string ConcurrentBag_CopyTo_ArgumentOutOfRangeException = "ConcurrentBag_CopyTo_ArgumentOutOfRangeException";
+       public const string ConcurrentBag_Ctor_ArgumentNullException = "ConcurrentBag_Ctor_ArgumentNullException";
+       public const string ConcurrentCollection_SyncRoot_NotSupported = "ConcurrentCollection_SyncRoot_NotSupported";
+       
+}
diff --git a/mcs/class/System/System-bare-net_2_0.csproj b/mcs/class/System/System-bare-net_2_0.csproj
deleted file mode 100644 (file)
index 63b2c42..0000000
+++ /dev/null
@@ -1,1183 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5459507F-DC25-401C-A2F4-D5ECAC3A34E6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/bare</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CONFIGURATION_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CONFIGURATION_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
-    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
-    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
-    <Compile Include="Mono.Http\NtlmClient.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGeneratorOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerError.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerErrorCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerParameters.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratedCodeAttribute.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratorSupport.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\IndentedTextWriter.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\LanguageOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeArgumentReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeAssignStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttachEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgument.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgumentCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeBaseReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorType.cs" />\r
-    <Compile Include="System.CodeDom\CodeCastExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClause.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClauseCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeChecksumPragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeComment.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeConditionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeDefaultValueExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectionExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectiveCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeEntryPointMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeEventReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeFieldReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeGotoStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeIterationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLabeledStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLinePragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberEvent.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberField.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberProperty.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReturnStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespace.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImport.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImportCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeObject.cs" />\r
-    <Compile Include="System.CodeDom\CodeObjectCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodePrimitiveExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertyReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertySetValueReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionMode.cs" />\r
-    <Compile Include="System.CodeDom\CodeRemoveEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeThisReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeThrowExceptionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTryCatchFinallyStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDelegate.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMemberCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeOfExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameter.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameterCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReference.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceOptions.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableDeclarationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\FieldDirection.cs" />\r
-    <Compile Include="System.CodeDom\ICodeDomVisitor.cs" />\r
-    <Compile Include="System.CodeDom\MemberAttributes.cs" />\r
-    <Compile Include="System.Collections.Concurrent\BlockingCollection.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentBag.cs" />\r
-    <Compile Include="System.Collections.Generic\ISet.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedList.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedListNode.cs" />\r
-    <Compile Include="System.Collections.Generic\Queue.cs" />\r
-    <Compile Include="System.Collections.Generic\RBTree.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedDictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedList.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedSet.cs" />\r
-    <Compile Include="System.Collections.Generic\Stack.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\BitVector32.cs" />\r
-    <Compile Include="System.Collections.Specialized\CollectionsUtil.cs" />\r
-    <Compile Include="System.Collections.Specialized\HybridDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />\r
-    <Compile Include="System.Collections.Specialized\IOrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ListDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameObjectCollectionBase.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameValueCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />\r
-    <Compile Include="System.Collections.Specialized\OrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ProcessStringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringEnumerator.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ComponentSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ContextStack.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DefaultSerializationProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerLoader.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost2.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationManager.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\INameCreationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\InstanceDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationship.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationshipService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\RootDesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\SerializationStore.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CheckoutException.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CommandID.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransaction.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerb.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerbCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContextSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpContextType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentChangeService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentInitializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerEventService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerFilter.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHostTransactionState.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDictionaryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IEventBindingService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderListService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IHelpService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IInheritanceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IMenuCommandService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IReferenceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IResourceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IRootDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ISelectionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITreeDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDescriptorFilterService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeResolutionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommand.cs" />\r
-    <Compile Include="System.ComponentModel.Design\RuntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\SelectionTypes.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceCreatorCallback.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardCommands.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardToolWindows.cs" />\r
-    <Compile Include="System.ComponentModel.Design\TypeDescriptionProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ViewTechnology.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AmbientValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ArrayConverter.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperation.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperationManager.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeCollection.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BackgroundWorker.cs" />\r
-    <Compile Include="System.ComponentModel\BaseNumberConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BindableSupport.cs" />\r
-    <Compile Include="System.ComponentModel\BindingDirection.cs" />\r
-    <Compile Include="System.ComponentModel\BindingList.cs" />\r
-    <Compile Include="System.ComponentModel\BooleanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\CharConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeAction.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComplexBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\Component.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentEditor.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentResourceManager.cs" />\r
-    <Compile Include="System.ComponentModel\Container.cs" />\r
-    <Compile Include="System.ComponentModel\ContainerFilterService.cs" />\r
-    <Compile Include="System.ComponentModel\CultureInfoConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DataErrorsChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectFieldAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodType.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeOffsetConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DecimalConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultBindingPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DerivedPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DescriptionAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerCategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibility.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibilityAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignTimeVisibleAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DisplayNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DoubleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\EditorAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableState.cs" />\r
-    <Compile Include="System.ComponentModel\EnumConverter.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\EventHandlerList.cs" />\r
-    <Compile Include="System.ComponentModel\ExpandableObjectConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ExtenderProvidedPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\GuidConverter.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingList.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingListView.cs" />\r
-    <Compile Include="System.ComponentModel\ICancelAddNew.cs" />\r
-    <Compile Include="System.ComponentModel\IChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\IComNativeDescriptorHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IComponent.cs" />\r
-    <Compile Include="System.ComponentModel\IContainer.cs" />\r
-    <Compile Include="System.ComponentModel\ICustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\IDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\IEditableObject.cs" />\r
-    <Compile Include="System.ComponentModel\IExtenderProvider.cs" />\r
-    <Compile Include="System.ComponentModel\IIntellisenseBuilder.cs" />\r
-    <Compile Include="System.ComponentModel\IListSource.cs" />\r
-    <Compile Include="System.ComponentModel\ImmutableObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\INestedSite.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceLevel.cs" />\r
-    <Compile Include="System.ComponentModel\InitializationEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanged.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanging.cs" />\r
-    <Compile Include="System.ComponentModel\InstallerTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InstanceCreationEditor.cs" />\r
-    <Compile Include="System.ComponentModel\Int16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidAsynchronousStateException.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidEnumArgumentException.cs" />\r
-    <Compile Include="System.ComponentModel\IRaiseItemChangedEvents.cs" />\r
-    <Compile Include="System.ComponentModel\IRevertibleChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\ISite.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitialize.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitializeNotification.cs" />\r
-    <Compile Include="System.ComponentModel\ISynchronizeInvoke.cs" />\r
-    <Compile Include="System.ComponentModel\ITypeDescriptorContext.cs" />\r
-    <Compile Include="System.ComponentModel\ITypedList.cs" />\r
-    <Compile Include="System.ComponentModel\License.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseException.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseManager.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseUsageMode.cs" />\r
-    <Compile Include="System.ComponentModel\LicFileLicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\ListBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedType.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescription.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescriptionCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDirection.cs" />\r
-    <Compile Include="System.ComponentModel\LocalizableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LookupBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MarshalByValueComponent.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextProvider.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextResultHint.cs" />\r
-    <Compile Include="System.ComponentModel\MemberDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\MergablePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MultilineStringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\NestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\NotifyParentPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\NullableConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ParenthesizePropertyNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PasswordPropertyTextAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabScope.cs" />\r
-    <Compile Include="System.ComponentModel\ProvidePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReadOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RecommendedAsConfigurableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReferenceConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionEventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshProperties.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunInstallerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\SByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SettingsBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\SingleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\StringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SyntaxCheck.cs" />\r
-    <Compile Include="System.ComponentModel\TimeSpanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterType.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProvider.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\TypeListConverter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\WarningException.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapper.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapperComparer.cs" />\r
-    <Compile Include="System.ComponentModel\Win32Exception.cs" />\r
-    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
-    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
-    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
-    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
-    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
-    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
-    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
-    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
-    <Compile Include="System.Configuration\IdnElement.cs" />\r
-    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
-    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
-    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
-    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingElement.cs" />\r
-    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
-    <Compile Include="System.Configuration\SettingsBase.cs" />\r
-    <Compile Include="System.Configuration\SettingsContext.cs" />\r
-    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
-    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
-    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
-    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UriSection.cs" />\r
-    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
-    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
-    <Compile Include="System.Diagnostics\BooleanSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\ConsoleTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\CorrelationManager.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\Debug.cs" />\r
-    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DelimitedListTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
-    <Compile Include="System.Diagnostics\EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\EventTypeFilter.cs" />\r
-    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
-    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
-    <Compile Include="System.Diagnostics\Process.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
-    <Compile Include="System.Diagnostics\SourceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\SourceLevels.cs" />\r
-    <Compile Include="System.Diagnostics\SourceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
-    <Compile Include="System.Diagnostics\Switch.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchLevelAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\TextWriterTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
-    <Compile Include="System.Diagnostics\Trace.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventCache.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventType.cs" />\r
-    <Compile Include="System.Diagnostics\TraceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
-    <Compile Include="System.Diagnostics\TraceLevel.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListenerCollection.cs" />\r
-    <Compile Include="System.Diagnostics\TraceOptions.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSource.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\XmlWriterTraceListener.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
-    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
-    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
-    <Compile Include="System.IO.Ports\Handshake.cs" />\r
-    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
-    <Compile Include="System.IO.Ports\Parity.cs" />\r
-    <Compile Include="System.IO.Ports\SerialData.cs" />\r
-    <Compile Include="System.IO.Ports\SerialError.cs" />\r
-    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
-    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
-    <Compile Include="System.IO.Ports\StopBits.cs" />\r
-    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
-    <Compile Include="System.IO\DefaultWatcher.cs" />\r
-    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
-    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
-    <Compile Include="System.IO\FAMWatcher.cs" />\r
-    <Compile Include="System.IO\FileAction.cs" />\r
-    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
-    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
-    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
-    <Compile Include="System.IO\IFileWatcher.cs" />\r
-    <Compile Include="System.IO\InotifyWatcher.cs" />\r
-    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
-    <Compile Include="System.IO\InvalidDataException.cs" />\r
-    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
-    <Compile Include="System.IO\KeventWatcher.cs" />\r
-    <Compile Include="System.IO\MonoSyncFileStream.cs" />\r
-    <Compile Include="System.IO\NotifyFilters.cs" />\r
-    <Compile Include="System.IO\NullFileWatcher.cs" />\r
-    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
-    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
-    <Compile Include="System.IO\SearchPattern.cs" />\r
-    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
-    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
-    <Compile Include="System.IO\WindowsWatcher.cs" />\r
-    <Compile Include="System.Media\AudioData.cs" />\r
-    <Compile Include="System.Media\AudioDevice.cs" />\r
-    <Compile Include="System.Media\SoundPlayer.cs" />\r
-    <Compile Include="System.Media\SystemSound.cs" />\r
-    <Compile Include="System.Media\SystemSounds.cs" />\r
-    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
-    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
-    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
-    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
-    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
-    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
-    <Compile Include="System.Net.Mail\Attachment.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
-    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
-    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
-    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
-    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
-    <Compile Include="System.Net.Mime\ContentType.cs" />\r
-    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
-    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
-    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
-    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
-    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
-    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
-    <Compile Include="System.Net.Security\SslStream.cs" />\r
-    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
-    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
-    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
-    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
-    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket_2_1.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionName.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
-    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
-    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\StreamWebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
-    <Compile Include="System.Net\AuthenticationManager.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
-    <Compile Include="System.Net\Authorization.cs" />\r
-    <Compile Include="System.Net\BasicClient.cs" />\r
-    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
-    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
-    <Compile Include="System.Net\ConnectionModes.cs" />\r
-    <Compile Include="System.Net\Cookie.cs" />\r
-    <Compile Include="System.Net\CookieCollection.cs" />\r
-    <Compile Include="System.Net\CookieContainer.cs" />\r
-    <Compile Include="System.Net\CookieException.cs" />\r
-    <Compile Include="System.Net\CookieParser.cs" />\r
-    <Compile Include="System.Net\CredentialCache.cs" />\r
-    <Compile Include="System.Net\DecompressionMethods.cs" />\r
-    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
-    <Compile Include="System.Net\DigestClient.cs" />\r
-    <Compile Include="System.Net\Dns.cs" />\r
-    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
-    <Compile Include="System.Net\DnsEndPoint.cs" />\r
-    <Compile Include="System.Net\DnsPermission.cs" />\r
-    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\EndPoint.cs" />\r
-    <Compile Include="System.Net\EndPointListener.cs" />\r
-    <Compile Include="System.Net\EndPointManager.cs" />\r
-    <Compile Include="System.Net\EndpointPermission.cs" />\r
-    <Compile Include="System.Net\FileWebRequest.cs" />\r
-    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
-    <Compile Include="System.Net\FileWebResponse.cs" />\r
-    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
-    <Compile Include="System.Net\FtpDataStream.cs" />\r
-    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
-    <Compile Include="System.Net\FtpStatus.cs" />\r
-    <Compile Include="System.Net\FtpStatusCode.cs" />\r
-    <Compile Include="System.Net\FtpWebRequest.cs" />\r
-    <Compile Include="System.Net\FtpWebResponse.cs" />\r
-    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
-    <Compile Include="System.Net\HttpConnection.cs" />\r
-    <Compile Include="System.Net\HttpContinueDelegate.cs" />\r
-    <Compile Include="System.Net\HttpListener.cs" />\r
-    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
-    <Compile Include="System.Net\HttpListenerContext.cs" />\r
-    <Compile Include="System.Net\HttpListenerException.cs" />\r
-    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
-    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
-    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
-    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
-    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
-    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
-    <Compile Include="System.Net\HttpStatusCode.cs" />\r
-    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
-    <Compile Include="System.Net\HttpUtility.cs" />\r
-    <Compile Include="System.Net\HttpVersion.cs" />\r
-    <Compile Include="System.Net\HttpWebRequest.cs" />\r
-    <Compile Include="System.Net\HttpWebResponse.cs" />\r
-    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
-    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialLookup.cs" />\r
-    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
-    <Compile Include="System.Net\IPAddress.cs" />\r
-    <Compile Include="System.Net\IPEndPoint.cs" />\r
-    <Compile Include="System.Net\IPHostEntry.cs" />\r
-    <Compile Include="System.Net\IPv6Address.cs" />\r
-    <Compile Include="System.Net\IWebConnectionState.cs" />\r
-    <Compile Include="System.Net\IWebProxy.cs" />\r
-    <Compile Include="System.Net\IWebProxyScript.cs" />\r
-    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
-    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
-    <Compile Include="System.Net\ListenerPrefix.cs" />\r
-    <Compile Include="System.Net\MacProxy.cs" />\r
-    <Compile Include="System.Net\MonoHttpDate.cs" />\r
-    <Compile Include="System.Net\NetConfig.cs" />\r
-    <Compile Include="System.Net\NetworkAccess.cs" />\r
-    <Compile Include="System.Net\NetworkCredential.cs" />\r
-    <Compile Include="System.Net\NtlmClient.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
-    <Compile Include="System.Net\RequestStream.cs" />\r
-    <Compile Include="System.Net\ResponseStream.cs" />\r
-    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
-    <Compile Include="System.Net\ServicePoint.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
-    <Compile Include="System.Net\SimpleAsyncResult.cs" />\r
-    <Compile Include="System.Net\SocketAddress.cs" />\r
-    <Compile Include="System.Net\SocketPermission.cs" />\r
-    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\TransportContext.cs" />\r
-    <Compile Include="System.Net\TransportType.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\WebAsyncResult.cs" />\r
-    <Compile Include="System.Net\WebClient.cs" />\r
-    <Compile Include="System.Net\WebConnection.cs" />\r
-    <Compile Include="System.Net\WebConnectionData.cs" />\r
-    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
-    <Compile Include="System.Net\WebConnectionStream.cs" />\r
-    <Compile Include="System.Net\WebException.cs" />\r
-    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
-    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
-    <Compile Include="System.Net\WebPermission.cs" />\r
-    <Compile Include="System.Net\WebPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\WebProxy.cs" />\r
-    <Compile Include="System.Net\WebRequest.cs" />\r
-    <Compile Include="System.Net\WebRequestMethods.cs" />\r
-    <Compile Include="System.Net\WebResponse.cs" />\r
-    <Compile Include="System.Net\WebUtility.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
-    <Compile Include="System.Runtime.Versioning\FrameworkName.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
-    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
-    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
-    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
-    <Compile Include="System.Threading\Barrier.cs" />\r
-    <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
-    <Compile Include="System.Threading\Semaphore.cs" />\r
-    <Compile Include="System.Threading\SemaphoreFullException.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventHandler.cs" />\r
-    <Compile Include="System.Timers\Timer.cs" />\r
-    <Compile Include="System.Timers\TimersDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
-    <Compile Include="System.Windows.Input\ICommand.cs" />\r
-    <Compile Include="System\DefaultUriParser.cs" />\r
-    <Compile Include="System\FileStyleUriParser.cs" />\r
-    <Compile Include="System\FtpStyleUriParser.cs" />\r
-    <Compile Include="System\GenericUriParser.cs" />\r
-    <Compile Include="System\GenericUriParserOptions.cs" />\r
-    <Compile Include="System\GopherStyleUriParser.cs" />\r
-    <Compile Include="System\HttpStyleUriParser.cs" />\r
-    <Compile Include="System\IUriData.cs" />\r
-    <Compile Include="System\LdapStyleUriParser.cs" />\r
-    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
-    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
-    <Compile Include="System\NewsStyleUriParser.cs" />\r
-    <Compile Include="System\Platform.cs" />\r
-    <Compile Include="System\SRDescriptionAttribute.cs" />\r
-    <Compile Include="System\Uri.cs" />\r
-    <Compile Include="System\UriBuilder.cs" />\r
-    <Compile Include="System\UriComponents.cs" />\r
-    <Compile Include="System\UriData.cs" />\r
-    <Compile Include="System\UriElements.cs" />\r
-    <Compile Include="System\UriFormat.cs" />\r
-    <Compile Include="System\UriFormatException.cs" />\r
-    <Compile Include="System\UriHostNameType.cs" />\r
-    <Compile Include="System\UriIdnScope.cs" />\r
-    <Compile Include="System\UriKind.cs" />\r
-    <Compile Include="System\UriParseComponents.cs" />\r
-    <Compile Include="System\UriParser.cs" />\r
-    <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{AAA3F683-244C-40EF-8EF8-A95938862A44}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/Asterisk.wav">\r
-      <LogicalName>Asterisk.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Beep.wav">\r
-      <LogicalName>Beep.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Exclamation.wav">\r
-      <LogicalName>Exclamation.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Hand.wav">\r
-      <LogicalName>Hand.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Question.wav">\r
-      <LogicalName>Question.wav</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 8790db085756129446c094ac1edcf8b1788152ce..14dca25b8292380e7617df1ff6a6b54b7e809288 100644 (file)
@@ -25,7 +25,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0</DefineConstants>\r
+    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0;MONO;DISABLE_CAS_USE</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
     <Compile Include="System.Threading\Barrier.cs" />\r
     <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
     <Compile Include="System.Threading\Semaphore.cs" />\r
     <Compile Include="System\UriParseComponents.cs" />\r
     <Compile Include="System\UriParser.cs" />\r
     <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
+    <Compile Include="System\UriTypeConverter.cs" />\r
+    <Compile Include="SR.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\System\Text\RegularExpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
diff --git a/mcs/class/System/System-net_2_0.csproj b/mcs/class/System/System-net_2_0.csproj
deleted file mode 100644 (file)
index 331fb0d..0000000
+++ /dev/null
@@ -1,1194 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5A346705-1044-48F2-987D-CAE22A255427}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CONFIGURATION_2_0;XML_DEP;SECURITY_DEP;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CONFIGURATION_2_0;XML_DEP;SECURITY_DEP;CONFIGURATION_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
-    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
-    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
-    <Compile Include="Mono.Http\NtlmClient.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGeneratorOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerError.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerErrorCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerParameters.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratedCodeAttribute.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratorSupport.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\IndentedTextWriter.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\LanguageOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeArgumentReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeAssignStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttachEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgument.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgumentCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeBaseReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorType.cs" />\r
-    <Compile Include="System.CodeDom\CodeCastExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClause.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClauseCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeChecksumPragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeComment.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeConditionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeDefaultValueExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectionExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectiveCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeEntryPointMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeEventReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeFieldReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeGotoStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeIterationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLabeledStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLinePragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberEvent.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberField.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberProperty.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReturnStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespace.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImport.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImportCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeObject.cs" />\r
-    <Compile Include="System.CodeDom\CodeObjectCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodePrimitiveExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertyReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertySetValueReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionMode.cs" />\r
-    <Compile Include="System.CodeDom\CodeRemoveEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeThisReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeThrowExceptionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTryCatchFinallyStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDelegate.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMemberCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeOfExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameter.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameterCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReference.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceOptions.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableDeclarationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\FieldDirection.cs" />\r
-    <Compile Include="System.CodeDom\ICodeDomVisitor.cs" />\r
-    <Compile Include="System.CodeDom\MemberAttributes.cs" />\r
-    <Compile Include="System.Collections.Concurrent\BlockingCollection.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentBag.cs" />\r
-    <Compile Include="System.Collections.Generic\ISet.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedList.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedListNode.cs" />\r
-    <Compile Include="System.Collections.Generic\Queue.cs" />\r
-    <Compile Include="System.Collections.Generic\RBTree.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedDictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedList.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedSet.cs" />\r
-    <Compile Include="System.Collections.Generic\Stack.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\BitVector32.cs" />\r
-    <Compile Include="System.Collections.Specialized\CollectionsUtil.cs" />\r
-    <Compile Include="System.Collections.Specialized\HybridDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />\r
-    <Compile Include="System.Collections.Specialized\IOrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ListDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameObjectCollectionBase.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameValueCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />\r
-    <Compile Include="System.Collections.Specialized\OrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ProcessStringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringEnumerator.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ComponentSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ContextStack.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DefaultSerializationProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerLoader.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost2.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationManager.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\INameCreationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\InstanceDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationship.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationshipService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\RootDesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\SerializationStore.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CheckoutException.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CommandID.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransaction.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerb.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerbCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContextSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpContextType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentChangeService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentInitializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerEventService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerFilter.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHostTransactionState.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDictionaryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IEventBindingService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderListService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IHelpService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IInheritanceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IMenuCommandService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IReferenceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IResourceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IRootDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ISelectionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITreeDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDescriptorFilterService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeResolutionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommand.cs" />\r
-    <Compile Include="System.ComponentModel.Design\RuntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\SelectionTypes.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceCreatorCallback.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardCommands.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardToolWindows.cs" />\r
-    <Compile Include="System.ComponentModel.Design\TypeDescriptionProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ViewTechnology.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AmbientValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ArrayConverter.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperation.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperationManager.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeCollection.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BackgroundWorker.cs" />\r
-    <Compile Include="System.ComponentModel\BaseNumberConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BindableSupport.cs" />\r
-    <Compile Include="System.ComponentModel\BindingDirection.cs" />\r
-    <Compile Include="System.ComponentModel\BindingList.cs" />\r
-    <Compile Include="System.ComponentModel\BooleanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\CharConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeAction.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComplexBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\Component.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentEditor.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentResourceManager.cs" />\r
-    <Compile Include="System.ComponentModel\Container.cs" />\r
-    <Compile Include="System.ComponentModel\ContainerFilterService.cs" />\r
-    <Compile Include="System.ComponentModel\CultureInfoConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DataErrorsChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectFieldAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodType.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeOffsetConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DecimalConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultBindingPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DerivedPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DescriptionAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerCategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibility.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibilityAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignTimeVisibleAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DisplayNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DoubleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\EditorAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableState.cs" />\r
-    <Compile Include="System.ComponentModel\EnumConverter.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\EventHandlerList.cs" />\r
-    <Compile Include="System.ComponentModel\ExpandableObjectConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ExtenderProvidedPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\GuidConverter.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingList.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingListView.cs" />\r
-    <Compile Include="System.ComponentModel\ICancelAddNew.cs" />\r
-    <Compile Include="System.ComponentModel\IChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\IComNativeDescriptorHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IComponent.cs" />\r
-    <Compile Include="System.ComponentModel\IContainer.cs" />\r
-    <Compile Include="System.ComponentModel\ICustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\IDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\IEditableObject.cs" />\r
-    <Compile Include="System.ComponentModel\IExtenderProvider.cs" />\r
-    <Compile Include="System.ComponentModel\IIntellisenseBuilder.cs" />\r
-    <Compile Include="System.ComponentModel\IListSource.cs" />\r
-    <Compile Include="System.ComponentModel\ImmutableObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\INestedSite.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceLevel.cs" />\r
-    <Compile Include="System.ComponentModel\InitializationEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanged.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanging.cs" />\r
-    <Compile Include="System.ComponentModel\InstallerTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InstanceCreationEditor.cs" />\r
-    <Compile Include="System.ComponentModel\Int16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidAsynchronousStateException.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidEnumArgumentException.cs" />\r
-    <Compile Include="System.ComponentModel\IRaiseItemChangedEvents.cs" />\r
-    <Compile Include="System.ComponentModel\IRevertibleChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\ISite.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitialize.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitializeNotification.cs" />\r
-    <Compile Include="System.ComponentModel\ISynchronizeInvoke.cs" />\r
-    <Compile Include="System.ComponentModel\ITypeDescriptorContext.cs" />\r
-    <Compile Include="System.ComponentModel\ITypedList.cs" />\r
-    <Compile Include="System.ComponentModel\License.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseException.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseManager.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseUsageMode.cs" />\r
-    <Compile Include="System.ComponentModel\LicFileLicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\ListBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedType.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescription.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescriptionCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDirection.cs" />\r
-    <Compile Include="System.ComponentModel\LocalizableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LookupBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MarshalByValueComponent.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextProvider.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextResultHint.cs" />\r
-    <Compile Include="System.ComponentModel\MemberDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\MergablePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MultilineStringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\NestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\NotifyParentPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\NullableConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ParenthesizePropertyNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PasswordPropertyTextAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabScope.cs" />\r
-    <Compile Include="System.ComponentModel\ProvidePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReadOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RecommendedAsConfigurableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReferenceConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionEventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshProperties.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunInstallerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\SByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SettingsBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\SingleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\StringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SyntaxCheck.cs" />\r
-    <Compile Include="System.ComponentModel\TimeSpanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterType.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProvider.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\TypeListConverter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\WarningException.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapper.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapperComparer.cs" />\r
-    <Compile Include="System.ComponentModel\Win32Exception.cs" />\r
-    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
-    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
-    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
-    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
-    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
-    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
-    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
-    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
-    <Compile Include="System.Configuration\IdnElement.cs" />\r
-    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
-    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
-    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
-    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingElement.cs" />\r
-    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
-    <Compile Include="System.Configuration\SettingsBase.cs" />\r
-    <Compile Include="System.Configuration\SettingsContext.cs" />\r
-    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
-    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
-    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
-    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UriSection.cs" />\r
-    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
-    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
-    <Compile Include="System.Diagnostics\BooleanSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\ConsoleTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\CorrelationManager.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\Debug.cs" />\r
-    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DelimitedListTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
-    <Compile Include="System.Diagnostics\EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\EventTypeFilter.cs" />\r
-    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
-    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
-    <Compile Include="System.Diagnostics\Process.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
-    <Compile Include="System.Diagnostics\SourceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\SourceLevels.cs" />\r
-    <Compile Include="System.Diagnostics\SourceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
-    <Compile Include="System.Diagnostics\Switch.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchLevelAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\TextWriterTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
-    <Compile Include="System.Diagnostics\Trace.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventCache.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventType.cs" />\r
-    <Compile Include="System.Diagnostics\TraceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
-    <Compile Include="System.Diagnostics\TraceLevel.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListenerCollection.cs" />\r
-    <Compile Include="System.Diagnostics\TraceOptions.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSource.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\XmlWriterTraceListener.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
-    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
-    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
-    <Compile Include="System.IO.Ports\Handshake.cs" />\r
-    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
-    <Compile Include="System.IO.Ports\Parity.cs" />\r
-    <Compile Include="System.IO.Ports\SerialData.cs" />\r
-    <Compile Include="System.IO.Ports\SerialError.cs" />\r
-    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
-    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
-    <Compile Include="System.IO.Ports\StopBits.cs" />\r
-    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
-    <Compile Include="System.IO\DefaultWatcher.cs" />\r
-    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
-    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
-    <Compile Include="System.IO\FAMWatcher.cs" />\r
-    <Compile Include="System.IO\FileAction.cs" />\r
-    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
-    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
-    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
-    <Compile Include="System.IO\IFileWatcher.cs" />\r
-    <Compile Include="System.IO\InotifyWatcher.cs" />\r
-    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
-    <Compile Include="System.IO\InvalidDataException.cs" />\r
-    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
-    <Compile Include="System.IO\KeventWatcher.cs" />\r
-    <Compile Include="System.IO\MonoSyncFileStream.cs" />\r
-    <Compile Include="System.IO\NotifyFilters.cs" />\r
-    <Compile Include="System.IO\NullFileWatcher.cs" />\r
-    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
-    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
-    <Compile Include="System.IO\SearchPattern.cs" />\r
-    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
-    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
-    <Compile Include="System.IO\WindowsWatcher.cs" />\r
-    <Compile Include="System.Media\AudioData.cs" />\r
-    <Compile Include="System.Media\AudioDevice.cs" />\r
-    <Compile Include="System.Media\SoundPlayer.cs" />\r
-    <Compile Include="System.Media\SystemSound.cs" />\r
-    <Compile Include="System.Media\SystemSounds.cs" />\r
-    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
-    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
-    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
-    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
-    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
-    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
-    <Compile Include="System.Net.Mail\Attachment.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
-    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
-    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
-    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
-    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
-    <Compile Include="System.Net.Mime\ContentType.cs" />\r
-    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
-    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
-    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
-    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
-    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
-    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
-    <Compile Include="System.Net.Security\SslStream.cs" />\r
-    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
-    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
-    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
-    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
-    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket_2_1.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionName.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
-    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
-    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
-    <Compile Include="System.Net\AuthenticationManager.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
-    <Compile Include="System.Net\Authorization.cs" />\r
-    <Compile Include="System.Net\BasicClient.cs" />\r
-    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
-    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
-    <Compile Include="System.Net\ConnectionModes.cs" />\r
-    <Compile Include="System.Net\Cookie.cs" />\r
-    <Compile Include="System.Net\CookieCollection.cs" />\r
-    <Compile Include="System.Net\CookieContainer.cs" />\r
-    <Compile Include="System.Net\CookieException.cs" />\r
-    <Compile Include="System.Net\CookieParser.cs" />\r
-    <Compile Include="System.Net\CredentialCache.cs" />\r
-    <Compile Include="System.Net\DecompressionMethods.cs" />\r
-    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
-    <Compile Include="System.Net\DigestClient.cs" />\r
-    <Compile Include="System.Net\Dns.cs" />\r
-    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
-    <Compile Include="System.Net\DnsEndPoint.cs" />\r
-    <Compile Include="System.Net\DnsPermission.cs" />\r
-    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\EndPoint.cs" />\r
-    <Compile Include="System.Net\EndPointListener.cs" />\r
-    <Compile Include="System.Net\EndPointManager.cs" />\r
-    <Compile Include="System.Net\EndpointPermission.cs" />\r
-    <Compile Include="System.Net\FileWebRequest.cs" />\r
-    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
-    <Compile Include="System.Net\FileWebResponse.cs" />\r
-    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
-    <Compile Include="System.Net\FtpDataStream.cs" />\r
-    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
-    <Compile Include="System.Net\FtpStatus.cs" />\r
-    <Compile Include="System.Net\FtpStatusCode.cs" />\r
-    <Compile Include="System.Net\FtpWebRequest.cs" />\r
-    <Compile Include="System.Net\FtpWebResponse.cs" />\r
-    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
-    <Compile Include="System.Net\HttpConnection.cs" />\r
-    <Compile Include="System.Net\HttpContinueDelegate.cs" />\r
-    <Compile Include="System.Net\HttpListener.cs" />\r
-    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
-    <Compile Include="System.Net\HttpListenerContext.cs" />\r
-    <Compile Include="System.Net\HttpListenerException.cs" />\r
-    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
-    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
-    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
-    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
-    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
-    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
-    <Compile Include="System.Net\HttpStatusCode.cs" />\r
-    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
-    <Compile Include="System.Net\HttpUtility.cs" />\r
-    <Compile Include="System.Net\HttpVersion.cs" />\r
-    <Compile Include="System.Net\HttpWebRequest.cs" />\r
-    <Compile Include="System.Net\HttpWebResponse.cs" />\r
-    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
-    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialLookup.cs" />\r
-    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
-    <Compile Include="System.Net\IPAddress.cs" />\r
-    <Compile Include="System.Net\IPEndPoint.cs" />\r
-    <Compile Include="System.Net\IPHostEntry.cs" />\r
-    <Compile Include="System.Net\IPv6Address.cs" />\r
-    <Compile Include="System.Net\IWebConnectionState.cs" />\r
-    <Compile Include="System.Net\IWebProxy.cs" />\r
-    <Compile Include="System.Net\IWebProxyScript.cs" />\r
-    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
-    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
-    <Compile Include="System.Net\ListenerPrefix.cs" />\r
-    <Compile Include="System.Net\MacProxy.cs" />\r
-    <Compile Include="System.Net\MonoHttpDate.cs" />\r
-    <Compile Include="System.Net\NetConfig.cs" />\r
-    <Compile Include="System.Net\NetworkAccess.cs" />\r
-    <Compile Include="System.Net\NetworkCredential.cs" />\r
-    <Compile Include="System.Net\NtlmClient.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
-    <Compile Include="System.Net\RequestStream.cs" />\r
-    <Compile Include="System.Net\ResponseStream.cs" />\r
-    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
-    <Compile Include="System.Net\ServicePoint.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
-    <Compile Include="System.Net\SocketAddress.cs" />\r
-    <Compile Include="System.Net\SocketPermission.cs" />\r
-    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\TransportContext.cs" />\r
-    <Compile Include="System.Net\TransportType.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\WebAsyncResult.cs" />\r
-    <Compile Include="System.Net\WebClient.cs" />\r
-    <Compile Include="System.Net\WebConnection.cs" />\r
-    <Compile Include="System.Net\WebConnectionData.cs" />\r
-    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
-    <Compile Include="System.Net\WebConnectionStream.cs" />\r
-    <Compile Include="System.Net\WebException.cs" />\r
-    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
-    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
-    <Compile Include="System.Net\WebPermission.cs" />\r
-    <Compile Include="System.Net\WebPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\WebProxy.cs" />\r
-    <Compile Include="System.Net\WebRequest.cs" />\r
-    <Compile Include="System.Net\WebRequestMethods.cs" />\r
-    <Compile Include="System.Net\WebResponse.cs" />\r
-    <Compile Include="System.Net\WebUtility.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
-    <Compile Include="System.Runtime.Versioning\FrameworkName.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
-    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
-    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
-    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
-    <Compile Include="System.Threading\Barrier.cs" />\r
-    <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
-    <Compile Include="System.Threading\Semaphore.cs" />\r
-    <Compile Include="System.Threading\SemaphoreFullException.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventHandler.cs" />\r
-    <Compile Include="System.Timers\Timer.cs" />\r
-    <Compile Include="System.Timers\TimersDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
-    <Compile Include="System.Windows.Input\ICommand.cs" />\r
-    <Compile Include="System\DefaultUriParser.cs" />\r
-    <Compile Include="System\FileStyleUriParser.cs" />\r
-    <Compile Include="System\FtpStyleUriParser.cs" />\r
-    <Compile Include="System\GenericUriParser.cs" />\r
-    <Compile Include="System\GenericUriParserOptions.cs" />\r
-    <Compile Include="System\GopherStyleUriParser.cs" />\r
-    <Compile Include="System\HttpStyleUriParser.cs" />\r
-    <Compile Include="System\IUriData.cs" />\r
-    <Compile Include="System\LdapStyleUriParser.cs" />\r
-    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
-    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
-    <Compile Include="System\NewsStyleUriParser.cs" />\r
-    <Compile Include="System\Platform.cs" />\r
-    <Compile Include="System\SRDescriptionAttribute.cs" />\r
-    <Compile Include="System\Uri.cs" />\r
-    <Compile Include="System\UriBuilder.cs" />\r
-    <Compile Include="System\UriComponents.cs" />\r
-    <Compile Include="System\UriData.cs" />\r
-    <Compile Include="System\UriElements.cs" />\r
-    <Compile Include="System\UriFormat.cs" />\r
-    <Compile Include="System\UriFormatException.cs" />\r
-    <Compile Include="System\UriHostNameType.cs" />\r
-    <Compile Include="System\UriIdnScope.cs" />\r
-    <Compile Include="System\UriKind.cs" />\r
-    <Compile Include="System\UriParseComponents.cs" />\r
-    <Compile Include="System\UriParser.cs" />\r
-    <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-build.csproj">\r
-      <Project>{F8FFA803-9D2E-465A-A87D-3F871AD497B6}</Project>\r
-      <Name>System.XML\System.Xml-build</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Configuration.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Configuration.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System\System-build-1.csproj">\r
-      <Project>{ACA4A790-62B2-4D59-B96C-CE17F8F6BE58}</Project>\r
-      <Name>System\System-build-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-build.csproj">\r
-      <Project>{B826C748-252D-4C0F-8A6C-C8DADE270C3F}</Project>\r
-      <Name>Mono.Security\Mono.Security-build</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/Asterisk.wav">\r
-      <LogicalName>Asterisk.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Beep.wav">\r
-      <LogicalName>Beep.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Exclamation.wav">\r
-      <LogicalName>Exclamation.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Hand.wav">\r
-      <LogicalName>Hand.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Question.wav">\r
-      <LogicalName>Question.wav</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index d8abc97e11a0f415a74c92260264f374a3a4f9ef..5df88568f80eb697658f9cdce4f55b8a04ec3f03 100644 (file)
@@ -25,7 +25,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP;CONFIGURATION_DEP</DefineConstants>\r
+    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP;CONFIGURATION_DEP;MONO;DISABLE_CAS_USE</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
     <Compile Include="System.Threading\Barrier.cs" />\r
     <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
     <Compile Include="System.Threading\Semaphore.cs" />\r
     <Compile Include="System\UriParseComponents.cs" />\r
     <Compile Include="System\UriParser.cs" />\r
     <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
+    <Compile Include="System\UriTypeConverter.cs" />\r
+    <Compile Include="SR.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\System\Text\RegularExpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
diff --git a/mcs/class/System/System-secxml-net_2_0.csproj b/mcs/class/System/System-secxml-net_2_0.csproj
deleted file mode 100644 (file)
index 76f9f2e..0000000
+++ /dev/null
@@ -1,1195 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{93A942E0-E5DC-470B-8BEA-C410CC67C6EF}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0/secxml</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
-    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
-    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
-    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
-    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
-    <Compile Include="Mono.Http\NtlmClient.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
-    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
-    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
-    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeGeneratorOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerError.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerErrorCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerParameters.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratedCodeAttribute.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\GeneratorSupport.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeCompiler.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeGenerator.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\ICodeParser.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\IndentedTextWriter.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\LanguageOptions.cs" />\r
-    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeArgumentReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeArrayIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeAssignStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttachEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgument.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeArgumentCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeAttributeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeBaseReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeBinaryOperatorType.cs" />\r
-    <Compile Include="System.CodeDom\CodeCastExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClause.cs" />\r
-    <Compile Include="System.CodeDom\CodeCatchClauseCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeChecksumPragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeComment.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeCommentStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeConditionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeDefaultValueExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDelegateInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectionExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeDirectiveCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeEntryPointMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeEventReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeExpressionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeFieldReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeGotoStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeIndexerExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeIterationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLabeledStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeLinePragma.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberEvent.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberField.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberMethod.cs" />\r
-    <Compile Include="System.CodeDom\CodeMemberProperty.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodInvokeExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeMethodReturnStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespace.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImport.cs" />\r
-    <Compile Include="System.CodeDom\CodeNamespaceImportCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeObject.cs" />\r
-    <Compile Include="System.CodeDom\CodeObjectCreateExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeParameterDeclarationExpressionCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodePrimitiveExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertyReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodePropertySetValueReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionDirective.cs" />\r
-    <Compile Include="System.CodeDom\CodeRegionMode.cs" />\r
-    <Compile Include="System.CodeDom\CodeRemoveEventStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetCompileUnit.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeSnippetTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeStatementCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeThisReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeThrowExceptionStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTryCatchFinallyStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeConstructor.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclaration.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDeclarationCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeDelegate.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMember.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeMemberCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeOfExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameter.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeParameterCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReference.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceCollection.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\CodeTypeReferenceOptions.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableDeclarationStatement.cs" />\r
-    <Compile Include="System.CodeDom\CodeVariableReferenceExpression.cs" />\r
-    <Compile Include="System.CodeDom\FieldDirection.cs" />\r
-    <Compile Include="System.CodeDom\ICodeDomVisitor.cs" />\r
-    <Compile Include="System.CodeDom\MemberAttributes.cs" />\r
-    <Compile Include="System.Collections.Concurrent\BlockingCollection.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentBag.cs" />\r
-    <Compile Include="System.Collections.Generic\ISet.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedList.cs" />\r
-    <Compile Include="System.Collections.Generic\LinkedListNode.cs" />\r
-    <Compile Include="System.Collections.Generic\Queue.cs" />\r
-    <Compile Include="System.Collections.Generic\RBTree.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedDictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedList.cs" />\r
-    <Compile Include="System.Collections.Generic\SortedSet.cs" />\r
-    <Compile Include="System.Collections.Generic\Stack.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\BitVector32.cs" />\r
-    <Compile Include="System.Collections.Specialized\CollectionsUtil.cs" />\r
-    <Compile Include="System.Collections.Specialized\HybridDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />\r
-    <Compile Include="System.Collections.Specialized\IOrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ListDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameObjectCollectionBase.cs" />\r
-    <Compile Include="System.Collections.Specialized\NameValueCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />\r
-    <Compile Include="System.Collections.Specialized\OrderedDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\ProcessStringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringDictionary.cs" />\r
-    <Compile Include="System.Collections.Specialized\StringEnumerator.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ComponentSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ContextStack.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DefaultSerializationProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerLoader.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\DesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderHost2.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerLoaderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationManager.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationProvider.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\IDesignerSerializationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\INameCreationService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\InstanceDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationship.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\MemberRelationshipService.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\ResolveNameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\RootDesignerSerializerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design.Serialization\SerializationStore.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ActiveDesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CheckoutException.cs" />\r
-    <Compile Include="System.ComponentModel.Design\CommandID.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ComponentRenameEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransaction.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerTransactionCloseEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerb.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesignerVerbCollection.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\DesigntimeLicenseContextSerializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpContextType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordAttribute.cs" />\r
-    <Compile Include="System.ComponentModel.Design\HelpKeywordType.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentChangeService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IComponentInitializer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerEventService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerFilter.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHost.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerHostTransactionState.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDesignerOptionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IDictionaryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IEventBindingService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderListService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IExtenderProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IHelpService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IInheritanceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IMenuCommandService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IReferenceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IResourceService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IRootDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ISelectionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\IServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITreeDesigner.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDescriptorFilterService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeDiscoveryService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ITypeResolutionService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\MenuCommand.cs" />\r
-    <Compile Include="System.ComponentModel.Design\RuntimeLicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel.Design\SelectionTypes.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceContainer.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ServiceCreatorCallback.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardCommands.cs" />\r
-    <Compile Include="System.ComponentModel.Design\StandardToolWindows.cs" />\r
-    <Compile Include="System.ComponentModel.Design\TypeDescriptionProviderService.cs" />\r
-    <Compile Include="System.ComponentModel.Design\ViewTechnology.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AddingNewEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AmbientValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ArrayConverter.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperation.cs" />\r
-    <Compile Include="System.ComponentModel\AsyncOperationManager.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeCollection.cs" />\r
-    <Compile Include="System.ComponentModel\AttributeProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BackgroundWorker.cs" />\r
-    <Compile Include="System.ComponentModel\BaseNumberConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\BindableSupport.cs" />\r
-    <Compile Include="System.ComponentModel\BindingDirection.cs" />\r
-    <Compile Include="System.ComponentModel\BindingList.cs" />\r
-    <Compile Include="System.ComponentModel\BooleanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\BrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CancelEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\CharConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeAction.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionChangeEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CollectionConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComplexBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\Component.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentEditor.cs" />\r
-    <Compile Include="System.ComponentModel\ComponentResourceManager.cs" />\r
-    <Compile Include="System.ComponentModel\Container.cs" />\r
-    <Compile Include="System.ComponentModel\ContainerFilterService.cs" />\r
-    <Compile Include="System.ComponentModel\CultureInfoConverter.cs" />\r
-    <Compile Include="System.ComponentModel\CustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DataErrorsChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectFieldAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DataObjectMethodType.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DateTimeOffsetConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DecimalConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultBindingPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DefaultValueAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DerivedPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\DescriptionAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerCategoryAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibility.cs" />\r
-    <Compile Include="System.ComponentModel\DesignerSerializationVisibilityAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DesignTimeVisibleAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DisplayNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\DoubleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\DoWorkEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\EditorAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\EditorBrowsableState.cs" />\r
-    <Compile Include="System.ComponentModel\EnumConverter.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\EventDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\EventHandlerList.cs" />\r
-    <Compile Include="System.ComponentModel\ExpandableObjectConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ExtenderProvidedPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\GuidConverter.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\HandledEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingList.cs" />\r
-    <Compile Include="System.ComponentModel\IBindingListView.cs" />\r
-    <Compile Include="System.ComponentModel\ICancelAddNew.cs" />\r
-    <Compile Include="System.ComponentModel\IChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\IComNativeDescriptorHandler.cs" />\r
-    <Compile Include="System.ComponentModel\IComponent.cs" />\r
-    <Compile Include="System.ComponentModel\IContainer.cs" />\r
-    <Compile Include="System.ComponentModel\ICustomTypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\IDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\IEditableObject.cs" />\r
-    <Compile Include="System.ComponentModel\IExtenderProvider.cs" />\r
-    <Compile Include="System.ComponentModel\IIntellisenseBuilder.cs" />\r
-    <Compile Include="System.ComponentModel\IListSource.cs" />\r
-    <Compile Include="System.ComponentModel\ImmutableObjectAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\INestedSite.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InheritanceLevel.cs" />\r
-    <Compile Include="System.ComponentModel\InitializationEventAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyDataErrorInfo.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanged.cs" />\r
-    <Compile Include="System.ComponentModel\INotifyPropertyChanging.cs" />\r
-    <Compile Include="System.ComponentModel\InstallerTypeAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\InstanceCreationEditor.cs" />\r
-    <Compile Include="System.ComponentModel\Int16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\Int64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidAsynchronousStateException.cs" />\r
-    <Compile Include="System.ComponentModel\InvalidEnumArgumentException.cs" />\r
-    <Compile Include="System.ComponentModel\IRaiseItemChangedEvents.cs" />\r
-    <Compile Include="System.ComponentModel\IRevertibleChangeTracking.cs" />\r
-    <Compile Include="System.ComponentModel\ISite.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitialize.cs" />\r
-    <Compile Include="System.ComponentModel\ISupportInitializeNotification.cs" />\r
-    <Compile Include="System.ComponentModel\ISynchronizeInvoke.cs" />\r
-    <Compile Include="System.ComponentModel\ITypeDescriptorContext.cs" />\r
-    <Compile Include="System.ComponentModel\ITypedList.cs" />\r
-    <Compile Include="System.ComponentModel\License.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseContext.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseException.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseManager.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LicenseUsageMode.cs" />\r
-    <Compile Include="System.ComponentModel\LicFileLicenseProvider.cs" />\r
-    <Compile Include="System.ComponentModel\ListBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\ListChangedType.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescription.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDescriptionCollection.cs" />\r
-    <Compile Include="System.ComponentModel\ListSortDirection.cs" />\r
-    <Compile Include="System.ComponentModel\LocalizableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\LookupBindingPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MarshalByValueComponent.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextProvider.cs" />\r
-    <Compile Include="System.ComponentModel\MaskedTextResultHint.cs" />\r
-    <Compile Include="System.ComponentModel\MemberDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\MergablePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\MultilineStringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\NestedContainer.cs" />\r
-    <Compile Include="System.ComponentModel\NotifyParentPropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\NullableConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ParenthesizePropertyNameAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PasswordPropertyTextAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\ProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyDescriptorCollection.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyTabScope.cs" />\r
-    <Compile Include="System.ComponentModel\ProvidePropertyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReadOnlyAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RecommendedAsConfigurableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ReferenceConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionEventDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\ReflectionPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshProperties.cs" />\r
-    <Compile Include="System.ComponentModel\RefreshPropertiesAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunInstallerAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\RunWorkerCompletedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\SByteConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SettingsBindableAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\SingleConverter.cs" />\r
-    <Compile Include="System.ComponentModel\StringConverter.cs" />\r
-    <Compile Include="System.ComponentModel\SyntaxCheck.cs" />\r
-    <Compile Include="System.ComponentModel\TimeSpanConverter.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\ToolboxItemFilterType.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverter.cs" />\r
-    <Compile Include="System.ComponentModel\TypeConverterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProvider.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptionProviderAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\TypeDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\TypeListConverter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt16Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt32Converter.cs" />\r
-    <Compile Include="System.ComponentModel\UInt64Converter.cs" />\r
-    <Compile Include="System.ComponentModel\WarningException.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapper.cs" />\r
-    <Compile Include="System.ComponentModel\WeakObjectWrapperComparer.cs" />\r
-    <Compile Include="System.ComponentModel\Win32Exception.cs" />\r
-    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
-    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
-    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
-    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
-    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
-    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
-    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
-    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
-    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
-    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
-    <Compile Include="System.Configuration\IdnElement.cs" />\r
-    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
-    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
-    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
-    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingElement.cs" />\r
-    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
-    <Compile Include="System.Configuration\SettingsBase.cs" />\r
-    <Compile Include="System.Configuration\SettingsContext.cs" />\r
-    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
-    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
-    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
-    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
-    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
-    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
-    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
-    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
-    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
-    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UriSection.cs" />\r
-    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
-    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
-    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
-    <Compile Include="System.Diagnostics\BooleanSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\ConsoleTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\CorrelationManager.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
-    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\Debug.cs" />\r
-    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DelimitedListTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
-    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
-    <Compile Include="System.Diagnostics\EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
-    <Compile Include="System.Diagnostics\EventTypeFilter.cs" />\r
-    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
-    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
-    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
-    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
-    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
-    <Compile Include="System.Diagnostics\Process.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
-    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
-    <Compile Include="System.Diagnostics\SourceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\SourceLevels.cs" />\r
-    <Compile Include="System.Diagnostics\SourceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
-    <Compile Include="System.Diagnostics\Switch.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\SwitchLevelAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\TextWriterTraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
-    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
-    <Compile Include="System.Diagnostics\Trace.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventCache.cs" />\r
-    <Compile Include="System.Diagnostics\TraceEventType.cs" />\r
-    <Compile Include="System.Diagnostics\TraceFilter.cs" />\r
-    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
-    <Compile Include="System.Diagnostics\TraceLevel.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListener.cs" />\r
-    <Compile Include="System.Diagnostics\TraceListenerCollection.cs" />\r
-    <Compile Include="System.Diagnostics\TraceOptions.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSource.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
-    <Compile Include="System.Diagnostics\TraceSwitch.cs" />\r
-    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
-    <Compile Include="System.Diagnostics\XmlWriterTraceListener.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
-    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
-    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
-    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
-    <Compile Include="System.IO.Ports\Handshake.cs" />\r
-    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
-    <Compile Include="System.IO.Ports\Parity.cs" />\r
-    <Compile Include="System.IO.Ports\SerialData.cs" />\r
-    <Compile Include="System.IO.Ports\SerialError.cs" />\r
-    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
-    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
-    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
-    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
-    <Compile Include="System.IO.Ports\StopBits.cs" />\r
-    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
-    <Compile Include="System.IO\DefaultWatcher.cs" />\r
-    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
-    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
-    <Compile Include="System.IO\FAMWatcher.cs" />\r
-    <Compile Include="System.IO\FileAction.cs" />\r
-    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
-    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
-    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
-    <Compile Include="System.IO\IFileWatcher.cs" />\r
-    <Compile Include="System.IO\InotifyWatcher.cs" />\r
-    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
-    <Compile Include="System.IO\InvalidDataException.cs" />\r
-    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
-    <Compile Include="System.IO\KeventWatcher.cs" />\r
-    <Compile Include="System.IO\MonoSyncFileStream.cs" />\r
-    <Compile Include="System.IO\NotifyFilters.cs" />\r
-    <Compile Include="System.IO\NullFileWatcher.cs" />\r
-    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
-    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
-    <Compile Include="System.IO\SearchPattern.cs" />\r
-    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
-    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
-    <Compile Include="System.IO\WindowsWatcher.cs" />\r
-    <Compile Include="System.Media\AudioData.cs" />\r
-    <Compile Include="System.Media\AudioDevice.cs" />\r
-    <Compile Include="System.Media\SoundPlayer.cs" />\r
-    <Compile Include="System.Media\SystemSound.cs" />\r
-    <Compile Include="System.Media\SystemSounds.cs" />\r
-    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
-    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
-    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
-    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
-    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
-    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
-    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
-    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
-    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
-    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
-    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
-    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
-    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
-    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
-    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
-    <Compile Include="System.Net.Mail\Attachment.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
-    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
-    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
-    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
-    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
-    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
-    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
-    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
-    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
-    <Compile Include="System.Net.Mime\ContentType.cs" />\r
-    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
-    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
-    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
-    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
-    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
-    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
-    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
-    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
-    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
-    <Compile Include="System.Net.Security\SslStream.cs" />\r
-    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
-    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
-    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
-    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
-    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
-    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
-    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\Socket_2_1.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketOptionName.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
-    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
-    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
-    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\StreamWebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
-    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
-    <Compile Include="System.Net\AuthenticationManager.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
-    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
-    <Compile Include="System.Net\Authorization.cs" />\r
-    <Compile Include="System.Net\BasicClient.cs" />\r
-    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
-    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
-    <Compile Include="System.Net\ChunkStream.cs" />\r
-    <Compile Include="System.Net\ConnectionModes.cs" />\r
-    <Compile Include="System.Net\Cookie.cs" />\r
-    <Compile Include="System.Net\CookieCollection.cs" />\r
-    <Compile Include="System.Net\CookieContainer.cs" />\r
-    <Compile Include="System.Net\CookieException.cs" />\r
-    <Compile Include="System.Net\CookieParser.cs" />\r
-    <Compile Include="System.Net\CredentialCache.cs" />\r
-    <Compile Include="System.Net\DecompressionMethods.cs" />\r
-    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
-    <Compile Include="System.Net\DigestClient.cs" />\r
-    <Compile Include="System.Net\Dns.cs" />\r
-    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
-    <Compile Include="System.Net\DnsEndPoint.cs" />\r
-    <Compile Include="System.Net\DnsPermission.cs" />\r
-    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\DownloadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\EndPoint.cs" />\r
-    <Compile Include="System.Net\EndPointListener.cs" />\r
-    <Compile Include="System.Net\EndPointManager.cs" />\r
-    <Compile Include="System.Net\EndpointPermission.cs" />\r
-    <Compile Include="System.Net\FileWebRequest.cs" />\r
-    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
-    <Compile Include="System.Net\FileWebResponse.cs" />\r
-    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
-    <Compile Include="System.Net\FtpDataStream.cs" />\r
-    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
-    <Compile Include="System.Net\FtpStatus.cs" />\r
-    <Compile Include="System.Net\FtpStatusCode.cs" />\r
-    <Compile Include="System.Net\FtpWebRequest.cs" />\r
-    <Compile Include="System.Net\FtpWebResponse.cs" />\r
-    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
-    <Compile Include="System.Net\HttpConnection.cs" />\r
-    <Compile Include="System.Net\HttpContinueDelegate.cs" />\r
-    <Compile Include="System.Net\HttpListener.cs" />\r
-    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
-    <Compile Include="System.Net\HttpListenerContext.cs" />\r
-    <Compile Include="System.Net\HttpListenerException.cs" />\r
-    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
-    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
-    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
-    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
-    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
-    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
-    <Compile Include="System.Net\HttpStatusCode.cs" />\r
-    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
-    <Compile Include="System.Net\HttpUtility.cs" />\r
-    <Compile Include="System.Net\HttpVersion.cs" />\r
-    <Compile Include="System.Net\HttpWebRequest.cs" />\r
-    <Compile Include="System.Net\HttpWebResponse.cs" />\r
-    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
-    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialLookup.cs" />\r
-    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
-    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
-    <Compile Include="System.Net\IPAddress.cs" />\r
-    <Compile Include="System.Net\IPEndPoint.cs" />\r
-    <Compile Include="System.Net\IPHostEntry.cs" />\r
-    <Compile Include="System.Net\IPv6Address.cs" />\r
-    <Compile Include="System.Net\IWebConnectionState.cs" />\r
-    <Compile Include="System.Net\IWebProxy.cs" />\r
-    <Compile Include="System.Net\IWebProxyScript.cs" />\r
-    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
-    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
-    <Compile Include="System.Net\ListenerPrefix.cs" />\r
-    <Compile Include="System.Net\MacProxy.cs" />\r
-    <Compile Include="System.Net\MonoHttpDate.cs" />\r
-    <Compile Include="System.Net\NetConfig.cs" />\r
-    <Compile Include="System.Net\NetworkAccess.cs" />\r
-    <Compile Include="System.Net\NetworkCredential.cs" />\r
-    <Compile Include="System.Net\NtlmClient.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenReadCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\OpenWriteCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
-    <Compile Include="System.Net\RequestStream.cs" />\r
-    <Compile Include="System.Net\ResponseStream.cs" />\r
-    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
-    <Compile Include="System.Net\ServicePoint.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.cs" />\r
-    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
-    <Compile Include="System.Net\SimpleAsyncResult.cs" />\r
-    <Compile Include="System.Net\SocketAddress.cs" />\r
-    <Compile Include="System.Net\SocketPermission.cs" />\r
-    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\TransportContext.cs" />\r
-    <Compile Include="System.Net\TransportType.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadDataCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadFileCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadProgressChangedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadStringCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventArgs.cs" />\r
-    <Compile Include="System.Net\UploadValuesCompletedEventHandler.cs" />\r
-    <Compile Include="System.Net\WebAsyncResult.cs" />\r
-    <Compile Include="System.Net\WebClient.cs" />\r
-    <Compile Include="System.Net\WebConnection.cs" />\r
-    <Compile Include="System.Net\WebConnectionData.cs" />\r
-    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
-    <Compile Include="System.Net\WebConnectionStream.cs" />\r
-    <Compile Include="System.Net\WebException.cs" />\r
-    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
-    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
-    <Compile Include="System.Net\WebPermission.cs" />\r
-    <Compile Include="System.Net\WebPermissionAttribute.cs" />\r
-    <Compile Include="System.Net\WebProxy.cs" />\r
-    <Compile Include="System.Net\WebRequest.cs" />\r
-    <Compile Include="System.Net\WebRequestMethods.cs" />\r
-    <Compile Include="System.Net\WebResponse.cs" />\r
-    <Compile Include="System.Net\WebUtility.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
-    <Compile Include="System.Runtime.Versioning\FrameworkName.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
-    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
-    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
-    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
-    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
-    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
-    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
-    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
-    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
-    <Compile Include="System.Threading\Barrier.cs" />\r
-    <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
-    <Compile Include="System.Threading\Semaphore.cs" />\r
-    <Compile Include="System.Threading\SemaphoreFullException.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
-    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
-    <Compile Include="System.Timers\ElapsedEventHandler.cs" />\r
-    <Compile Include="System.Timers\Timer.cs" />\r
-    <Compile Include="System.Timers\TimersDescriptionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
-    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
-    <Compile Include="System.Windows.Input\ICommand.cs" />\r
-    <Compile Include="System\DefaultUriParser.cs" />\r
-    <Compile Include="System\FileStyleUriParser.cs" />\r
-    <Compile Include="System\FtpStyleUriParser.cs" />\r
-    <Compile Include="System\GenericUriParser.cs" />\r
-    <Compile Include="System\GenericUriParserOptions.cs" />\r
-    <Compile Include="System\GopherStyleUriParser.cs" />\r
-    <Compile Include="System\HttpStyleUriParser.cs" />\r
-    <Compile Include="System\IUriData.cs" />\r
-    <Compile Include="System\LdapStyleUriParser.cs" />\r
-    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
-    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
-    <Compile Include="System\NewsStyleUriParser.cs" />\r
-    <Compile Include="System\Platform.cs" />\r
-    <Compile Include="System\SRDescriptionAttribute.cs" />\r
-    <Compile Include="System\Uri.cs" />\r
-    <Compile Include="System\UriBuilder.cs" />\r
-    <Compile Include="System\UriComponents.cs" />\r
-    <Compile Include="System\UriData.cs" />\r
-    <Compile Include="System\UriElements.cs" />\r
-    <Compile Include="System\UriFormat.cs" />\r
-    <Compile Include="System\UriFormatException.cs" />\r
-    <Compile Include="System\UriHostNameType.cs" />\r
-    <Compile Include="System\UriIdnScope.cs" />\r
-    <Compile Include="System\UriKind.cs" />\r
-    <Compile Include="System\UriParseComponents.cs" />\r
-    <Compile Include="System\UriParser.cs" />\r
-    <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PreBuildEvent>
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="../corlib/corlib-net_2_0.csproj">\r
-      <Project>{68BBE0B0-9B07-4884-BDF2-6410566B5320}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="../System.XML/System.Xml-bare-build.csproj">\r
-      <Project>{8C65BF8D-256A-44B0-BF9A-8052C075DC31}</Project>\r
-      <Name>System.XML\System.Xml-bare-build</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="System-bare-net_2_0.csproj">\r
-      <Project>{CB8FF352-29A0-4181-8FA6-F912F0B62D34}</Project>\r
-      <Name>System\System-bare-net_2_0</Name>\r
-      <Aliases>PrebuiltSystem</Aliases>    </ProjectReference>\r
-    <ProjectReference Include="../Mono.Security/Mono.Security-build.csproj">\r
-      <Project>{80E57C4A-0D18-489B-AE2E-E540CEBE0CEE}</Project>\r
-      <Name>Mono.Security\Mono.Security-build</Name>\r
-      <Aliases>MonoSecurity</Aliases>    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/Asterisk.wav">\r
-      <LogicalName>Asterisk.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Beep.wav">\r
-      <LogicalName>Beep.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Exclamation.wav">\r
-      <LogicalName>Exclamation.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Hand.wav">\r
-      <LogicalName>Hand.wav</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/Question.wav">\r
-      <LogicalName>Question.wav</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index b13fc18c24506e881f3374dcad084414a0bea640..bab7e335af18c6a88c6a0986fa8ca8036d8cb055 100644 (file)
@@ -25,7 +25,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP</DefineConstants>\r
+    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5;CONFIGURATION_2_0;SECURITY_DEP;XML_DEP;MONO;DISABLE_CAS_USE</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
     <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\arch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\BaseMachine.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\cache.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Capture.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CaptureCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\category.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\CILCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\compiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\debug.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Group.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\GroupCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\interval.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Match.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchCollection.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\MatchEvaluator.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\parser.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\quicksearch.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\Regex.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexCompilationInfo.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexMatchTimeoutException.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexOptions.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunner.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RegexRunnerFactory.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\replace.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxCompiler.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxInterpreter.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\RxOp.cs" />\r
-    <Compile Include="System.Text.RegularExpressions\syntax.cs" />\r
     <Compile Include="System.Threading\Barrier.cs" />\r
     <Compile Include="System.Threading\BarrierPostPhaseException.cs" />\r
     <Compile Include="System.Threading\Semaphore.cs" />\r
     <Compile Include="System\UriParseComponents.cs" />\r
     <Compile Include="System\UriParser.cs" />\r
     <Compile Include="System\UriPartial.cs" />\r
-    <Compile Include="System\UriTypeConverter.cs" />\r  </ItemGroup>\r
+    <Compile Include="System\UriTypeConverter.cs" />\r
+    <Compile Include="SR.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\System\Text\RegularExpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
diff --git a/mcs/class/System/System-tests-net_2_0.csproj b/mcs/class/System/System-tests-net_2_0.csproj
deleted file mode 100644 (file)
index cd0bb73..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{44334A58-369B-4605-957E-8CAB1C843377}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699,618,672,219,67,169,612</NoWarn>\r
-    <OutputPath>bin\Debug\System-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>System_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699,618,672,219,67,169,612</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699,618,672,219,67,169,612</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorFromCompileUnitTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorFromExpressionTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorFromNamespaceTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorFromStatementTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorFromTypeTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorIdentifierTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorTestBase.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CodeGeneratorTypeOutputTest.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CSharpCodeProviderCas.cs" />\r
-    <Compile Include="Test\Microsoft.CSharp\CSharpCodeProviderTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromBinaryOperatorTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromCompileUnitTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromExpressionTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromNamespaceTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromStatementTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorFromTypeTest.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\CodeGeneratorTestBase.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\VBCodeProviderCas.cs" />\r
-    <Compile Include="Test\Microsoft.VisualBasic\VBCodeProviderTest.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\IntranetZoneCredentialPolicyCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\IntranetZoneCredentialPolicyTest.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\PowerModeChangedEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\SessionEndedEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\SessionEndingEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\SessionSwitchEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\SessionSwitchEventArgsTest.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\SystemEventsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\TimerElapsedEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\UserPreferenceChangedEventArgsCas.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\UserPreferenceChangingEventArgsCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeCompilerCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeDomProviderCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorFromTypeTestBase.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorGenerateFromCompileUnitTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorOptionsCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorOptionsTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeGeneratorTestBase.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CodeParserCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CompilerErrorCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CompilerErrorCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CompilerInfoCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CompilerParametersCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\CompilerResultsCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\ExecutorCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\ExecutorTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\GeneratedCodeAttributeCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\GeneratedCodeAttributeTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\IndentedTextWriterCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\IndentedTextWriterTest.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\TempFileCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom.Compiler\TempFileCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeArgumentReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeArgumentReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeArrayCreateExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeArrayCreateExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeArrayIndexerExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAssignStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttachEventStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttachEventStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeArgumentCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeArgumentCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeArgumentCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeArgumentTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeDeclarationCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeDeclarationCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeDeclarationCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeAttributeDeclarationTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeBaseReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeBinaryOperatorExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCastExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCastExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCatchClauseCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCatchClauseCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCatchClauseCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCatchClauseTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeChecksumPragmaCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeChecksumPragmaTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCommentStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCommentStatementCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCommentStatementCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeCompileUnitCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeConditionStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeConstructorCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeConstructorTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDefaultValueExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDefaultValueExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDelegateCreateExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDelegateCreateExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDelegateInvokeExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDirectionExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDirectiveCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDirectiveCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeDirectiveCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeEntryPointMethodCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeEventReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeEventReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeExpressionCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeExpressionCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeExpressionStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeFieldReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeGotoStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeGotoStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeIndexerExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeIterationStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeLabeledStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeLinePragmaCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeLinePragmaTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberEventCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberFieldCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberFieldTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberMethodCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberMethodTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberPropertyCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMemberPropertyTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMethodInvokeExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMethodInvokeExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMethodReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMethodReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeMethodReturnStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceImportCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceImportCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceImportCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceImportTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeNamespaceTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeObjectCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeObjectCreateExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeObjectCreateExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeParameterDeclarationExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeParameterDeclarationExpressionCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeParameterDeclarationExpressionCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeParameterDeclarationExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodePrimitiveExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodePropertyReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodePropertyReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodePropertySetValueReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeRegionDirectiveCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeRegionDirectiveTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeRemoveEventStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeRemoveEventStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetCompileUnitCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetCompileUnitTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetTypeMemberCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeSnippetTypeMemberTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeStatementCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeStatementCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeThisReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeThrowExceptionStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTryCatchFinallyStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeConstructorCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeConstructorTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeDeclarationCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeDeclarationCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeDeclarationCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeDelegateCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeDelegateTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeMemberCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeMemberCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeMemberCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeOfExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeOfExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeParameterCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeParameterCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeParameterTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceCollectionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceCollectionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeTypeReferenceTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeVariableDeclarationStatementCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeVariableDeclarationStatementTest.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeVariableReferenceExpressionCas.cs" />\r
-    <Compile Include="Test\System.CodeDom\CodeVariableReferenceExpressionTest.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\BlockingCollectionTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\CollectionStressTestHelper.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ConcurrentBagTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ParallelTestHelper.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\LinkedListTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\QueueTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\SortedDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\SortedListTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\SortedSetTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\StackTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\CollectionChangedEventValidators.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\ObservableCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\ReadOnlyObservableCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\BasicOperationsTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\BitVector32Cas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\BitVector32Test.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\CollectionsUtilCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\HybridDictionaryCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\HybridDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\ListDictionaryCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\ListDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\NameObjectCollectionBaseCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\NameObjectCollectionBaseTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\NameValueCollectionCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\NameValueCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\OrderedDictionaryCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\OrderedDictionaryTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\StringCollectionCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\StringCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\StringDictionaryCas.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\StringDictionaryTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design.Serialization\ContextStackTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design.Serialization\InstanceDescriptorCas.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design.Serialization\InstanceDescriptorTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design\CheckoutExceptionTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel.Design\ServiceContainerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ArrayConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\AsyncOperationManagerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\AttributeCollectionTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\AttributeProviderAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\BackgroundWorkerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\BindingListTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ByteConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\CharConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\CollectionConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ComplexBindingPropertiesAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ComponentConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ComponentResourceManagerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ContainerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\CultureInfoConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DataObjectMethodAttributeTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DateTimeConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DateTimeOffsetConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DecimalConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DefaultBindingPropertyAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DefaultValueAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DesignerAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DisplayNameAttributeTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\DoubleConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\EnumConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\EventDescriptorCollectionTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\EventHandlerListTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\Int16ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\Int32ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\Int64ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\InvalidEnumArgumentExceptionTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\LicenseManagerTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ListChangedEventArgsTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\LookupBindingPropertiesAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\MaskedTextProviderTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\MultilineStringConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\NestedContainerTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\NullableConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\PropertyDescriptorCollectionTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\PropertyDescriptorTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ReferenceConverterTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\SByteConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\SingleConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\ToolboxItemAttributeTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\TypeConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\TypeDescriptionProviderTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\TypeDescriptorTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\UInt16ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\UInt32ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\UInt64ConverterTests.cs" />\r
-    <Compile Include="Test\System.ComponentModel\Win32ExceptionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ApplicationSettingsBaseTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigurationExceptionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\ConfigXmlDocumentTest.cs" />\r
-    <Compile Include="Test\System.Configuration\LocalFileSettingsProviderTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingElementTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingsBaseTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingsPropertyCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingsPropertyTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingsPropertyValueCollectionTest.cs" />\r
-    <Compile Include="Test\System.Configuration\SettingsPropertyValueTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\CounterCreationDataTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\DebugTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\DelimitedListTraceListenerTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\DiagnosticsConfigurationHandlerTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\EventInstanceTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\EventLogPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\EventLogPermissionTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\EventLogTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\EventSourceCreationDataTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\FileVersionInfoTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\PerformanceCounterPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\PerformanceCounterPermissionTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\ProcessStartInfoTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\ProcessTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\SourceSwitchTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\StopwatchTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\SwitchesTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\TextWriterTraceListenerTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\TraceListenerTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\TraceSourceTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\TraceTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\XmlWriterTraceListenerTest.cs" />\r
-    <Compile Include="Test\System.IO.Compression\DeflateStreamCas.cs" />\r
-    <Compile Include="Test\System.IO.Compression\DeflateStreamTest.cs" />\r
-    <Compile Include="Test\System.IO.Compression\GZipStreamCas.cs" />\r
-    <Compile Include="Test\System.IO.Compression\GzipStreamTest.cs" />\r
-    <Compile Include="Test\System.IO.Ports\SerialPortTest.cs" />\r
-    <Compile Include="Test\System.IO\FileSystemWatcherTest.cs" />\r
-    <Compile Include="Test\System.Net.Configuration\ConnectionManagementSectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Configuration\HttpWebRequestElementTest.cs" />\r
-    <Compile Include="Test\System.Net.Configuration\WebRequestModulesSectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\AlternateViewCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\AlternateViewTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\AttachmentCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\AttachmentTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\LinkedResourceCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\LinkedResourceTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\MailAddressCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\MailAddressTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\MailMessageTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\SmtpClientTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\SmtpExceptionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\SmtpPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\SmtpPermissionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mail\SmtpServer.cs" />\r
-    <Compile Include="Test\System.Net.Mime\ContentDispositionTest.cs" />\r
-    <Compile Include="Test\System.Net.Mime\ContentTypeTest.cs" />\r
-    <Compile Include="Test\System.Net.NetworkInformation\PhysicalAddressTest.cs" />\r
-    <Compile Include="Test\System.Net.Security\SslStreamTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\IPv6MulticastOptionTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\MulticastOptionTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\NetworkStreamCas.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\NetworkStreamTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\SocketAsyncEventArgsTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\SocketAsyncTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\SocketCas.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\SocketTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\TcpClientCas.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\TcpClientTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\TcpListenerTest.cs" />\r
-    <Compile Include="Test\System.Net.Sockets\UdpClientTest.cs" />\r
-    <Compile Include="Test\System.Net.WebSockets\ClientWebSocketTest.cs" />\r
-    <Compile Include="Test\System.Net\CookieCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net\CookieContainerTest.cs" />\r
-    <Compile Include="Test\System.Net\CookieParserTest.cs" />\r
-    <Compile Include="Test\System.Net\CookieTest.cs" />\r
-    <Compile Include="Test\System.Net\CredentialCacheTest.cs" />\r
-    <Compile Include="Test\System.Net\DnsCas.cs" />\r
-    <Compile Include="Test\System.Net\DnsPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Net\DnsPermissionTest.cs" />\r
-    <Compile Include="Test\System.Net\DnsTest.cs" />\r
-    <Compile Include="Test\System.Net\EndPointTest.cs" />\r
-    <Compile Include="Test\System.Net\FileWebRequestCas.cs" />\r
-    <Compile Include="Test\System.Net\FileWebRequestTest.cs" />\r
-    <Compile Include="Test\System.Net\FileWebResponseTest.cs" />\r
-    <Compile Include="Test\System.Net\FtpWebRequestTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpListener2Test.cs" />\r
-    <Compile Include="Test\System.Net\HttpListenerBasicIdentityTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpListenerPrefixCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpListenerRequestTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpListenerTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpWebRequestCas.cs" />\r
-    <Compile Include="Test\System.Net\HttpWebRequestTest.cs" />\r
-    <Compile Include="Test\System.Net\HttpWebResponseTest.cs" />\r
-    <Compile Include="Test\System.Net\IPAddressTest.cs" />\r
-    <Compile Include="Test\System.Net\IPEndPointTest.cs" />\r
-    <Compile Include="Test\System.Net\NetworkCredentialTest.cs" />\r
-    <Compile Include="Test\System.Net\ServicePointManagerTest.cs" />\r
-    <Compile Include="Test\System.Net\ServicePointTest.cs" />\r
-    <Compile Include="Test\System.Net\SocketPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Net\SocketPermissionTest.cs" />\r
-    <Compile Include="Test\System.Net\SocketResponder.cs" />\r
-    <Compile Include="Test\System.Net\WebClientTest.cs" />\r
-    <Compile Include="Test\System.Net\WebClientTestAsync.cs" />\r
-    <Compile Include="Test\System.Net\WebHeaderCollectionTest.cs" />\r
-    <Compile Include="Test\System.Net\WebPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Net\WebPermissionTest.cs" />\r
-    <Compile Include="Test\System.Net\WebProxyTest.cs" />\r
-    <Compile Include="Test\System.Net\WebRequestTest.cs" />\r
-    <Compile Include="Test\System.Net\WebUtilityTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\FrameworkNameTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\SemaphoreSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_01_SignatureVerification.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_02_ValidityPeriod.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_03_VerifyingNameChaining.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_04_BasicCertificateRevocationTests.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_05_VerifyingPathWithSelfIssuedCertificates.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_06_VerifyingBasicConstraints.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_07_KeyUsage.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_08_CertificatePolicies.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_09_RequireExplicitPolicy.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_10_PolicyMappings.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_11_InhibitPolicyMapping.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_12_InhibitAnyPolicy.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_13_NameConstraints.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_14_DistributionPoints.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_15_DeltaCRL.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\Pkits_4_16_PrivateCertificateExtensions.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\PkitsTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\PublicKeyCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\PublicKeyTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X500DistinguishedNameCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X500DistinguishedNameTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtensionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtensionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509Cert20Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509Certificate2CollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509Certificate2Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509CertificateCollectionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509CertificateCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ChainCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ChainPolicyCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ChainPolicyTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ChainTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtensionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtensionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ExtensionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ExtensionCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509ExtensionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509KeyUsageExtensionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509KeyUsageExtensionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509StoreCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509StoreTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtensionCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtensionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AsnEncodedDataTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\OidCollectionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\OidEnumeratorTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\OidTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ResourcePermissionBaseCas.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ResourcePermissionBaseEntryCas.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ResourcePermissionBaseEntryTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ResourcePermissionBaseTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StorePermissionAttributeCas.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StorePermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StorePermissionCas.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StorePermissionTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\CaptureCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\CaptureCollectionCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\GroupCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\GroupCollectionCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\GroupTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\MatchCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\MatchCollectionCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\MatchTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\PerlTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\PerlTrials.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexBugs.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexCompilationInfoCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexCompilationInfoTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexMatchTests.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexReplace.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexReplaceTests.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexResultTests.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexRunnerCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexRunnerFactoryCas.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexTest.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\RegexTrial.cs" />\r
-    <Compile Include="Test\System.Text.RegularExpressions\SplitTests.cs" />\r
-    <Compile Include="Test\System.Threading\BarrierTest.cs" />\r
-    <Compile Include="Test\System.Threading\SemaphoreCas.cs" />\r
-    <Compile Include="Test\System.Threading\SemaphoreFullExceptionCas.cs" />\r
-    <Compile Include="Test\System.Threading\SemaphoreTest.cs" />\r
-    <Compile Include="Test\System.Threading\ThreadExceptionEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Timers\ElapsedEventArgsCas.cs" />\r
-    <Compile Include="Test\System.Timers\TimerCas.cs" />\r
-    <Compile Include="Test\System.Timers\TimersDescriptionAttributeCas.cs" />\r
-    <Compile Include="Test\System.Timers\TimersDescriptionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Timers\TimerTest.cs" />\r
-    <Compile Include="Test\System.Web\AspNetHostingPermissionAttributeCas.cs" />\r
-    <Compile Include="Test\System.Web\AspNetHostingPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Web\AspNetHostingPermissionCas.cs" />\r
-    <Compile Include="Test\System.Web\AspNetHostingPermissionTest.cs" />\r
-    <Compile Include="Test\System\FileStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\FileStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\FtpStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\FtpStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\GenericUriParserCas.cs" />\r
-    <Compile Include="Test\System\GenericUriParserTest.cs" />\r
-    <Compile Include="Test\System\GopherStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\GopherStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\HttpStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\HttpStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\LdapStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\LdapStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\NetPipeStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\NetPipeStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\NetTcpStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\NetTcpStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\NewsStyleUriParserCas.cs" />\r
-    <Compile Include="Test\System\NewsStyleUriParserTest.cs" />\r
-    <Compile Include="Test\System\UriBuilderCas.cs" />\r
-    <Compile Include="Test\System\UriBuilderTest.cs" />\r
-    <Compile Include="Test\System\UriFormatExceptionCas.cs" />\r
-    <Compile Include="Test\System\UriParserCas.cs" />\r
-    <Compile Include="Test\System\UriParserTest.cs" />\r
-    <Compile Include="Test\System\UriTest.cs" />\r
-    <Compile Include="Test\System\UriTest2.cs" />\r
-    <Compile Include="Test\System\UriTest3.cs" />\r
-    <Compile Include="Test\System\UriTypeConverterCas.cs" />\r
-    <Compile Include="Test\System\UriTypeConverterTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Drawing.dll">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Drawing.dll</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\Mono.Security\Mono.Security-net_2_0.csproj">\r
-      <Project>{57CFE851-81AC-4269-B24A-965A53D87248}</Project>\r
-      <Name>Mono.Security\Mono.Security-net_2_0</Name>\r
-    </ProjectReference>\r
-    <Reference Include="System.Data">\r
-      <SpecificVersion>False</SpecificVersion>\r
-      <HintPath>System.Data</HintPath>\r
-      <Private>False</Private>\r
-    </Reference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0.csproj">\r
-      <Project>{E89F34AB-7AE2-41CA-B891-C8D1C9F02EB8}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Configuration\System.Configuration-net_2_0.csproj">\r
-      <Project>{2695A2F2-2271-423D-8E0D-553DAB84E917}</Project>\r
-      <Name>System.Configuration\System.Configuration-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Test/System/test-uri-props.txt">\r
-      <LogicalName>test-uri-props.txt</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/System/test-uri-props-manual.txt">\r
-      <LogicalName>test-uri-props-manual.txt</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Test/System/test-uri-relative-props.txt">\r
-      <LogicalName>test-uri-relative-props.txt</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 0cf197af1dcac3be7c072c2ee3ac51b74573023f..a394dc4fa78f55ec9c309f9004db034585b58d8b 100644 (file)
@@ -346,23 +346,21 @@ namespace System.Diagnostics {
                        }
                }
 
-               [MonoTODO]
                [Obsolete ("Use PagedMemorySize64")]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The number of bytes that are paged.")]
                public int PagedMemorySize {
                        get {
-                               return(0);
+                               return(int)PagedMemorySize64;
                        }
                }
 
-               [MonoTODO]
                [Obsolete ("Use PagedSystemMemorySize64")]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The amount of paged system memory in bytes.")]
                public int PagedSystemMemorySize {
                        get {
-                               return(0);
+                               return(int)PagedMemorySize64;
                        }
                }
 
@@ -406,23 +404,22 @@ namespace System.Diagnostics {
                        }
                }
 
-               [MonoTODO]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The number of bytes that are paged.")]
                [ComVisible (false)]
                public long PagedMemorySize64 {
                        get {
-                               return(0);
+                               int error;
+                               return GetProcessData (pid, 12, out error);
                        }
                }
 
-               [MonoTODO]
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                [MonitoringDescription ("The amount of paged system memory in bytes.")]
                [ComVisible (false)]
                public long PagedSystemMemorySize64 {
                        get {
-                               return(0);
+                               return PagedMemorySize64;
                        }
                }
 
@@ -1136,7 +1133,7 @@ namespace System.Diagnostics {
                // Note that ProcInfo.Password must be freed.
                private static void FillUserInfo (ProcessStartInfo startInfo, ref ProcInfo proc_info)
                {
-                       if (startInfo.UserName != null) {
+                       if (startInfo.UserName.Length != 0) {
                                proc_info.UserName = startInfo.UserName;
                                proc_info.Domain = startInfo.Domain;
                                if (startInfo.Password != null)
@@ -1150,7 +1147,7 @@ namespace System.Diagnostics {
                private static bool Start_common (ProcessStartInfo startInfo,
                                                  Process process)
                {
-                       if (startInfo.FileName == null || startInfo.FileName.Length == 0)
+                       if (startInfo.FileName.Length == 0)
                                throw new InvalidOperationException("File name has not been set");
                        
                        if (startInfo.StandardErrorEncoding != null && !startInfo.RedirectStandardError)
@@ -1159,7 +1156,7 @@ namespace System.Diagnostics {
                                throw new InvalidOperationException ("StandardOutputEncoding is only supported when standard output is redirected");
                        
                        if (startInfo.UseShellExecute) {
-                               if (!String.IsNullOrEmpty (startInfo.UserName))
+                               if (startInfo.UserName.Length != 0)
                                        throw new InvalidOperationException ("UseShellExecute must be false if an explicit UserName is specified when starting a process");
                                return (Start_shell (startInfo, process));
                        } else {
index 1586f6137538b70ab54c159d6cdc5e454c9ae0c6..24aff2ca684a1c704650e01a1f37068d6d87f098 100644 (file)
@@ -47,11 +47,11 @@ namespace System.Diagnostics
        public sealed class ProcessStartInfo 
        {
                /* keep these fields in this order and in sync with metadata/process.h */
-               private string arguments = "";
+               private string arguments;
                private IntPtr error_dialog_parent_handle = (IntPtr)0;
-               private string filename = "";
-               private string verb = "";
-               private string working_directory = "";
+               private string filename;
+               private string verb;
+               private string working_directory;
                private ProcessStringDictionary envVars;
                private bool create_no_window = false;
                private bool error_dialog = false;
@@ -87,7 +87,7 @@ namespace System.Diagnostics
                [NotifyParentPropertyAttribute (true)]
                public string Arguments {
                        get {
-                               return(arguments);
+                               return arguments ?? string.Empty;
                        }
                        set {
                                arguments = value;
@@ -155,7 +155,7 @@ namespace System.Diagnostics
                [NotifyParentPropertyAttribute (true)]
                public string FileName {
                        get {
-                               return(filename);
+                               return filename ?? string.Empty;
                        }
                        set {
                                filename = value;
@@ -187,7 +187,7 @@ namespace System.Diagnostics
                }
                
                [DefaultValue (false)]
-               [MonitoringDescription ("Standart output of this process is redirected.")]
+               [MonitoringDescription ("Standard output of this process is redirected.")]
                [NotifyParentPropertyAttribute (true)]
                public bool RedirectStandardOutput {
                        get {
@@ -226,7 +226,7 @@ namespace System.Diagnostics
                [NotifyParentPropertyAttribute (true)]
                public string Verb {
                        get {
-                               return(verb);
+                               return verb ?? string.Empty;
                        }
                        set {
                                verb = value;
@@ -238,21 +238,20 @@ namespace System.Diagnostics
                [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden), Browsable (false)]
                public string[] Verbs {
                        get {
-                               string ext = filename == null | filename.Length == 0 ? 
-                                       null : Path.GetExtension (filename);
-                               if (ext == null)
-                                       return empty;
-
 #if MOBILE
                                return empty;
 #else
-
                                switch (Environment.OSVersion.Platform) {
                                case (PlatformID)4:
                                case (PlatformID)6:
                                case (PlatformID)128:
                                        return empty; // no verb on non-Windows
                                default:
+                                       string ext = filename == null | filename.Length == 0 ?
+                                               null : Path.GetExtension (filename);
+                                       if (ext == null)
+                                               return empty;
+
                                        RegistryKey rk = null, rk2 = null, rk3 = null;
                                        try {
                                                rk = Registry.ClassesRoot.OpenSubKey (ext);
@@ -292,10 +291,10 @@ namespace System.Diagnostics
                [NotifyParentPropertyAttribute (true)]
                public string WorkingDirectory {
                        get {
-                               return(working_directory);
+                               return working_directory ?? string.Empty;
                        }
                        set {
-                               working_directory = value == null ? String.Empty : value;
+                               working_directory = value;
                        }
                }
 
@@ -307,13 +306,13 @@ namespace System.Diagnostics
 
                [NotifyParentPropertyAttribute (true)]
                public string UserName {
-                       get { return username; }
+                       get { return username ?? string.Empty; }
                        set { username = value; }
                }
 
                [NotifyParentPropertyAttribute (true)]
                public string Domain {
-                       get { return domain; }
+                       get { return domain ?? string.Empty; }
                        set { domain = value; }
                }
 
index edaa12dafb3aef8dbe606e78e59bc48ffb6aec4d..46cf7d8cbdfcc2ecf543b20e7f1a5fef80052992 100644 (file)
@@ -58,7 +58,7 @@ namespace System.Net.NetworkInformation {
 #else
                        if (runningOnUnix) {
                                try {
-                                       if (Platform.IsMacOS)
+                                       if (Platform.IsMacOS || Platform.IsFreeBSD)
                                                return MacOsNetworkInterface.ImplGetAllNetworkInterfaces ();
                                        else
                                                return LinuxNetworkInterface.ImplGetAllNetworkInterfaces ();
index d7e999c46f36b4624cea92e5ad32c920a791308b..ff011d2f93044da4f6f28a9a7966e2800004572d 100644 (file)
@@ -318,7 +318,7 @@ namespace System.Net.WebSockets
                        var opCode = MessageTypeToWire (type);
                        var length = buffer.Count;
 
-                       headerBuffer[0] = (byte)(opCode | (endOfMessage ? 0 : 0x80));
+                       headerBuffer[0] = (byte)(opCode | (endOfMessage ? 0x80 : 0));
                        if (length < 126) {
                                headerBuffer[1] = (byte)length;
                        } else if (length <= ushort.MaxValue) {
index 23a17199bf93557fdfe2bf7ff38a75476658c2f0..d1133f9c3429132ac5996310bf3a373151ae127d 100644 (file)
@@ -329,6 +329,9 @@ namespace System.Net {
                                                return false;
                                        if (InputStream.EndRead (ares) <= 0)
                                                return true;
+                               } catch (ObjectDisposedException e) {
+                                       input_stream = null;
+                                       return true;
                                } catch {
                                        return false;
                                }
index 38415f05c5f7ca3043da0b464e3e8ac754960e29..2bd9dee75076db95d36e2cd019023db1f94ea6bb 100644 (file)
@@ -315,10 +315,10 @@ namespace System.Net
                {
                        WebRequest request = null;
                        
-                       using (FileStream f = new FileStream (fileName, FileMode.Create)) {
-                               try {
-                                       request = SetupRequest (address);
-                                       WebResponse response = GetWebResponse (request);
+                       try {
+                               request = SetupRequest (address);
+                               WebResponse response = GetWebResponse (request);
+                               using (FileStream f = new FileStream (fileName, FileMode.Create)) {
                                        Stream st = response.GetResponseStream ();
                                        
                                        int cLength = (int) response.ContentLength;
@@ -337,11 +337,11 @@ namespace System.Net
 
                                        if (cLength > 0 && notify_total < cLength)
                                                throw new WebException ("Download aborted prematurely.", WebExceptionStatus.ReceiveFailure);
-                               } catch (ThreadInterruptedException){
-                                       if (request != null)
-                                               request.Abort ();
-                                       throw;
                                }
+                       } catch (ThreadInterruptedException){
+                               if (request != null)
+                                       request.Abort ();
+                               throw;
                        }
                }
 
@@ -1713,8 +1713,8 @@ namespace System.Net
                async Task DownloadFileTaskAsyncCore (WebRequest request, WebResponse response,
                                                      string fileName, CancellationToken token)
                {
+                       Stream st = response.GetResponseStream ();
                        using (FileStream f = new FileStream (fileName, FileMode.Create)) {
-                               Stream st = response.GetResponseStream ();
                                        
                                int cLength = (int)response.ContentLength;
                                int length = (cLength <= -1 || cLength > 32 * 1024) ? 32 * 1024 : cLength;
diff --git a/mcs/class/System/System.Text.RegularExpressions/BaseMachine.cs b/mcs/class/System/System.Text.RegularExpressions/BaseMachine.cs
deleted file mode 100644 (file)
index 6f58877..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-//\r
-// BaseMachine.cs\r
-//\r
-// Author:\r
-// author:     Dan Lewis (dlewis@gmx.co.uk)\r
-//             (c) 2002\r
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)\r
-//\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-//\r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-//\r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.Collections;\r
-using System.Collections.Specialized;\r
-using System.Collections.Generic;\r
-\r
-namespace System.Text.RegularExpressions\r
-{\r
-       abstract class BaseMachine : IMachine\r
-       {\r
-               internal delegate void MatchAppendEvaluator (Match match, StringBuilder sb);\r
-\r
-               public virtual string Replace (Regex regex, string input, string replacement, int count, int startat)\r
-               {\r
-                       ReplacementEvaluator ev = new ReplacementEvaluator (regex, replacement);\r
-                       if (regex.RightToLeft)\r
-                               return RTLReplace (regex, input, new MatchEvaluator (ev.Evaluate), count, startat);\r
-                       else\r
-                               return LTRReplace (regex, input, new MatchAppendEvaluator (ev.EvaluateAppend), count, startat, ev.NeedsGroupsOrCaptures);\r
-               }\r
-\r
-               virtual public string [] Split (Regex regex, string input, int count, int startat)\r
-               {\r
-                       var splits = new List<string> ();\r
-                       if (count == 0)\r
-                               count = Int32.MaxValue;\r
-\r
-                       int ptr = startat;\r
-                       Match m = null;\r
-                       while (--count > 0) {\r
-                               if (m != null)\r
-                                       m = m.NextMatch ();\r
-                               else\r
-                                       m = regex.Match (input, ptr);\r
-\r
-                               if (!m.Success)\r
-                                       break;\r
-\r
-                               if (regex.RightToLeft)\r
-                                       splits.Add (input.Substring (m.Index + m.Length, ptr - m.Index - m.Length));\r
-                               else\r
-                                       splits.Add (input.Substring (ptr, m.Index - ptr));\r
-\r
-                               int gcount = m.Groups.Count;\r
-                               for (int gindex = 1; gindex < gcount; gindex++) {\r
-                                       Group grp = m.Groups [gindex];\r
-                                       if (grp.Length > 0)\r
-                                               splits.Add (input.Substring (grp.Index, grp.Length));\r
-                               }\r
-\r
-                               if (regex.RightToLeft)\r
-                                       ptr = m.Index;\r
-                               else\r
-                                       ptr = m.Index + m.Length;\r
-\r
-                       }\r
-\r
-                       if (regex.RightToLeft && ptr >= 0)\r
-                               splits.Add (input.Substring (0, ptr));\r
-                       if (!regex.RightToLeft && ptr <= input.Length)\r
-                               splits.Add (input.Substring (ptr));\r
-\r
-                       return splits.ToArray ();\r
-               }\r
-\r
-               public Match Scan (Regex regex, string text, int start, int end)\r
-               {\r
-                       return Scan (regex, text, start, end, false);\r
-               }\r
-\r
-               public abstract Match Scan (Regex regex, string text, int start, int end, bool substring_mode);\r
-\r
-               virtual public string Result (string replacement, Match match)\r
-               {\r
-                       return ReplacementEvaluator.Evaluate (replacement, match);\r
-               }\r
-\r
-               internal string LTRReplace (Regex regex, string input, MatchAppendEvaluator evaluator, int count, int startat) {\r
-                       return LTRReplace (regex, input, evaluator, count, startat, true);\r
-               }\r
-\r
-               internal string LTRReplace (Regex regex, string input, MatchAppendEvaluator evaluator, int count, int startat, bool needs_groups_or_captures)\r
-               {\r
-                       this.needs_groups_or_captures = needs_groups_or_captures;\r
-                       \r
-                       Match m = Scan (regex, input, startat, input.Length);\r
-                       if (!m.Success)\r
-                               return input;\r
-\r
-                       StringBuilder result = new StringBuilder (input.Length);\r
-                       int ptr = startat;\r
-                       int counter = count;\r
-\r
-                       result.Append (input, 0, ptr);\r
-\r
-                       do {\r
-                               if (count != -1)\r
-                                       if (counter-- <= 0)\r
-                                               break;\r
-                               if (m.Index < ptr)\r
-                                       throw new SystemException ("how");\r
-                               result.Append (input, ptr, m.Index - ptr);\r
-                               evaluator (m, result);\r
-\r
-                               ptr = m.Index + m.Length;\r
-                               m = m.NextMatch ();\r
-                       } while (m.Success);\r
-\r
-                       result.Append (input, ptr, input.Length - ptr);\r
-\r
-                       return result.ToString ();\r
-               }\r
-\r
-               internal string RTLReplace (Regex regex, string input, MatchEvaluator evaluator, int count, int startat)\r
-               {\r
-                       Match m = Scan (regex, input, startat, input.Length);\r
-                       if (!m.Success)\r
-                               return input;\r
-\r
-                       int ptr = startat;\r
-                       int counter = count;\r
-#if NET_2_1\r
-                       var pieces = new System.Collections.Generic.List<string> ();\r
-#else\r
-                       StringCollection pieces = new StringCollection ();\r
-#endif\r
-                       \r
-                       pieces.Add (input.Substring (ptr));\r
-\r
-                       do {\r
-                               if (count != -1)\r
-                                       if (counter-- <= 0)\r
-                                               break;\r
-                               if (m.Index + m.Length > ptr)\r
-                                       throw new SystemException ("how");\r
-                               pieces.Add (input.Substring (m.Index + m.Length, ptr - m.Index - m.Length));\r
-                               pieces.Add (evaluator (m));\r
-\r
-                               ptr = m.Index;\r
-                               m = m.NextMatch ();\r
-                       } while (m.Success);\r
-\r
-                       StringBuilder result = new StringBuilder ();\r
-\r
-                       result.Append (input, 0, ptr);\r
-                       for (int i = pieces.Count; i > 0; )\r
-                               result.Append (pieces [--i]);\r
-\r
-                       pieces.Clear ();\r
-\r
-                       return result.ToString ();\r
-               }\r
-\r
-               // Specify whenever Match objects created by this machine need to be fully\r
-               // built. If false, these can be omitted, avoiding some memory allocations and\r
-               // processing time.\r
-               protected bool needs_groups_or_captures = true; \r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/CILCompiler.cs b/mcs/class/System/System.Text.RegularExpressions/CILCompiler.cs
deleted file mode 100644 (file)
index bebd38b..0000000
+++ /dev/null
@@ -1,1863 +0,0 @@
-using System;
-using System.Collections;
-using System.Globalization;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Threading;
-
-using System.Collections.Generic;
-
-namespace System.Text.RegularExpressions {
-
-       //
-       // Compiler which generates IL bytecode to perform the matching instead of
-       // interpreting a program.
-       // For simplicity, we inherit from RxCompiler, and generate the IL code based
-       // on the program generated by it. This also allows us to fallback to interpretation
-       // if we can't handle something.
-       // This is net 2.0, since 1.0 doesn't support DynamicMethods
-       // FIXME: Add support for 1.0, and CompileToAssembly
-       // FIXME: Overwrite RxCompiler methods so we don't have to decode char
-       // matching opcodes
-       //
-
-       class CILCompiler : RxCompiler, ICompiler {
-               DynamicMethod[] eval_methods;
-               bool[] eval_methods_defined;
-
-               /*
-                * To avoid the overhead of decoding the countless opcode variants created
-                * by RxCompiler, we save the original, 'generic' version and its flags
-                * in these two tables.
-                */
-               private Dictionary<int, int> generic_ops;
-               private Dictionary<int, int> op_flags;
-               private Dictionary<int, Label> labels;
-
-               static FieldInfo fi_str = typeof (RxInterpreter).GetField ("str", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_string_start = typeof (RxInterpreter).GetField ("string_start", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_string_end = typeof (RxInterpreter).GetField ("string_end", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_program = typeof (RxInterpreter).GetField ("program", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_marks = typeof (RxInterpreter).GetField ("marks", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_groups = typeof (RxInterpreter).GetField ("groups", BindingFlags.Instance|BindingFlags.NonPublic);
-               static FieldInfo fi_deep = typeof (RxInterpreter).GetField ("deep", BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-               static FieldInfo fi_stack = typeof (RxInterpreter).GetField ("stack", BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-               static FieldInfo fi_mark_start = typeof (Mark).GetField ("Start", BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-               static FieldInfo fi_mark_end = typeof (Mark).GetField ("End", BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-               //static FieldInfo fi_mark_index = typeof (Mark).GetField ("Index", BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-
-               static MethodInfo mi_stack_get_count, mi_stack_set_count, mi_stack_push, mi_stack_pop;
-               static MethodInfo mi_set_start_of_match, mi_is_word_char, mi_reset_groups;
-               static MethodInfo mi_checkpoint, mi_backtrack, mi_open, mi_close;
-               static MethodInfo mi_get_last_defined, mi_mark_get_index, mi_mark_get_length;
-
-               public static readonly bool trace_compile = Environment.GetEnvironmentVariable ("MONO_TRACE_RX_COMPILE") != null;
-
-               public CILCompiler () {
-                       generic_ops = new Dictionary <int, int> ();
-                       op_flags = new Dictionary <int, int> ();
-               }
-
-               IMachineFactory ICompiler.GetMachineFactory () {
-                       byte[] code = new byte [curpos];
-                       Buffer.BlockCopy (program, 0, code, 0, curpos);
-
-                       eval_methods = new DynamicMethod [code.Length];
-                       eval_methods_defined = new bool [code.Length];
-
-                       // The main eval method
-                   DynamicMethod main = GetEvalMethod (code, 11);
-
-                       if (main != null)
-                               return new RxInterpreterFactory (code, (EvalDelegate)main.CreateDelegate (typeof (EvalDelegate)));
-                       else
-                               return new RxInterpreterFactory (code, null);
-               }
-
-               DynamicMethod GetEvalMethod (byte[] program, int pc) {
-                       if (eval_methods_defined [pc])
-                               return eval_methods [pc];
-
-                       // FIXME: Recursion ?
-                       eval_methods_defined [pc] = true;
-
-                       eval_methods [pc] = CreateEvalMethod (program, pc);
-                       return eval_methods [pc];
-               }
-
-               private MethodInfo GetMethod (Type t, string name, ref MethodInfo cached) {
-                       if (cached == null) {
-                               cached = t.GetMethod (name, BindingFlags.Static|BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic);
-                               if (cached == null)
-                                       throw new Exception ("Method not found: " + name);
-                       }
-                       return cached;
-               }
-
-               private MethodInfo GetMethod (string name, ref MethodInfo cached) {
-                       return GetMethod (typeof (RxInterpreter), name, ref cached);
-           }
-
-               private int ReadInt (byte[] code, int pc) {
-                       int val = code [pc];
-                       val |= code [pc + 1] << 8;
-                       val |= code [pc + 2] << 16;
-                       val |= code [pc + 3] << 24;
-                       return val;
-               }
-
-               static OpFlags MakeFlags (bool negate, bool ignore, bool reverse, bool lazy) {
-                       OpFlags flags = 0;
-                       if (negate) flags |= OpFlags.Negate;
-                       if (ignore) flags |= OpFlags.IgnoreCase;
-                       if (reverse) flags |= OpFlags.RightToLeft;
-                       if (lazy) flags |= OpFlags.Lazy;
-
-                       return flags;
-               }
-
-               void EmitGenericOp (RxOp op, bool negate, bool ignore, bool reverse, bool lazy) {
-                       generic_ops [curpos] = (int)op;
-                       op_flags [curpos] = (int)MakeFlags (negate, ignore, reverse, false);
-           }
-
-               public override void EmitOp (RxOp op, bool negate, bool ignore, bool reverse) {
-                       EmitGenericOp (op, negate, ignore, reverse, false);
-                       base.EmitOp (op, negate, ignore, reverse);
-               }
-
-               public override void EmitOpIgnoreReverse (RxOp op, bool ignore, bool reverse) {
-                       EmitGenericOp (op, false, ignore, reverse, false);
-                       base.EmitOpIgnoreReverse (op, ignore, reverse);
-               }
-
-               public override void EmitOpNegateReverse (RxOp op, bool negate, bool reverse) {
-                       EmitGenericOp (op, negate, false, reverse, false);
-                       base.EmitOpNegateReverse (op, negate, reverse);
-               }
-
-               class Frame {
-                       public Label label_pass, label_fail;
-
-                       public Frame (ILGenerator ilgen) {
-                               label_fail = ilgen.DefineLabel ();
-                               label_pass = ilgen.DefineLabel ();
-                       }                               
-               }
-
-               LocalBuilder local_textinfo;
-
-               /*
-                * Create a dynamic method which is equivalent to the RxInterpreter.EvalByteCode 
-                * method specialized to the given program and a given pc. Return the newly
-                * created method or null if a not-supported opcode was encountered.
-                */
-               DynamicMethod CreateEvalMethod (byte[] program, int pc) {
-                       DynamicMethod m = new DynamicMethod ("Eval_" + pc, typeof (bool), new Type [] { typeof (RxInterpreter), typeof (int), typeof (int).MakeByRefType () }, typeof (RxInterpreter), true);
-                       ILGenerator ilgen = m.GetILGenerator ();
-
-                       /* 
-                          Args:
-                          interp - 0
-                          strpos - 1
-                          strpos_result - 2
-                       */
-
-                       /*
-                        * Recursive calls to EvalByteCode are inlined manually by calling 
-                        * EmitEvalMethodBody with the pc of the recursive call. Frame objects hold
-                        * the information required to link together the code generated by the recursive
-                        * call with the rest of the code.
-                        */
-                       Frame frame = new Frame (ilgen);
-
-                       /* Cache the textinfo used by Char.ToLower () */
-                       local_textinfo = ilgen.DeclareLocal (typeof (TextInfo));
-                       ilgen.Emit (OpCodes.Call, typeof (Thread).GetMethod ("get_CurrentThread"));
-                       ilgen.Emit (OpCodes.Call, typeof (Thread).GetMethod ("get_CurrentCulture"));
-                       ilgen.Emit (OpCodes.Call, typeof (CultureInfo).GetMethod ("get_TextInfo"));
-                       ilgen.Emit (OpCodes.Stloc, local_textinfo);
-
-                       m = EmitEvalMethodBody (m, ilgen, frame, program, pc, program.Length, false, false, out pc);
-                       if (m == null)
-                               return null;
-                               
-                       ilgen.MarkLabel (frame.label_pass);
-                       ilgen.Emit (OpCodes.Ldarg_2);
-                       ilgen.Emit (OpCodes.Ldarg_1);
-                       ilgen.Emit (OpCodes.Stind_I4);
-                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                       ilgen.Emit (OpCodes.Ret);
-
-                       ilgen.MarkLabel (frame.label_fail);
-                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                       ilgen.Emit (OpCodes.Ret);
-
-                       return m;
-               }
-
-               private int ReadShort (byte[] program, int pc) {
-                       return (int)program [pc] | ((int)program [pc + 1] << 8);
-               }
-
-               private Label CreateLabelForPC (ILGenerator ilgen, int pc) {
-                       if (labels == null)
-                               labels = new Dictionary <int, Label> ();
-                       Label l;
-                       if (!labels.TryGetValue (pc, out l)) {
-                               l = ilgen.DefineLabel ();
-                               labels [pc] = l;
-                       }
-
-                       return l;
-               }
-
-               private int GetILOffset (ILGenerator ilgen) {
-                       return (int)typeof (ILGenerator).GetField ("code_len", BindingFlags.Instance|BindingFlags.NonPublic).GetValue (ilgen);
-               }
-
-               /*
-                * Emit IL code for a sequence of opcodes between pc and end_pc. If there is a
-                * match, set strpos (Arg 1) to the position after the match, then 
-                * branch to frame.label_pass. Otherwise branch to frame.label_fail, 
-                * and leave strpos at an undefined position. The caller should 
-                * generate code to save the original value of strpos if it needs it.
-                * If one_op is true, only generate code for one opcode and set out_pc 
-                * to the next pc after the opcode.
-                * If no_bump is true, don't bump strpos in char matching opcodes.
-                * Keep this in synch with RxInterpreter.EvalByteCode (). It it is sync with
-                * the version in r111969.
-                * FIXME: Modify the regex tests so they are run with RegexOptions.Compiled as
-                * well.
-                */
-               private DynamicMethod EmitEvalMethodBody (DynamicMethod m, ILGenerator ilgen,
-                                                                                                 Frame frame, byte[] program,
-                                                                                                 int pc, int end_pc,
-                                                                                                 bool one_op, bool no_bump,
-                                                                                                 out int out_pc)
-               {
-                       int start, length, end;
-
-                       out_pc = 0;
-
-                       int group_count = 1 + ReadShort (program, 1);
-
-                       while (pc < end_pc) {
-                               RxOp op = (RxOp)program [pc];
-
-                               // FIXME: Optimize this
-                               if (generic_ops.ContainsKey (pc))
-                                       op = (RxOp)generic_ops [pc];
-
-                               if (trace_compile) {
-                                       Console.WriteLine ("compiling {0} pc={1} end_pc={2}, il_offset=0x{3:x}", op, pc, end_pc, GetILOffset (ilgen));
-                               }
-
-                               if (labels != null) {
-                                       Label l;
-                                       if (labels.TryGetValue (pc, out l)) {
-                                               ilgen.MarkLabel (l);
-                                               labels.Remove (pc);
-                                       }
-                               }
-
-                               if (RxInterpreter.trace_rx) {
-                                       //Console.WriteLine ("evaluating: {0} at pc: {1}, strpos: {2}", op, pc, strpos);
-                                       ilgen.Emit (OpCodes.Ldstr, "evaluating: {0} at pc: {1}, strpos: {2}");
-                                       ilgen.Emit (OpCodes.Ldc_I4, (int)op);
-                                       ilgen.Emit (OpCodes.Box, typeof (RxOp));
-                                       ilgen.Emit (OpCodes.Ldc_I4, pc);
-                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                       ilgen.Emit (OpCodes.Call, typeof (Console).GetMethod ("WriteLine", new Type [] { typeof (string), typeof (object), typeof (object), typeof (object) }));
-                               }
-
-                               switch (op) {
-                               case RxOp.Anchor:
-                               case RxOp.AnchorReverse: {
-                                       bool reverse = (RxOp)program [pc] == RxOp.AnchorReverse;
-                                       length = ReadShort (program, pc + 3);
-                                       pc += ReadShort (program, pc + 1);
-
-                                       // Optimize some common cases by inlining the code generated for the
-                                       // anchor body 
-                                       RxOp anch_op = (RxOp)program [pc];
-
-                                       // FIXME: Do this even if the archor op is not the last in the regex
-                                       if (!reverse && group_count == 1 && anch_op == RxOp.Char && (RxOp)program [pc + 2] == RxOp.True) {
-
-                                               /*
-                                                * while (strpos < string_end) {
-                                                *   if (str [strpos] == program [pc + 1]) {
-                                                *     match_start = strpos;
-                                                *     strpos_result = strpos + 1;
-                                                *     marks [groups [0]].Start = strpos;
-                                                *     if (groups.Length > 1)
-                                                *              marks [groups [0]].End = res;
-                                                *     return true;
-                                                *   }
-                                                *   strpos ++;
-                                                * }
-                                                * return false;
-                                                */
-                                               // Add some locals to avoid an indirection
-                                               LocalBuilder local_string_end = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Stloc, local_string_end);
-                                               LocalBuilder local_str = ilgen.DeclareLocal (typeof (string));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                               ilgen.Emit (OpCodes.Stloc, local_str);
-
-                                               //while (strpos < string_end) {
-                                               // -> Done at the end of the loop like mcs does
-                                               Label l1 = ilgen.DefineLabel ();
-                                               Label l2 = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l2);
-                                               ilgen.MarkLabel (l1);
-
-                                               //  if (str [strpos] == program [pc + 1]) {
-                                               Label l3 = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Ldloc, local_str);
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                               ilgen.Emit (OpCodes.Conv_I4);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                               ilgen.Emit (OpCodes.Beq, l3);
-
-                                               // The true case is done after the loop
-
-                                               //  }
-                                               //  strpos++;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //}
-                                               ilgen.MarkLabel (l2);
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldloc, local_string_end);
-                                               ilgen.Emit (OpCodes.Blt, l1);
-
-                                               //return false;
-                                               ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                               // True case
-                                               ilgen.MarkLabel (l3);
-                                               // call SetStartOfMatch (strpos)
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter), "SetStartOfMatch", ref mi_set_start_of_match));
-                                               //  strpos++;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //    return true;
-                                               ilgen.Emit (OpCodes.Br, frame.label_pass);
-
-                                       } else {
-                                               // General case
-
-                                               //Console.WriteLine ("Anchor op " + anch_op);
-
-                                               // Add some locals to avoid an indirection
-                                               LocalBuilder local_string_end = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Stloc, local_string_end);
-
-                                               //while (strpos < string_end + 1) {
-                                               // -> Done at the end of the loop like mcs does
-                                               Label l1 = ilgen.DefineLabel ();
-                                               Label l2 = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l2);
-                                               ilgen.MarkLabel (l1);
-
-                                               //if (groups.Length > 1) {
-                                               //      ResetGroups ();
-                                               //      marks [groups [0]].Start = strpos;
-                                               //}
-                                               if (group_count > 1) {
-                                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                                       ilgen.Emit (OpCodes.Call, GetMethod ("ResetGroups", ref mi_reset_groups));
-
-                                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                                       ilgen.Emit (OpCodes.Ldfld, fi_marks);
-                                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                                       ilgen.Emit (OpCodes.Ldfld, fi_groups);
-                                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                                       ilgen.Emit (OpCodes.Ldelem_I4);
-                                                       ilgen.Emit (OpCodes.Ldelema, typeof (Mark));
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Stfld, fi_mark_start);
-                                               }
-
-                                               //  if (EvalByteCode (pc, strpos, ref res)) {
-
-                                               Frame new_frame = new Frame (ilgen);
-
-                                               //  old_stros = strpos;
-                                               LocalBuilder local_old_strpos = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc, end_pc, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Pass
-                                               ilgen.MarkLabel (new_frame.label_pass);
-                                               //    marks [groups [0]].Start = old_strpos;
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_marks);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_groups);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (OpCodes.Ldelem_I4);
-                                               ilgen.Emit (OpCodes.Ldelema, typeof (Mark));
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                               ilgen.Emit (OpCodes.Stfld, fi_mark_start);
-                                               //    if (groups.Length > 1)
-                                               //              marks [groups [0]].End = res;
-                                               if (group_count > 1) {
-                                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                                       ilgen.Emit (OpCodes.Ldfld, fi_marks);
-                                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                                       ilgen.Emit (OpCodes.Ldfld, fi_groups);
-                                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                                       ilgen.Emit (OpCodes.Ldelem_I4);
-                                                       ilgen.Emit (OpCodes.Ldelema, typeof (Mark));
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Stfld, fi_mark_end);
-                                               }
-
-                                               //    return true;
-                                               ilgen.Emit (OpCodes.Br, frame.label_pass);
-
-                                               // Fail
-                                               ilgen.MarkLabel (new_frame.label_fail);
-                                               //  strpos = old_strpos +/- 1;
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               if (reverse)
-                                                       ilgen.Emit (OpCodes.Sub);
-                                               else
-                                                       ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //}
-                                               ilgen.MarkLabel (l2);
-                                               if (reverse) {
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                                       ilgen.Emit (OpCodes.Bge, l1);
-                                               } else {
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Ldloc, local_string_end);
-                                                       ilgen.Emit (OpCodes.Blt, l1);
-                                               }
-                                               //return false;
-                                               ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       }
-
-                                       goto End;
-                               }
-                               case RxOp.Branch: {
-                                       //if (EvalByteCode (pc + 3, strpos, ref res)) {
-
-                                       int target_pc = pc + ReadShort (program, pc + 1);
-
-                                       // Emit the rest of the code inline instead of making a recursive call
-                                       Frame new_frame = new Frame (ilgen);
-
-                                       //  old_strpos = strpos;
-                                       LocalBuilder local_old_strpos = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                       m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 3, target_pc, false, false, out out_pc);
-                                       if (m == null)
-                                               return null;
-
-                                       // Pass
-                                       ilgen.MarkLabel (new_frame.label_pass);
-                                       //  return true;
-                                       ilgen.Emit (OpCodes.Br, frame.label_pass);
-
-                                       // Fail
-                                       ilgen.MarkLabel (new_frame.label_fail);
-                                       //  strpos = old_strpos;
-                                       ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-
-                                       pc = target_pc;
-                                       break;
-                               }
-                               case RxOp.Char:
-                               case RxOp.UnicodeChar:
-                               case RxOp.Range:
-                               case RxOp.UnicodeRange: {
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-                                       bool negate = (flags & OpFlags.Negate) > 0;
-                                       bool ignore = (flags & OpFlags.IgnoreCase) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-
-                                       //if (strpos < string_end) {
-                                       Label l1 = ilgen.DefineLabel ();
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (OpCodes.Ble, l1);
-                                       } else {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Bge, l1);
-                                       }
-
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-
-                                       //  int c = str [strpos];
-                                       LocalBuilder local_c = ilgen.DeclareLocal (typeof (char));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Sub);
-                                       }
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-
-                                       if (op == RxOp.Char) {
-                                               ilgen.Emit (OpCodes.Conv_I4);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                               ilgen.Emit (negate ? OpCodes.Beq : OpCodes.Bne_Un, l1);
-
-                                               pc += 2;
-                                       } else if (op == RxOp.UnicodeChar) {
-                                               ilgen.Emit (OpCodes.Conv_I4);
-                                               ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 1));
-                                               ilgen.Emit (negate ? OpCodes.Beq : OpCodes.Bne_Un, l1);
-
-                                               pc += 3;
-                                       } else if (op == RxOp.Range) {
-                                               ilgen.Emit (OpCodes.Stloc, local_c);
-
-                                               //  if (c >= program [pc + 1] && c <= program [pc + 2]) {
-                                               if (negate) {
-                                                       Label l3 = ilgen.DefineLabel ();
-
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                                       ilgen.Emit (OpCodes.Blt, l3);
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 2]);
-                                                       ilgen.Emit (OpCodes.Bgt, l3);
-                                                       ilgen.Emit (OpCodes.Br, l1);
-                                                       ilgen.MarkLabel (l3);
-                                               } else {
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                                       ilgen.Emit (OpCodes.Blt, l1);
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 2]);
-                                                       ilgen.Emit (OpCodes.Bgt, l1);
-                                               }
-
-                                               pc += 3;
-                                       } else if (op == RxOp.UnicodeRange) {
-                                               ilgen.Emit (OpCodes.Stloc, local_c);
-
-                                               //  if (c >= program [pc + 1] && c <= program [pc + 2]) {
-                                               if (negate) {
-                                                       Label l3 = ilgen.DefineLabel ();
-
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 1));
-                                                       ilgen.Emit (OpCodes.Blt, l3);
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 3));
-                                                       ilgen.Emit (OpCodes.Bgt, l3);
-                                                       ilgen.Emit (OpCodes.Br, l1);
-                                                       ilgen.MarkLabel (l3);
-                                               } else {
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 1));
-                                                       ilgen.Emit (OpCodes.Blt, l1);
-                                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                                       ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 3));
-                                                       ilgen.Emit (OpCodes.Bgt, l1);
-                                               }
-
-                                               pc += 5;
-                                       } else {
-                                               throw new NotSupportedException ();
-                                       }
-
-                                       //ilgen.EmitWriteLine ("HIT:" + (char)program [pc + 1]);
-                                       if (!no_bump) {
-                                               //  strpos++ / strpos--;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               if (reverse)
-                                                       ilgen.Emit (OpCodes.Sub);
-                                               else
-                                                       ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-                                       Label l2 = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Br, l2);
-                                       //}
-                                       ilgen.MarkLabel (l1);
-                                       //return false;
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       ilgen.MarkLabel (l2);
-
-                                       break;
-                               }
-                               case RxOp.True: {
-                                       //  return true;
-                                       ilgen.Emit (OpCodes.Br, frame.label_pass);
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.False: {
-                                       //  return false;
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.AnyPosition: {
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.StartOfString: {
-                                       //if (strpos != 0)
-                                       //      return false;
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Bgt, frame.label_fail);
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.StartOfLine: {
-                                       // FIXME: windows line endings
-                                       //if (!(strpos == 0 || str [strpos - 1] == '\n'))
-                                       //      return false;
-                                       Label l = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Beq, l);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Sub);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Ldc_I4, (int)'\n');
-                                       ilgen.Emit (OpCodes.Beq, l);
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       ilgen.MarkLabel (l);
-
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.StartOfScan: {
-                                       //if (strpos != string_start)
-                                       //      return false;
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_start);
-                                       ilgen.Emit (OpCodes.Bne_Un, frame.label_fail);
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.End: {
-                                       //if (!(strpos == string_end || (strpos == string_end - 1 && str [strpos] == '\n')))
-                                       //      return false;
-                                       Label l = ilgen.DefineLabel ();
-
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Beq, l);
-
-                                       Label l2 = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Sub);
-                                       ilgen.Emit (OpCodes.Bne_Un, l2);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Ldc_I4, (int)'\n');
-                                       ilgen.Emit (OpCodes.Bne_Un, l2);
-                                       ilgen.Emit (OpCodes.Br, l);
-                                       ilgen.MarkLabel (l2);
-
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       ilgen.MarkLabel (l);
-
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.EndOfString: {
-                                       //if (strpos != string_end)
-                                       //      return false;
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Bne_Un, frame.label_fail);
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.EndOfLine: {
-                                       //if (!(strpos == string_end || str [strpos] == '\n'))
-                                       //      return false;
-                                       Label l_match = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Beq, l_match);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Ldc_I4, (int)'\n');
-                                       ilgen.Emit (OpCodes.Beq, l_match);
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       ilgen.MarkLabel (l_match);
-                                       
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.WordBoundary:
-                               case RxOp.NoWordBoundary: {
-                                       bool negate = op == RxOp.NoWordBoundary;
-
-                                       //if (string_end == 0)
-                                       //      return false;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Beq, frame.label_fail);
-
-                                       Label l_match = ilgen.DefineLabel ();
-
-                                       //if (strpos == 0) {
-                                       Label l1 = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Bne_Un, l1);
-                                       //if (!IsWordChar (str [strpos])) {
-                                       //  return false;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("IsWordChar", ref mi_is_word_char));
-                                       ilgen.Emit (negate ? OpCodes.Brtrue : OpCodes.Brfalse, frame.label_fail);
-                                       ilgen.Emit (OpCodes.Br, l_match);
-
-                                       //} else if (strpos == string_end) {
-                                       ilgen.MarkLabel (l1);
-                                       Label l2 = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                       ilgen.Emit (OpCodes.Bne_Un, l2);
-                                       //if (!IsWordChar (str [strpos - 1])) {
-                                       //  return false;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Sub);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("IsWordChar", ref mi_is_word_char));
-                                       ilgen.Emit (negate ? OpCodes.Brtrue : OpCodes.Brfalse, frame.label_fail);
-                                       ilgen.Emit (OpCodes.Br, l_match);
-
-                                       //} else {
-                                       ilgen.MarkLabel (l2);
-                                       //if (IsWordChar (str [strpos]) == IsWordChar (str [strpos - 1])) {
-                                       //  return false;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("IsWordChar", ref mi_is_word_char));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Sub);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("IsWordChar", ref mi_is_word_char));
-                                       ilgen.Emit (negate ? OpCodes.Bne_Un : OpCodes.Beq, frame.label_fail);
-                                       ilgen.Emit (OpCodes.Br, l_match);
-
-                                       ilgen.MarkLabel (l_match);
-
-                                       pc++;
-                                       break;
-                               }
-                               case RxOp.Bitmap:
-                               case RxOp.UnicodeBitmap: {
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-                                       bool negate = (flags & OpFlags.Negate) > 0;
-                                       bool ignore = (flags & OpFlags.IgnoreCase) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-                                       bool unicode = (op == RxOp.UnicodeBitmap);
-
-                                       //if (strpos < string_end) {
-                                       Label l1 = ilgen.DefineLabel ();
-                                       Label l2 = ilgen.DefineLabel ();
-                                       Label l_match = ilgen.DefineLabel ();
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (OpCodes.Ble, l1);
-                                       } else {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Bge, l1);
-                                       }
-                                       //  int c = str [strpos];
-                                       LocalBuilder local_c = ilgen.DeclareLocal (typeof (int));
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Sub);
-                                       }
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Conv_I4);
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-                                       //  c -= program [pc + 1];
-                                       if (unicode) {
-                                               ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 1));
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Stloc, local_c);
-                                               length = ReadShort (program, pc + 3);
-                                               pc += 5;
-                                       } else {
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Stloc, local_c);
-                                               length =  program [pc + 2];
-                                               pc += 3;
-                                       }
-                                       //  if (c < 0 || c >= (length << 3))
-                                       //    return false;
-                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Blt, negate ? l_match : frame.label_fail);
-                                       ilgen.Emit (OpCodes.Ldloc, local_c);
-                                       ilgen.Emit (OpCodes.Ldc_I4, length << 3);
-                                       ilgen.Emit (OpCodes.Bge, negate ? l_match : frame.label_fail);
-
-                                       // Optimized version for small bitmaps
-                                       if (length <= 4) {
-                                               uint bitmap = program [pc];
-                                               
-                                               if (length > 1)
-                                                       bitmap |= ((uint)program [pc + 1] << 8);
-                                               if (length > 2)
-                                                       bitmap |= ((uint)program [pc + 2] << 16);
-                                               if (length > 3)
-                                                       bitmap |= ((uint)program [pc + 3] << 24);
-
-                                               //if ((bitmap >> c) & 1)
-                                               ilgen.Emit (OpCodes.Ldc_I4, bitmap);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Shr_Un);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (negate ? OpCodes.Brtrue : OpCodes.Brfalse, l1);
-                                       } else {
-                                               //  if ((program [pc + (c >> 3)] & (1 << (c & 0x7))) != 0) {
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_program);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4_3);
-                                               ilgen.Emit (OpCodes.Shr);
-                                               ilgen.Emit (OpCodes.Ldc_I4, pc);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Ldelem_I1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, 7);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Shl);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (negate ? OpCodes.Bne_Un : OpCodes.Beq, l1);
-                                       }
-                                       ilgen.MarkLabel (l_match);
-                                       if (!no_bump) {
-                                               //  strpos++ / strpos--;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               if (reverse)
-                                                       ilgen.Emit (OpCodes.Sub);
-                                               else
-                                                       ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-                                       //    continue;
-                                       ilgen.Emit (OpCodes.Br, l2);
-                                       //  }
-                                       //}
-                                       //return false;
-                                       ilgen.MarkLabel (l1);
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                       ilgen.MarkLabel (l2);
-
-                                       pc += length;
-                                       break;
-                               }
-                               case RxOp.String:
-                               case RxOp.UnicodeString: {
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-                                       bool ignore = (flags & OpFlags.IgnoreCase) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-                                       bool unicode = (op == RxOp.UnicodeString);
-
-                                       if (unicode) {
-                                               start = pc + 3;
-                                               length = ReadShort (program, pc + 1);
-                                       } else {
-                                               start = pc + 2;
-                                               length = program [pc + 1];
-                                       }
-                                       //if (strpos + length > string_end)
-                                       //      return false;
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4, length);
-                                               ilgen.Emit (OpCodes.Blt, frame.label_fail);
-                                       } else {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4, length);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Bgt, frame.label_fail);
-                                       }
-
-                                       /* Avoid unsafe code in Moonlight build */
-#if false && !NET_2_1
-                                       // FIXME:
-                                       if (reverse || unicode)
-                                               throw new NotImplementedException ();
-                                       int i;
-                                       LocalBuilder local_strptr = ilgen.DeclareLocal (typeof (char).MakePointerType ());
-                                       // char *strptr = &str.start_char + strpos
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldflda, typeof (String).GetField ("start_char", BindingFlags.Instance|BindingFlags.NonPublic));
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Shl);
-                                       ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Stloc, local_strptr);
-
-                                       end = start + length;
-                                       for (i = 0; i < length; ++i) {
-                                               // if (*(strptr + i) != program [start + i])
-                                               //   return false;
-                                               if (ignore)
-                                                       ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-                                               ilgen.Emit (OpCodes.Ldloc, local_strptr);
-                                               ilgen.Emit (OpCodes.Ldc_I4, i * 2);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Ldind_I2);
-                                               if (ignore)
-                                                       ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)program [start + i]);
-                                               ilgen.Emit (OpCodes.Bne_Un, frame.label_fail);
-                                       }
-
-                                       // strpos += length
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4, length);
-                                       ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-
-#else
-                                       // Allocate a local for 'str' to save an indirection
-                                       LocalBuilder local_str = ilgen.DeclareLocal (typeof (string));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Stloc, local_str);
-
-                                       if (reverse) {
-                                               // strpos -= length;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4, length);
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-
-                                       // FIXME: Emit a loop for long strings
-                                       end = start + (unicode ? length * 2 : length);
-                                       while (start < end) {
-                                               //if (str [strpos] != program [start])
-                                               //      return false;
-                                               if (ignore)
-                                                       ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-                                               ilgen.Emit (OpCodes.Ldloc, local_str);
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                               if (ignore)
-                                                       ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Ldc_I4, unicode ? ReadShort (program, start) : (int)program [start]);
-                                               ilgen.Emit (OpCodes.Bne_Un, frame.label_fail);
-                                               //strpos++;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-
-                                               if (unicode)
-                                                       start += 2;
-                                               else
-                                                       start ++;
-                                       }
-
-                                       if (reverse) {
-                                               // strpos -= length;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4, length);
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-#endif
-
-                                       pc = end;
-                                       break;
-                               }
-                               case RxOp.OpenGroup: {
-                                       //Open (program [pc + 1] | (program [pc + 2] << 8), strpos);
-                                       int group_id = ReadShort (program, pc + 1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldc_I4, group_id);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("Open", ref mi_open));
-
-                                       pc += 3;
-                                       break;
-                               }
-                               case RxOp.CloseGroup: {
-                                       //Close (program [pc + 1] | (program [pc + 2] << 8), strpos);
-                                       int group_id = ReadShort (program, pc + 1);
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldc_I4, group_id);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Call, GetMethod ("Close", ref mi_close));
-
-                                       pc += 3;
-                                       break;
-                               }
-                               case RxOp.Jump: {
-                                       int target_pc = pc + ReadShort (program, pc + 1);
-                                       if (target_pc > end_pc)
-                                               /* 
-                                                * This breaks the our code generation logic, see
-                                                * https://bugzilla.novell.com/show_bug.cgi?id=466151
-                                                * for an example.
-                                                */
-                                               return null;
-                                       if (trace_compile)
-                                               Console.WriteLine ("\tjump target: {0}", target_pc);
-                                       if (labels == null)
-                                               labels = new Dictionary <int, Label> ();
-                                       Label l = CreateLabelForPC (ilgen, target_pc);
-                                       ilgen.Emit (OpCodes.Br, l);
-                                       pc += 3;
-                                       break;
-                               }
-                               case RxOp.Test: {
-                                       int target1 = pc + ReadShort (program, pc + 1);
-                                       int target2 = pc + ReadShort (program, pc + 3);
-
-                                       if (trace_compile)
-                                               Console.WriteLine ("\temitting <test_expr>");
-
-                                       //  old_stros = strpos;
-                                       LocalBuilder local_old_strpos = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                       Frame new_frame = new Frame (ilgen);
-                                       m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 5, target1 < target2 ? target1 : target2, false, false, out pc);
-                                       if (m == null)
-                                               return null;                                            
-
-                                       if (trace_compile) {
-                                               Console.WriteLine ("\temitted <test_expr>");
-                                               Console.WriteLine ("\ttarget1 = {0}", target1);
-                                               Console.WriteLine ("\ttarget2 = {0}", target2);
-                                       }
-
-                                       Label l1 = CreateLabelForPC (ilgen, target1);
-                                       Label l2 = CreateLabelForPC (ilgen, target2);
-
-                                       // Pass
-                                       ilgen.MarkLabel (new_frame.label_pass);
-                                       //  strpos = old_strpos;
-                                       ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-                                       ilgen.Emit (OpCodes.Br, l1);
-                                               
-                                       // Fail
-                                       ilgen.MarkLabel (new_frame.label_fail);
-                                       //  strpos = old_strpos;
-                                       ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-                                       ilgen.Emit (OpCodes.Br, l2);
-
-                                       // Continue at pc, which should equal to target1
-                                       break;
-                               }
-                               case RxOp.SubExpression: {
-                                       int target = pc + ReadShort (program, pc + 1);
-
-                                       if (trace_compile)
-                                               Console.WriteLine ("\temitting <sub_expr>");
-
-                                       //  old_stros = strpos;
-                                       LocalBuilder local_old_strpos = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                       Frame new_frame = new Frame (ilgen);
-                                       m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 3, target, false, false, out pc);
-                                       if (m == null)
-                                               return null;                                            
-
-                                       if (trace_compile) {
-                                               Console.WriteLine ("\temitted <sub_expr>");
-                                               Console.WriteLine ("\ttarget = {0}", target);
-                                       }
-
-                                       Label l1 = CreateLabelForPC (ilgen, target);
-
-                                       // Pass
-                                       ilgen.MarkLabel (new_frame.label_pass);
-                                       ilgen.Emit (OpCodes.Br, l1);
-                                               
-                                       // Fail
-                                       ilgen.MarkLabel (new_frame.label_fail);
-                                       //  strpos = old_strpos;
-                                       ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                       // Continue at pc, which should equal to target
-                                       break;
-                               }
-                               case RxOp.TestCharGroup: {
-                                       int char_group_end = pc + ReadShort (program, pc + 1);
-                                       pc += 3;
-
-                                       Label label_match = ilgen.DefineLabel ();
-
-                                       /* Determine the negate/reverse flags by examining the first op */
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-
-                                       /* Determine whenever this is a negated character class */
-                                       /* If it is, then the conditions are ANDed together, not ORed */
-                                       bool revert = (flags & OpFlags.Negate) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-
-                                       /*
-                                        * Generate code for all the matching ops in the group
-                                        */
-                                       while (pc < char_group_end) {
-                                               Frame new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc, Int32.MaxValue, true, true, out pc);
-                                               if (m == null)
-                                                       return null;                                            
-
-                                               if (!revert) {
-                                                       // Pass
-                                                       ilgen.MarkLabel (new_frame.label_pass);
-                                                       ilgen.Emit (OpCodes.Br, label_match);
-                                               
-                                                       // Fail
-                                                       // Just fall through to the next test
-                                                       ilgen.MarkLabel (new_frame.label_fail);
-                                               } else {
-                                                       // Pass
-                                                       // Just fall through to the next test
-                                                       ilgen.MarkLabel (new_frame.label_pass);
-                                                       Label l2 = ilgen.DefineLabel ();
-                                                       ilgen.Emit (OpCodes.Br, l2);
-
-                                                       // Fail
-                                                       // Fail completely
-                                                       ilgen.MarkLabel (new_frame.label_fail);
-                                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                                       ilgen.MarkLabel (l2);
-                                               }
-                                       }
-
-                                       if (revert) {
-                                               /* Success */
-                                               ilgen.Emit (OpCodes.Br, label_match);
-                                       } else {
-                                               // If we reached here, all the matching ops have failed
-                                               ilgen.Emit (OpCodes.Br, frame.label_fail);
-                                       }
-
-                                       ilgen.MarkLabel (label_match);
-
-                                       //  strpos++ / strpos--;
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       if (reverse)
-                                               ilgen.Emit (OpCodes.Sub);
-                                       else
-                                               ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-
-                                       break;
-                               }
-                               case RxOp.FastRepeat:
-                               case RxOp.FastRepeatLazy: {
-                                       /*
-                                        * A FastRepeat is a simplified version of Repeat which does
-                                        * not contain another repeat inside, so backtracking is 
-                                        * easier.
-                                        * FIXME: Implement faster backtracking versions for
-                                        * simple inner exceptions like chars/strings.
-                                        */
-                                       bool lazy = program [pc] == (byte)RxOp.FastRepeatLazy;
-                                       int tail = pc + ReadShort (program, pc + 1);
-                                       start = ReadInt (program, pc + 3);
-                                       end = ReadInt (program, pc + 7);
-                                       //Console.WriteLine ("min: {0}, max: {1} tail: {2}", start, end, tail);
-
-                                       //  deep = null;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldnull);
-                                       ilgen.Emit (OpCodes.Stfld, fi_deep);
-
-                                       LocalBuilder local_length = ilgen.DeclareLocal (typeof (int));
-
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Stloc, local_length);
-
-                                       LocalBuilder local_old_strpos = ilgen.DeclareLocal (typeof (int));
-                                       
-                                       // First match at least 'start' items
-                                       if (start > 0) {
-                                               //for (length = 0; length < start; ++length) {
-                                               Label l_loop_footer = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l_loop_footer);
-                                               Label l_loop_body = ilgen.DefineLabel ();
-                                               ilgen.MarkLabel (l_loop_body);
-
-                                               // int old_strpos = strpos;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-                                               
-                                               // if (!EvalByteCode (pc + 11, strpos, ref res))
-                                               Frame new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 11, tail, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Fail
-                                               // return false;
-                                               ilgen.MarkLabel (new_frame.label_fail);
-                                               ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                               // Pass
-                                               ilgen.MarkLabel (new_frame.label_pass);
-                                               // length++
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Stloc, local_length);
-                                               // Loop footer
-                                               ilgen.MarkLabel (l_loop_footer);
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4, start);
-                                               ilgen.Emit (OpCodes.Blt, l_loop_body);
-                                       }
-
-                                       if (lazy) {
-                                               Label l_loop_footer = ilgen.DefineLabel ();
-                                               //while (true) {
-                                               ilgen.Emit (OpCodes.Br, l_loop_footer);
-                                               Label l_loop_body = ilgen.DefineLabel ();
-                                               ilgen.MarkLabel (l_loop_body);
-                                               // Match the tail
-                                               //  int cp = Checkpoint ();
-                                               LocalBuilder local_cp = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Call, GetMethod ("Checkpoint", ref mi_checkpoint));
-                                               ilgen.Emit (OpCodes.Stloc, local_cp);
-
-                                               // int old_strpos = strpos;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                               //  if (EvalByteCode (tail, strpos, ref res)) {
-                                               Frame new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, tail, end_pc, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Success:
-                                               ilgen.MarkLabel (new_frame.label_pass);
-                                               //    return true;
-                                               ilgen.Emit (OpCodes.Br, frame.label_pass);
-
-                                               // Fail:
-                                               ilgen.MarkLabel (new_frame.label_fail);
-                                               //  Backtrack (cp);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldloc, local_cp);
-                                               ilgen.Emit (OpCodes.Call, GetMethod ("Backtrack", ref mi_backtrack));
-                                               // strpos = old_strpos;
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-
-                                               //if (length >= end)
-                                               //  return false;
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4, end);
-                                               ilgen.Emit (OpCodes.Bge, frame.label_fail);
-
-                                               // Match an item
-                                               //if (!EvalByteCode (pc + 11, strpos, ref res))
-                                               new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 11, tail, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Success:
-                                               ilgen.MarkLabel (new_frame.label_pass);
-                                               // length ++;
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Stloc, local_length);
-                                               ilgen.Emit (OpCodes.Br, l_loop_body);
-                                               
-                                               // Fail:
-                                               ilgen.MarkLabel (new_frame.label_fail);
-                                               // return false;
-                                               ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                               // Loop footer
-                                               ilgen.MarkLabel (l_loop_footer);
-                                               ilgen.Emit (OpCodes.Br, l_loop_body);
-                                       } else {
-                                               // Then match as many items as possible, recording
-                                               // backtracking information
-                                               
-                                               //int old_stack_size = stack.Count;
-                                               LocalBuilder local_old_stack_size = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "get_Count", ref mi_stack_get_count));
-                                               ilgen.Emit (OpCodes.Stloc, local_old_stack_size);
-                                               //while (length < end) {
-                                               Label l_loop_footer = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l_loop_footer);
-                                               Label l_loop_body = ilgen.DefineLabel ();
-                                               ilgen.MarkLabel (l_loop_body);
-                                               //  int cp = Checkpoint ();
-                                               LocalBuilder local_cp = ilgen.DeclareLocal (typeof (int));
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Call, GetMethod ("Checkpoint", ref mi_checkpoint));
-                                               ilgen.Emit (OpCodes.Stloc, local_cp);
-
-                                               // int old_strpos = strpos;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Stloc, local_old_strpos);
-
-                                               //  if (!EvalByteCode (pc + 11, strpos, ref res)) {
-                                               Frame new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, pc + 11, tail, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Fail:
-                                               ilgen.MarkLabel (new_frame.label_fail);
-                                               // strpos = old_strpos
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //    Backtrack (cp);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldloc, local_cp);
-                                               ilgen.Emit (OpCodes.Call, GetMethod ("Backtrack", ref mi_backtrack));
-
-                                               //    break;
-                                               Label l_after_loop = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l_after_loop);
-
-                                               // Success:
-                                               ilgen.MarkLabel (new_frame.label_pass);
-
-                                               //stack.Push (cp);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Ldloc, local_cp);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "Push", ref mi_stack_push));
-                                               //stack.Push (strpos);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_strpos);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "Push", ref mi_stack_push));
-                                               // length++
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Stloc, local_length);
-                                               // Loop footer
-                                               ilgen.MarkLabel (l_loop_footer);
-                                               ilgen.Emit (OpCodes.Ldloc, local_length);
-                                               ilgen.Emit (OpCodes.Ldc_I4, end);
-                                               ilgen.Emit (OpCodes.Blt, l_loop_body);
-
-                                               ilgen.MarkLabel (l_after_loop);
-
-                                               // Then, match the tail, backtracking as necessary.
-
-                                               //while (true) {
-                                               l_loop_footer = ilgen.DefineLabel ();
-                                               ilgen.Emit (OpCodes.Br, l_loop_footer);
-                                               l_loop_body = ilgen.DefineLabel ();
-                                               ilgen.MarkLabel (l_loop_body);
-
-                                               if (RxInterpreter.trace_rx) {
-                                                       ilgen.Emit (OpCodes.Ldstr, "matching tail at: {0}");
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                                       ilgen.Emit (OpCodes.Call, typeof (Console).GetMethod ("WriteLine", new Type [] { typeof (string), typeof (object) }));
-                                               }
-
-                                               //  if (EvalByteCode (tail, strpos, ref res)) {
-                                               new_frame = new Frame (ilgen);
-                                               m = EmitEvalMethodBody (m, ilgen, new_frame, program, tail, end_pc, false, false, out out_pc);
-                                               if (m == null)
-                                                       return null;
-
-                                               // Success:
-                                               ilgen.MarkLabel (new_frame.label_pass);
-
-                                               if (RxInterpreter.trace_rx) {
-                                                       ilgen.Emit (OpCodes.Ldstr, "tail matched at: {0}");
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                                       ilgen.Emit (OpCodes.Call, typeof (Console).GetMethod ("WriteLine", new Type [] { typeof (string), typeof (object) }));
-                                               }
-
-                                               //      stack.Count = old_stack_size;
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_stack_size);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "set_Count", ref mi_stack_set_count));
-                                               //  return true;
-                                               ilgen.Emit (OpCodes.Br, frame.label_pass);
-
-                                               // Fail:
-                                               ilgen.MarkLabel (new_frame.label_fail);
-
-                                               if (RxInterpreter.trace_rx) {
-                                                       ilgen.Emit (OpCodes.Ldstr, "tail failed to match at: {0}");
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                                       ilgen.Emit (OpCodes.Call, typeof (Console).GetMethod ("WriteLine", new Type [] { typeof (string), typeof (object) }));
-                                               }
-
-                                               //  if (stack.Count == old_stack_size)
-                                               //              return false;
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "get_Count", ref mi_stack_get_count));
-                                               ilgen.Emit (OpCodes.Ldloc, local_old_stack_size);
-                                               ilgen.Emit (OpCodes.Beq, frame.label_fail);
-                                               
-                                               // Backtrack
-                                               //strpos = stack.Pop ();
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "Pop", ref mi_stack_pop));
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //Backtrack (stack.Pop ());
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldflda, fi_stack);
-                                               ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter.IntStack), "Pop", ref mi_stack_pop));
-                                               ilgen.Emit (OpCodes.Call, GetMethod ("Backtrack", ref mi_backtrack));
-
-                                               if (RxInterpreter.trace_rx) {
-                                                       //Console.WriteLine ("backtracking to: {0}", strpos);
-                                                       ilgen.Emit (OpCodes.Ldstr, "backtracking to: {0}");
-                                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                                       ilgen.Emit (OpCodes.Box, typeof (int));
-                                                       ilgen.Emit (OpCodes.Call, typeof (Console).GetMethod ("WriteLine", new Type [] { typeof (string), typeof (object) }));
-                                               }
-
-                                               // Loop footer
-                                               ilgen.MarkLabel (l_loop_footer);
-                                               ilgen.Emit (OpCodes.Br, l_loop_body);
-                                       }
-
-                                       // We already processed the tail
-                                       pc = out_pc;
-                                       goto End;
-                               }
-
-                               case RxOp.CategoryAny:
-                               case RxOp.CategoryAnySingleline:
-                               case RxOp.CategoryWord:
-                               case RxOp.CategoryDigit:
-                               case RxOp.CategoryWhiteSpace:
-                               case RxOp.CategoryEcmaWord:
-                               case RxOp.CategoryEcmaWhiteSpace:
-                               case RxOp.CategoryUnicodeSpecials:
-                               case RxOp.CategoryUnicode: {
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-                                       bool negate = (flags & OpFlags.Negate) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-
-                                       //if (strpos < string_end) {
-                                       Label l_nomatch = ilgen.DefineLabel ();
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (OpCodes.Ble, l_nomatch);
-                                       } else {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Bge, l_nomatch);
-                                       }
-
-                                       //  int c = str [strpos];
-                                       LocalBuilder local_c = ilgen.DeclareLocal (typeof (char));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       if (reverse) {
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               ilgen.Emit (OpCodes.Sub);
-                                       }
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       ilgen.Emit (OpCodes.Stloc, local_c);
-
-                                       Label l_match = ilgen.DefineLabel ();
-
-                                       Label l_true, l_false;
-
-                                       l_true = negate ? l_nomatch : l_match;
-                                       l_false = negate ? l_match : l_nomatch;
-
-                                       switch (op) {
-                                       case RxOp.CategoryAny:
-                                               // if (str [strpos] != '\n') {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\n');
-                                               ilgen.Emit (OpCodes.Bne_Un, l_true);
-                                               break;
-                                       case RxOp.CategoryAnySingleline:
-                                               ilgen.Emit (OpCodes.Br, l_true);
-                                               break;
-                                       case RxOp.CategoryWord:
-                                               //  if (Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation) {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Call, typeof (Char).GetMethod ("IsLetterOrDigit", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Call, typeof (Char).GetMethod ("GetUnicodeCategory", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)UnicodeCategory.ConnectorPunctuation);
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               break;
-                                       case RxOp.CategoryDigit:
-                                               // if (Char.IsDigit (c)) {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Call, typeof (Char).GetMethod ("IsDigit", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-                                               break;
-                                       case RxOp.CategoryWhiteSpace:
-                                               // if (Char.IsWhiteSpace (c)) {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Call, typeof (Char).GetMethod ("IsWhiteSpace", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-                                               break;
-                                       case RxOp.CategoryEcmaWord:
-                                               // if ('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_') {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'a' - 1);
-                                               ilgen.Emit (OpCodes.Cgt);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'z' + 1);
-                                               ilgen.Emit (OpCodes.Clt);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'A' - 1);
-                                               ilgen.Emit (OpCodes.Cgt);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'Z' + 1);
-                                               ilgen.Emit (OpCodes.Clt);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'0' - 1);
-                                               ilgen.Emit (OpCodes.Cgt);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'9' + 1);
-                                               ilgen.Emit (OpCodes.Clt);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'_');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               break;
-                                       case RxOp.CategoryEcmaWhiteSpace:
-                                               // if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v') {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)' ');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\t');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\n');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\r');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\f');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\v');
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               break;
-                                       case RxOp.CategoryUnicodeSpecials:
-                                               // if ('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD') {
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\uFEFF' - 1);
-                                               ilgen.Emit (OpCodes.Cgt);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\uFEFF' + 1);
-                                               ilgen.Emit (OpCodes.Clt);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\uFFF0' - 1);
-                                               ilgen.Emit (OpCodes.Cgt);
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)'\uFFFD' + 1);
-                                               ilgen.Emit (OpCodes.Clt);
-                                               ilgen.Emit (OpCodes.And);
-                                               ilgen.Emit (OpCodes.Brtrue, l_true);
-                                               break;
-                                       case RxOp.CategoryUnicode:
-                                               // if (Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1]) {                                              
-                                               ilgen.Emit (OpCodes.Ldloc, local_c);
-                                               ilgen.Emit (OpCodes.Call, typeof (Char).GetMethod ("GetUnicodeCategory", new Type [] { typeof (char) }));
-                                               ilgen.Emit (OpCodes.Ldc_I4, (int)program [pc + 1]);
-                                               ilgen.Emit (OpCodes.Beq, l_true);
-                                               break;
-                                       }
-
-                                       ilgen.Emit (OpCodes.Br, l_false);
-
-                                       ilgen.MarkLabel (l_match);
-
-                                       //    strpos++;
-                                       if (!no_bump) {
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_1);
-                                               if (reverse)
-                                                       ilgen.Emit (OpCodes.Sub);
-                                               else
-                                                       ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-                                       //  }
-                                       Label l2 = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Br, l2);
-                                       //}
-                                       ilgen.MarkLabel (l_nomatch);
-                                       //return false;
-                                       ilgen.Emit (OpCodes.Br, frame.label_fail);
-
-                                       ilgen.MarkLabel (l2);
-
-                                       if (op == RxOp.CategoryUnicode)
-                                               pc += 2;
-                                       else
-                                               pc++;
-                                       break;
-                               }
-                               case RxOp.Reference: {
-                                       OpFlags flags = (OpFlags)op_flags [pc];
-                                       bool ignore = (flags & OpFlags.IgnoreCase) > 0;
-                                       bool reverse = (flags & OpFlags.RightToLeft) > 0;
-
-                                       //length = GetLastDefined (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       LocalBuilder loc_length = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldc_I4, ReadShort (program, pc + 1)); 
-                                       ilgen.Emit (OpCodes.Call, GetMethod (typeof (RxInterpreter), "GetLastDefined", ref mi_get_last_defined));                                       
-                                       ilgen.Emit (OpCodes.Stloc, loc_length);
-                                       //if (length < 0)
-                                       //  return false;
-                                       ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                       ilgen.Emit (OpCodes.Ldc_I4_0);
-                                       ilgen.Emit (OpCodes.Blt, frame.label_fail);
-                                       //start = marks [length].Index;
-                                       LocalBuilder loc_start = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_marks);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                       ilgen.Emit (OpCodes.Ldelema, typeof (Mark));
-                                       ilgen.Emit (OpCodes.Call, GetMethod (typeof (Mark), "get_Index", ref mi_mark_get_index));
-                                       ilgen.Emit (OpCodes.Stloc, loc_start);
-                                       // length = marks [length].Length;
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_marks);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                       ilgen.Emit (OpCodes.Ldelema, typeof (Mark));
-                                       ilgen.Emit (OpCodes.Call, GetMethod (typeof (Mark), "get_Length", ref mi_mark_get_length));
-                                       ilgen.Emit (OpCodes.Stloc, loc_length);
-                                       if (reverse) {
-                                               //ptr -= length;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                               //if (ptr < 0)
-                                               //goto Fail;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldc_I4_0);
-                                               ilgen.Emit (OpCodes.Blt, frame.label_fail);
-                                       } else {
-                                               //if (strpos + length > string_end)
-                                               //  return false;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                               ilgen.Emit (OpCodes.Add);
-                                               ilgen.Emit (OpCodes.Ldarg_0);
-                                               ilgen.Emit (OpCodes.Ldfld, fi_string_end);
-                                               ilgen.Emit (OpCodes.Bgt, frame.label_fail);
-                                       }
-
-                                       LocalBuilder local_str = ilgen.DeclareLocal (typeof (string));
-                                       ilgen.Emit (OpCodes.Ldarg_0);
-                                       ilgen.Emit (OpCodes.Ldfld, fi_str);
-                                       ilgen.Emit (OpCodes.Stloc, local_str);
-
-                                       // end = start + length;
-                                       LocalBuilder loc_end = ilgen.DeclareLocal (typeof (int));
-                                       ilgen.Emit (OpCodes.Ldloc, loc_start);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                       ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Stloc, loc_end);
-                                       //for (; start < end; ++start) {
-                                       Label l_loop_footer = ilgen.DefineLabel ();
-                                       ilgen.Emit (OpCodes.Br, l_loop_footer);
-                                       Label l_loop_body = ilgen.DefineLabel ();
-                                       ilgen.MarkLabel (l_loop_body);
-                                       //if (str [strpos] != str [start])
-                                       //return false;
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-                                       ilgen.Emit (OpCodes.Ldloc, local_str);
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Ldloc, local_textinfo);
-                                       ilgen.Emit (OpCodes.Ldloc, local_str);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_start);
-                                       ilgen.Emit (OpCodes.Callvirt, typeof (string).GetMethod ("get_Chars"));
-                                       if (ignore)
-                                               ilgen.Emit (OpCodes.Callvirt, typeof (TextInfo).GetMethod ("ToLower", new Type [] { typeof (char) }));
-                                       ilgen.Emit (OpCodes.Bne_Un, frame.label_fail);
-                                       // strpos++;
-                                       ilgen.Emit (OpCodes.Ldarg_1);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Starg, 1);
-                                       // start++
-                                       ilgen.Emit (OpCodes.Ldloc, loc_start);
-                                       ilgen.Emit (OpCodes.Ldc_I4_1);
-                                       ilgen.Emit (OpCodes.Add);
-                                       ilgen.Emit (OpCodes.Stloc, loc_start);
-                                       // Loop footer
-                                       ilgen.MarkLabel (l_loop_footer);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_start);
-                                       ilgen.Emit (OpCodes.Ldloc, loc_end);
-                                       ilgen.Emit (OpCodes.Blt, l_loop_body);
-
-                                       if (reverse) {
-                                               //ptr -= length;
-                                               ilgen.Emit (OpCodes.Ldarg_1);
-                                               ilgen.Emit (OpCodes.Ldloc, loc_length);
-                                               ilgen.Emit (OpCodes.Sub);
-                                               ilgen.Emit (OpCodes.Starg, 1);
-                                       }
-
-                                       pc += 3;
-                                       break;
-                               }
-                               case RxOp.Repeat:
-                               case RxOp.RepeatLazy:
-                               case RxOp.IfDefined:
-                                       // FIXME:
-                                       if (RxInterpreter.trace_rx || trace_compile)
-                                               Console.WriteLine ("Opcode " + op + " not supported.");
-                                       return null;
-                               default:
-                                       throw new NotImplementedException ("Opcode '" + op + "' not supported by the regex->IL compiler.");
-                           }
-
-                               if (one_op)
-                                       break;
-                       }
-
-                       End:
-
-                       out_pc = pc;
-
-                       return m;
-               }
-       }
-
-}
-
diff --git a/mcs/class/System/System.Text.RegularExpressions/Capture.cs b/mcs/class/System/System.Text.RegularExpressions/Capture.cs
deleted file mode 100644 (file)
index edaf076..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       Capture.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-namespace System.Text.RegularExpressions {
-
-       [Serializable]
-       public class Capture {
-               public int Index {
-                       get { return index; }
-               }
-
-               public int Length {
-                       get { return length; }
-               }
-
-               public string Value {
-                       get { return text == null ? String.Empty : text.Substring (index, length); }
-               }
-
-               public override string ToString ()
-               {
-                       return Value;
-               }
-
-               // internal members
-
-               internal Capture (string text) : this (text, 0, 0) { }
-
-               internal Capture (string text, int index, int length)
-               {
-                       this.text = text;
-                       this.index = index;
-                       this.length = length;
-               }
-               
-               internal string Text {
-                       get { return text; }
-               }
-
-               // private
-
-               internal int index, length;
-               internal string text;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/CaptureCollection.cs b/mcs/class/System/System.Text.RegularExpressions/CaptureCollection.cs
deleted file mode 100644 (file)
index 3c9ef45..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// System.Text.RegularExpressions.CaptureCollection
-//
-// Authors:
-//     Dan Lewis (dlewis@gmx.co.uk)
-//     Dick Porter (dick@ximian.com)
-//
-// (C) 2002 Dan Lewis
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Collections;
-
-namespace System.Text.RegularExpressions 
-{
-       [Serializable]
-       public class CaptureCollection: ICollection, IEnumerable
-       {
-               private Capture [] list;
-
-               /* No public constructor */
-               internal CaptureCollection (int n)
-               {
-                       list = new Capture [n];
-               }
-
-               public int Count {
-                       get { return list.Length; }
-               }
-
-               public bool IsReadOnly {
-                       get { return true; }
-               }
-
-               public bool IsSynchronized {
-                       get { return false; }
-               }
-
-               public Capture this [int i] {
-                       get {
-                               if (i < 0 || i >= Count)
-                                       throw new ArgumentOutOfRangeException ("Index is out of range");
-                               return list [i];
-                       }
-               }
-
-               internal void SetValue (Capture cap, int i)
-               {
-                       list [i] = cap;
-               }
-
-               public object SyncRoot {
-                       get { return list; }
-               }
-
-               public void CopyTo (Array array, int arrayIndex)
-               {
-                       list.CopyTo (array, arrayIndex);
-               }
-
-               public IEnumerator GetEnumerator ()
-               {
-                       return list.GetEnumerator ();
-               }
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/ChangeLog b/mcs/class/System/System.Text.RegularExpressions/ChangeLog
deleted file mode 100644 (file)
index 56f7381..0000000
+++ /dev/null
@@ -1,1084 +0,0 @@
-2010-07-20  Miguel de Icaza  <miguel@novell.com>
-
-       * parser.cs (ParseEscape): Now parses with some context, whether
-       we are parsing inside a character range which can not contain
-       back-references or when we are parsing on a string context which
-       can contain back references.
-
-       This fixes bug #577346 which exposed a bug parsing this:
-
-       new Regex("[\\177-\\377]")
-
-2010-06-29  Raja R Harinath  <harinath@hurrynot.org>
-
-       Mitigate a possible source of unbounded memory growth
-       * interpreter.cs (Backtrack): Move mark_start back, and invalidate
-       discarded marks.
-
-2010-06-29  Raja R Harinath  <harinath@hurrynot.org>
-
-       Make trace output resemble assembler listing
-       * compiler.cs (LinkRef.ToString) [TRACE_REGEX]: Add pretty-printer
-       in TRACE_REGEX mode.
-       (TraceRegexp): Indent the output.
-       (TraceRegexpLabel): New.  Prints out a line label.
-       (EmitCount): Don't trace.  All callers are traced.
-       (ResolveLink): Trace line labels.
-
-2010-06-21  Rodrigo Kumpera  <rkumpera@novell.com>
-
-       * compiler.cs: Use conditional compilation to enable
-       tracing to avoid code bloat.
-
-2010-06-21  Rodrigo Kumpera  <rkumpera@novell.com>
-
-       * parser.cs: Handle repetition of position assertions.
-
-       Fixes #610587.
-
-2010-06-21  Rodrigo Kumpera  <rkumpera@novell.com>
-
-       * compiler.cs: Add new internal flag to switch on regexp tracing.
-       The code is a statc readonly variable so the JIT can eliminate
-       all tracing code during normal runs.
-
-2010-03-20  Miguel de Icaza  <miguel@novell.com>
-
-       * RxInterpreter.cs: Removed warnings.
-
-2010-02-03  Rodrigo Kumpera  <rkumpera@novell.com>
-
-       * BaseMachine.cs (Split): Don't add empty strings if they don't come from
-       the first capture group. Fixes #566117.
-
-2010-01-12  Miguel de Icaza  <miguel@novell.com>
-
-       * Regex.cs: Re-enable the new regex compiler as the bug seems to
-       be gone now.
-
-2009-09-07  Raja R Harinath  <harinath@hurrynot.org>
-
-       * Regex.cs (Escape, Unescape): Add null checks.
-       (validate_options): Add ECMAScript option checks.
-       (Replace, Split): Add a few bounds checks.
-
-2009-09-07  Raja R Harinath  <harinath@hurrynot.org>
-
-       Add some null checks and bounds checks.
-       * Regex.cs (default_startat): New.  Replaces the fragment
-       'RightToLeft ?  input.Length : 0' with a null-safe variant.
-       (Replace) <string variant>: Add null checks for argument strings.
-       (Split): Likewise.
-       (.ctor): Likewise.  Validate regex options partially.
-       (Match): Add null check on string arguments, and bounds checks for
-       offset and length arguments.
-
-2009-08-20  Raja R Harinath  <harinath@hurrynot.org>
-
-       Final piece of explicit numeric group support
-       * parser.cs (gap): New.
-       (GetMapping): Return it.
-       (ResolveReferences): Collect explicit numeric groups which may not
-       match their indices.
-       (HandleExplicitNumericGroups): New.  Process the above list to
-       assign appropriate indices, and compute the correct value of 'gap'.
-
-2009-08-20  Raja R Harinath  <harinath@hurrynot.org>
-
-       * syntax.cs (CapturingGroup.Index): Rename from Number to clarify
-       semantics.
-       (CapturingGroup.CompareTo): New.
-       * parser.cs, syntax.cs: Update to changes.
-
-2009-08-20  Raja R Harinath  <harinath@hurrynot.org>
-
-       Implement some more group number/index distinction
-       * Regex.cs (gap, Gap): New.
-       (Init, InitNewRegex): Update it.
-       (GroupNumberFromName): If the 'name' is beyond the gap, it is an
-       explicit numeric group -- use the name as the group number.
-       (GetGroupIndex): Use a binary search to map a group number to its
-       index when we know that they don't match.
-       (GroupNumbers): Use group number, not group index, for explicit
-       numeric groups.
-       * Match.cs (.ctor): Use the newly introduce 'Regex.Gap'.
-
-2009-08-19  Raja R Harinath  <harinath@hurrynot.org>
-
-       * Regex.cs (group_numbers): New.
-       (GetGroupNumbers): Move array initialization ...
-       (GroupNumbers): ... to new on-demand initializer.
-
-2009-08-19  Raja R Harinath  <harinath@hurrynot.org>
-
-       * Regex.cs (group_names): Rename from _groupNumbersToNameMap.
-       (GetGroupNamesArray): Use an IDictionaryEnumerator to walk the
-       mapping, since both the key and value are used in the loop.
-
-2009-08-19  Raja R Harinath  <harinath@hurrynot.org>
-
-       Introduce 'gap' concept into all the variants of regex
-       * arch.cs (IMachineFactory::Gap): New property.
-       * compiler.cs (InterpreterFactory): Update to changes.
-       * RxCompiler.cs (RxInterpreterFactory): Likewise.
-       * JvmReMachineFactory.cs: Likewise.
-       * parser.cs (GetMapping): Return the 'gap' index.  Move creation
-       of mapping dictionary ...
-       * Regex.cs (CreateMachineFactory): ... here.  Update to changes.
-
-2009-08-18  Raja R Harinath  <harinath@hurrynot.org>
-
-       Distinguish between the internal index of a group and group number.
-       * Regex.cs (GetGroupIndex): New.
-       (GroupNameFromNumber): Use it.
-       * GroupCollection.cs (.ctor): Introduce 'gap' argument.  It is the
-       index of the first group whose group number differs from its index.
-       (Item.get): Likewise.
-
-2009-08-18  Raja R Harinath  <harinath@hurrynot.org>
-
-       * parser.cs (GetMapping): Extend duplicate check for numeric
-       groups too.
-
-2009-08-17  Raja R Harinath  <harinath@hurrynot.org>
-
-       * parser.cs (ResolveReferences): Handle some cases of
-       explicitly-named numeric groups.
-
-2009-08-17  Raja R Harinath  <harinath@hurrynot.org>
-
-       * parser.cs (ResolveReferences): Rearrange slightly to prepare for
-       future changes.
-
-2009-08-17  Raja R Harinath  <harinath@hurrynot.org>
-
-       * Regex.cs (GetGroupNumbers): List group numbers in ascending order.
-       (GetGroupNames): List names in order of group number.
-
-2009-08-12  Raja R Harinath  <harinath@hurrynot.org>
-
-       * syntax.cs (BackslashNumber.ResolveReference): Improve ECMAScript
-       semantics.  Handle cases like "group 43 exists but group 4 doesn't".
-
-2009-08-10  Raja R Harinath  <harinath@hurrynot.org>
-
-       * syntax.cs (BackslashNumber.ResolveReference): Implement fallback
-       to octal numbers, and ECMAScript semantics.
-       * parser.cs (ResolveReferences): Use it.
-
-2009-08-10  Raja R Harinath  <harinath@hurrynot.org>
-
-       * syntax.cs (BackslashNumber): New class.
-       * parser.cs (ParseSpecial): Create it instead of 'Reference' if a
-       numeric backreference is seen.
-
-2009-08-10  Raja R Harinath  <harinath@hurrynot.org>
-
-       * parser.cs (ResolveReferences): Allow named groups to be
-       referred-to by their group numbers too.
-
-2009-04-23  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Regex.cs: Remove Compiler-related support for NET_2_1
-       * RegexOptions.cs: Remove Compile from values available on NET_2_1
-
-2009-03-04  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs (ResetGroups): Avoid allocating larger than needed
-       arrays.
-
-2009-02-27  Jonathan Pryor <jpryor@novell.com>
-
-       * Regex.cs (Replace): Check that input & evaluator are not null, as
-         documented in MSDN (and the variance found while testing DbLinq).
-
-2009-02-27  Zoltan Varga  <vargaz@gmail.com>
-
-       * BaseMachine.cs (LTRReplace): Initialize the StringBuilder with an
-       appropriate initial length.
-
-2009-02-24  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Partially inline calls to Char.ToLower () to speed
-       up ignorecase matching.
-
-2009-02-16  Jb Evain  <jbevain@novell.com>
-
-       * Regex.cs: on the NET_2_1 profile, always use the old engine for now.
-
-2009-02-14  Zoltan Varga  <vargaz@gmail.com>
-
-       * Regex.cs: Add a MONO_NEW_RX variable to enable the new regex
-       engine.
-
-2009-02-04  Zoltan Varga  <vargaz@gmail.com>
-
-       * Regex.cs: Disable the new regex engine for now.
-
-2009-01-14  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Avoid throwing exceptions for a few more unhandled opcodes.
-       Implement the reverse/ignorecase versions of Reference. Fix the reverse
-       version of Bitmap. Error out if a Jump opcode jumps outside the current
-       pc range. This works around #466151.
-
-2009-01-12  Jb Evain  <jbevain@novell.com>
-
-       * RxInterpreter.cs: set trace_rx to false for NET_2_1.
-       * Regex.cs: set old_rx to false for NET_2_1.
-
-2009-01-07  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs: Add support for constant strings in anchors. Fixes
-       #464135.
-
-2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * cache.cs: avoid infinite loop.
-
-2008-11-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * cache.cs:
-       * Regex.cs: honor CacheSize value.
-
-2008-11-13  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs: Fix pc computation in various opcodes. Fixes #443841.
-
-2008-11-11  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement Reference opcode.
-
-2008-10-30  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement SubExpression opcode.
-       
-       * CILCompiler.cs: Save and restore strpos in the Test opcode. Fixes
-       #439947.
-
-2008-10-25  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement Test opcode.
-
-2008-10-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * RxInterpreter.cs: implement missing Unicode* opcodes and
-       StringReverseIgnoreCase.
-
-2008-10-25  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxOp.cs: Remove unused Generic opcodes.
-
-       * RxCompiler.cs: Emit opcodes with flags using methods which can be 
-       overriden by CILCompiler.cs, so we only have to override a few methods.
-
-       * CILCompiler.cs: Simplify based on the RxCompiler changes. Implement
-       UnicodeString opcode. Throw a NotImplementedException when an unsupported
-       opcode is encountered, since the IL compiler is now believed to be feature 
-       complete.
-
-2008-10-24  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs CILCompiler.cs gen-interp.cs: Fix the reading of short 
-       values from the instruction stream.
-
-       * RxOp.cs: Add some missing unicode opcodes.
-
-       * gen-interp.cs RxInterpreter.cs: Generate Bitmap/UnicodeBitmap opcodes too.
-
-       * CILCompiler.cs (EmitEvalMethodBody): Add an 'end_pc' argument to mark the
-       end of the bytecode range which needs to be compiled. Use it to avoid
-       compiling the same bytecode multiple times in various opcodes. Fix
-       RxOp.Jump implementation. Add implementation for unicode opcodes.
-
-2008-10-09  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement NoBitmap/NoBitmapIgnoreCase. Fixes #432172.
-
-2008-09-14  Zoltan Varga  <vargaz@gmail.com>
-
-       * gen-interp.cs: New file to generate the all variants of the character 
-       checking opcodes in RxInterpreter.cs.
-
-       * RxInterpreter.cs: Replace hand written code with code generated by
-       gen-interp.cs.
-       
-       * RxInterpreter.cs: Fix the failure case of the No<XXX> opcodes. Fixes
-       #426142.
-
-2008-09-13  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs RxCompiler.cs: Implement some missing Category opcodes.
-
-2008-09-07  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Override ICompiler.EmitSet too so we set op_flags for 
-       Bitmap opcodes too. Fixes #424073.
-
-2008-09-06  Zoltan Varga  <vargaz@gmail.com>
-
-       * Regex.cs: Make the new regex interpreter+compiler the default.
-
-2008-08-31  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs: Port the Anchor+StartOfString optimization from the old
-       interpreter. Add credits.
-
-       * RxCompiler.cs (EmitString): Lowercase the string if ignore is true.
-
-       * CILCompiler.cs: Fix the setting of the match position in the
-       anchor+char optimization.
-       
-       * CILCompiler.cs: Implement FastRepeatLazy.
-
-       * CILCompiler.cs: Get rid of commented out code. Also get rid of
-       frame.local_strpos_res, since the generated code already set Arg1 to
-       the same value.
-
-2008-08-30  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Initialize all mi_ variables lazily.
-       
-       * CILCompiler.cs: Implement FastRepeat.
-
-       * RxInterpreter.cs: Add back SetStartOfMatch, make it protected so as to
-       avoid a warning.
-
-       * CILCompiler.cs RxOp.cs: Merge lots of changes from RxInterpreter.cs,
-       refactor the code.
-
-2008-08-29  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs RxCompiler.cs RxOp.cs: Implement/fix this so all the
-       regex tests now run. The Repeat code is taken from the old interpreter.
-
-2008-08-28  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxInterpreter.cs RxCompiler.cs RxOp.cs: Add support for 
-       Category.AnySingleline.
-
-2008-08-27  Zoltan Varga  <vargaz@gmail.com>
-
-       * RxCompiler.cs: Use Array.Copy since Buffer.BlockCopy operates on bytes.
-       
-2008-07-31  Jb Evain  <jbevain@novell.com>
-
-       * BaseMachine.cs: clean up for NET_2_1.
-
-2008-06-05  Roei Erez  <roeie@mainsoft.com>
-
-       * JvmReMachine.jvm.cs: Fix a bug in match that contains
-       empty group at the end.
-
-2008-04-13  Jb Evain  <jbevain@novell.com>
-
-       * Regex.cs: update undocumented fields for the 2.1 profile.
-       Merged from the Moonlight 2 branch.
-
-2008-02-26  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement StringIgnoreCase.
-       
-       * CILCompiler.cs: Implement grouping support.
-
-       * CILCompiler.cs: Implement character groups.
-
-2008-02-25  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Implement lots of missing opcodes.
-
-2008-02-18  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs (EmitEvalMethodBody): Check for the not-yet supported
-       groups.Count > 1.
-
-Thu Feb 14 19:03:00 CET 2008 Paolo Molaro <lupus@ximian.com>
-
-       * RxCompiler.cs, RxInterpreter.cs, RxOp.cs, CILCompiler.cs : support for word
-       boundary position opcodes, ignorecase backreference and more capture
-       work.
-
-Thu Feb 14 17:11:10 CET 2008 Paolo Molaro <lupus@ximian.com>
-
-       * RxCompiler.cs, RxInterpreter.cs, RxOp.cs: replace EcmaDigit with
-       Range, fixed matching of "" =~ /$/, implementedt TestCharGroup.
-       Fixes and other misc opcodes implemented.
-
-2008-02-13  Zoltan Varga  <vargaz@gmail.com>
-
-       * CILCompiler.cs: Restructure some code to avoid a branch inside a loop.
-       
-       * CILCompiler.cs: Fix the unsafe string matching code.
-
-       * CILCompiler.cs: Improved version which emits only one method in most cases.
-
-       * CILCompiler.cs: Fix some comments.
-
-       * CILCompiler.cs: New file, extracted from RxCompiler.cs.
-
-       * RxInterpreter.cs RxCompiler.cs: First version of regex IL compiler.
-
-Wed Feb 13 13:18:12 CET 2008 Paolo Molaro <lupus@ximian.com>
-
-       * RxCompiler.cs, RxInterpreter.cs, RxOp.cs: unicode categories and
-       some grouping/capture support.
-
-Tue Feb 12 19:16:49 CET 2008 Paolo Molaro <lupus@ximian.com>
-
-       * RxCompiler.cs, RxInterpreter.cs, RxOp.cs: experimental new
-       interpreter.
-
-2008-02-10  Zoltan Varga  <vargaz@gmail.com>
-
-       * replace.cs (NeedsGroupsOrCaptures): New property. Determines whenever the
-       replacement process needs access to the groups or captures properties of the
-       Match object.
-
-       * Group.cs: Add an internal ctor which avoids allocations.
-
-       * Match.cs: Ditto.
-
-       * BaseMachine.cs interpreter.cs: Add an optimization to avoid fully creating
-       Match objects during Replace () if the replacement string is simple.
-
-       * BaseMachine.cs Regex.cs: Make LTRReplace and RTLReplace instance methods to 
-       avoid creating two machines for each Regex.Replace () call.
-
-       * interpreter.cs (Eval): Remove a needless string allocation.
-
-2007-12-04  Arina Itkes <arinai@mainsoft.com>
-
-       * parser.cs: Max value of m for a construct {n,m} is 2147483647.
-
-2007-11-15  Miguel de Icaza  <miguel@novell.com>
-
-       * Revert the patch from Juraj Skripsky as it made the class
-       non-thread safe (see #341986).
-
-2007-11-08  Raja R Harinath  <harinath@gmail.com>
-
-       Fix 324390
-       * BaseMachine.cs (LTRReplace): Don't use non-advancement of 'ptr'
-       to deduce absence of matches -- a match can have length 0.
-       (RTLReplace): Likewise.
-
-2007-11-07  Raja R Harinath  <harinath@gmail.com>
-
-       Support RegexOptions.RightToLeft in Replace().
-       * BaseMachine.cs (Replace): Use either LTRReplace or RTLReplace
-       based on regex.
-       (LTRReplace): Make internal and rename the MatchAppendEvaluator
-       version of Replace to this.
-       (RTLReplace): New.
-       * Regex.cs (Replace): Use LTRReplace and RTLReplace from BaseMachine.
-       * replace.cs (ReplacementEvaluator.Evaluate): Optimize simple case.
-       Based on patch by Stephane Delcroix.
-
-       * replace.cs (Compile): Don't unescape string.
-
-2007-11-01  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * Match.cs: Do not throw NotSupportedException on zero-length
-       replacement argument.
-
-2007-10-29 Arina Itkes <arinai@mainsoft.com>
-
-       * Regex.cs: Moving creation of Regex machine to ctor.
-       It increases an initialization time of Regex but reduce a 
-       process time while APIs calling. Also it solves the problem 
-       of missed multi thread synchronization.
-
-2007-10-29 Arina Itkes <arinai@mainsoft.com>
-       
-       * Match.cs: Fix for Result method of Match. Throwing an exception 
-       if Result method was called on a failed Match. 
-
-2007-10-24  Juraj Skripsky <js@hotfeet.ch>
-
-       * Regex.cs: Store and re-use IMachine, no need to re-instantiate
-       it every time we're matching.
-       
-2007-10-24 Arina Itkes <arinai@mainsoft.com>
-
-       * Regex.cs Match.cs arch.cs compiler.cs interpreter.cs
-        Refactoring of Interpreter with extracting of base abstract class 
-        that executes some methods that were moved from Regex and Match classes.
-        Added a field that maps group numbers to group names in Regex for 
-        improvement of performance of GroupNameFromNumber method.
-
-2007-10-21  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * RegexTest.cs: Removed. Test was already moved to the appropriate
-       location. 
-
-2007-06-21  Juraj Skripsky <js@hotfeet.ch>
-
-       * quicksearch.ch: Optimization. Add byte array as skip table for
-       chars <= 255, falling back to the hashtable for chars > 255 and
-       skip distances > 255.
-
-2007-04-18  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #80554
-       * parser.cs (ResolveReferences): Don't throw an expression if a
-       capture assertion reference cannot be resolved.
-       (ParseGroupingConstruct): Provide fallback expression to a capture
-       assertion.
-       * syntax.cs (CaptureAssertion): If the bareword doesn't refer to
-       the name of a capture group, fallback to treating it as a literal
-       expression.
-
-2007-04-04  Raja R Harinath  <rharinath@novell.com>
-
-       * interpreter.cs (Eval) <OpCode.Reference>: Distribute for loop
-       inside if.
-       for () if (a) s1; else s2; => if (a) for () s1; else for () s2;
-
-2007-04-03  Raja R Harinath  <rharinath@novell.com>
-
-       * Regex.cs (~Regex): Don't define in NET_2_0 profile.
-
-2007-01-02  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #79472
-       * parser.cs (Parser.GetMapping): Use the actual group numbers to
-       build the mapping.
-
-2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
-
-       * Regex.cs: TARGET_JVM
-
-2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * CaptureCollection.cs: Removed virtual keyword to fix API mismatches.
-       * MatchCollection.cs: Removed virtual keyword to fix API mismatches.
-       * GroupCollection.cs: Removed virtual keyword to fix API mismatches.
-
-2006-05-08  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #78278
-       Remove 65535-limit on number of repetitions matched by a pattern.
-       We still have a 65535 limit on the length of a pattern and the
-       number of groups in a pattern.
-       * compiler.cs (PatternCompiler.EmitCount): New.  Emits an int as
-       two ushorts into the program stream.
-       (EmitInfo, EmitRepeat, EmitFastRepeat): Use it to emit integers
-       rather than shorts.
-       * interpreter.cs (Intepreter.ReadProgramCount): Read an int
-       emitted into the program stream.
-       (Interpreter): Use it.  Update counts.
-       (Interpreter.Eval) [OpCode.Repeat, OpCode.FastRepeat]: Likewise.
-       * parser.cs (ParseGroup): Pass 0x7ffffff as the max value for '*'
-       and '+' repetition patterns.
-       * arch.cs (Info, Repeat, FastRepeat): Update description.
-
-2006-04-18  Raja R Harinath  <rharinath@novell.com>
-
-       Treat fixed repetitions of simple regexes as simple too.
-       * syntax.cs (Expression.IsComplex): Make abstract.
-       (Group.IsComplex, Alternation.IsComplex): Move ...
-       (CompositeExpression.IsComplex): ... here.
-       (Group.GetAnchorInfo): Reduce allocations.  Avoid creating another
-       ArrayList, and use a StringBuilder to build up the string.
-       (Repetition.GetAnchorInfo): Use a StringBuilder to build up the string.
-       (ExpressionAssertion.IsComplex): Override.
-
-2006-04-17  Florian Gross  <flgr@ccan.de>
-           Raja R Harinath  <rharinath@novell.com>
-
-       * syntax.cs (CharacterClass.Compile): Emit categories after the
-       character intervals so that the evaluator can pick up the
-       'IgnoreCase' flag.
-
-2006-04-07  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #78007
-       * interpreter.cs (Interpreter.Eval) [Anchor, Position.StartOfString]:
-       Don't reset 'ptr' to 0 during forward scan.
-
-       Fix #76345
-       * interpreter.cs (Interpreter.FastEval) [FastRepeat]: If the first
-       tail operation has a 'negate' flag, avoid the "match next char"
-       optimization.
-
-       Fix #69269
-       * arch.cs (OpCode.NotCategory): New.  Stands for matching a
-       character _not_ from the given category.
-       * debug.cs (DisassembleBlock): Handle it.
-       * compiler.cs (ICompiler.EmitNotCategory): New.
-       (Compiler.EmitNotCategory): New.  Emit OpCode.NotCategory.
-       * syntax.cs (CharacterClass.Compile): Don't conflate negation of
-       the character class and negation of the category.  Use
-       EmitNotCategory.
-       * interpreter.cs (Interpreter.Eval): Pass OpCode.NotCategory to
-       EvalChar.
-       (Interpreter.EvalChar): Handle it.
-
-2006-04-06  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #77487
-       * interpreter.cs (Eval) [Until, FastUntil]: Set 'deep' to null
-       when evaluating the tail.  Ensure that backtracks don't confuse
-       the recursion vs. iteration detector.
-
-2006-04-03  Raja R Harinath  <rharinath@novell.com>
-
-       * interpreter.cs (Eval) [Until, lazy]: Avoid extra evaluation on a
-       degenerate match.
-
-2006-03-30  Raja R Harinath  <harinath@gmail.com>
-
-       Fix #77626
-       * parser.cs (Parser.ParseCharacterClass): Don't automatically
-       assume there's a range when we see '-'.  Ensure that we have seen
-       at least one other character, and that we aren't already parsing a
-       range.  Handle some more errors.
-
-2005-12-19  Kornél Pál  <kornelpal@hotmail.com>
-
-       * Regex.cs: Added support for regular expressions compiled to
-         assemblies by compiling the pattern. This solution ignores existing
-         CIL code but provides full support for regular expression classes
-         compiled by MS.NET.
-
-2005-11-21  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * CaptureCollection.cs: Fixed length check.
-       * Group.cs: Added missing validation for Synchronized method.
-       * Match.cs: Added missing validation for Synchronized and Result 
-       methods.
-       * MatchEvaluator.cs: Added [Serializable] for 2.0 profile.
-       * RegexCompilationInfo.cs: Added missing property validation.
-       * Regex.cs: Implemented UseOptionC and UseOptionR protected methods
-       (now documented). Fixed API for 2.0 profile.
-       * RegexRunner.cs: Stubbed CharInClass for 2.0 profile.
-
-2005-11-17  Sebastien Pouliot  <sebastien@ximian.com> 
-       * Match.cs: Removed the ": base ()" on the private ctor as it is
-       unrequired and cause an extra public ctor to added (bug #76736).
-       * MatchCollection.cs: Add missing virtual to indexer property.
-
-2005-09-23  Raja R Harinath  <rharinath@novell.com>
-
-       * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Invert the
-       sense of a test to reflect the code re-organization.
-
-2005-09-22  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #72152, #72989.
-       * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Avoid some
-       cases of recursion when dealing with eager quantifiers too.  We
-       now avoid recursion when handling the innermost quantifier.
-       (Interpreter.IntStack, Interpreter.stack): New.  Stack to help
-       implement backtracking in eager quantifiers.
-
-2005-09-21  Raja R Harinath  <rharinath@novell.com>
-
-       * interpreter.cs (Interpreter.Eval) [OpCode.Until]: Avoid some
-       cases of recursion when dealing with the minimum count and lazy
-       quantifiers.
-
-2005-08-23  Raja R Harinath  <rharinath@novell.com>
-
-       * regex.cs: Remove.  Split into ...
-       * MatchEvaluator.cs, Regex.cs, RegexCompilationInfo.cs, 
-       RegexOptions.cs: ... these.  Now every publicly exposed type in
-       this namespace has its own file.
-
-2005-07-21  Florian Gross  <flgr@ccan.de>
-
-       * Fixed a bug in category.cs that caused ECMAScript \d to fail.
-
-2005-07-13  Raja R Harinath  <rharinath@novell.com>
-
-       Make even more lazier.
-       * MatchCollection.cs (TryToGet): Don't generate match i+1 when
-       we're looking for match i.  Change post-conditions.
-       (FullList): New helper property.  Ensures the list is fully populated.
-       (Count, CopyTo): Use it.
-       (Enumerator.Current): Update to new post-conditions of TryToGet.
-       (Enumerator.MoveNext): Likewise.  Don't modify index if we're
-       beyond the end.
-
-2005-07-08  Raja R Harinath  <rharinath@novell.com>
-
-       * MatchCollection.cs: Convert to incremental mode.
-       * regex.cs (Regex.Matches): Update.  Pass responsibility of
-       generating all matches to MatchCollection.
-
-2005-06-14  Raja R Harinath  <harinath@gmail.com>
-
-       * parser.cs (Parser.ConsumeWhitespace): Add bounds check.
-
-       Fix #74753.
-       * Match.cs (Match) [zero-argument variant]: Make private.
-       * GroupCollection (Item) [string variant]: Don't look for the
-       group number in an empty match.
-
-2005-06-10  Raja R Harinath  <rharinath@novell.com>
-
-       * interpreter.cs (Interpreter.GenerateMatch): Avoid allocating two
-       intermediate arrays to build the final result.
-       (Interpreter.GetGroupInfo, Interpreter.PopulateGroup): New helper
-       functions.
-       * CaptureCollection.cs (list): Change from ArrayList to list.
-       (SetValue): New internal helper, used by Interpreter.PopulateGroup.
-       (Enumerator): Remove helper class.
-       (IEnumerator.GetEnumerator): Just use list.GetEnumerator.
-       * GroupCollection.cs: Likewise.
-       * Group.cs (Group): Move responsibility of populating 'Captures'
-       to Interpreter.PopulateGroup.
-       * Match.cs (Match): Move responsibility of populating 'Groups' to
-       Interpreter.GenerateMatch.
-
-2005-05-25  Raja R Harinath  <rharinath@novell.com>
-
-       * replace.cs (ReplacementEvaluator.Compile): Rewrite to avoid
-       creating several intermediate strings.  Simplify internal
-       intermediate representation.
-       (ReplacementEvaluator.EvaluateAppend): New.  Version of Evaluate
-       that builds the result directly on a passed-in StringBuilder.
-       (ReplacementEvaluator.Evaluate): Just a wrapper around
-       EvaluateAppend.
-       * regex.cs (MatchAppendEvaluator): New internal delegate.
-       (Regex.Replace): Use MatchAppendEvaluator.
-       (Regex.Adapter): New class used to adapt a MatchEvaluator to a
-       MatchAppendEvaluator.
-
-2005-05-24  Raja R Harinath  <rharinath@novell.com>
-
-       * replace.cs (ReplacementEvaluator.CompileTerm): Fix group
-       returned by $+.
-
-2005-05-20  Ben Maurer  <bmaurer@ximian.com>
-
-       * regex.cs: Some memory allocation optimizations.
-
-2005-05-20  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #74735.
-       * replace.cs (ReplacementEvaluator.Compile): Allow CompileTerm to
-       fail and yet have advanced the pointer.  Append the scanned-over
-       portion to the "literal" being built.
-       (ReplacementEvaluator.CompileTerm): Don't throw any exceptions.
-       If a term cannot be recognized, just return null.
-
-       * compiler.cs (InterpreterFactory.GroupCount): Fix.  The 0'th
-       index corresponds to Opcode.Info.
-
-       * parser.cs (Parser.Unescape): If the string doesn't contain any
-       '\' character, don't allocate a new string.
-
-       * replace.cs (ReplacementEvalutator.Term.AppendResult): Rename
-       from GetResult.  Append to a passed-in StringBuilder rather than
-       return a string.
-       (ReplacementEvaluator.Evaluate): Update.
-       
-       * Capture.cs, Group.cs, Match.cs: New files split out of ...
-       * match.cs: ... this.  Remove.
-
-2005-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: stuff inside {} might not be a quantifier. Fixes
-       bug #69193.
-
-2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * quicksearch.cs: handle IgnoreCase when getting the shift distance.
-       Fixes bug #69065. Patch by mei@work.email.ne.jp.
-
-2005-01-08  Miguel de Icaza  <miguel@ximian.com>
-
-       * syntax.cs: Applied patch from mei@work.email.ne.jp to fix bug
-       #71077.
-
-       * parser.cs: Turns out that \digit sequences are octal sequences
-       (no leading zero is needed);  And the three octal digit rule
-       applies to the leading zero as well.
-
-       This fixes the Unescape method.
-
-2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * regex.cs: use NextMatch to move on to the next match. Fixes bug
-       #57274.
-
-2004-11-09  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * parser.cs : cast.
-
-2004-11-08  Ben Maurer  <bmaurer@ximian.com>
-
-       * replace.cs, parser.cs: Use stringbuilder for allocation sanity.
-
-2004-10-21  Joerg Rosenkranz  <joergr@voelcker.com>
-
-       * regex.cs: Fixed a bug introduced with the last patch which
-       prevented any replacements when a postive count is given.
-       This also happens in all overloads without count parameter.
-
-2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * regex.cs: in Replace, when count is negative, replacement continues
-       to the end of the string.
-
-       Fixes bug #68398. Patch by Jon Larimer.
-
-2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
-
-       * RegexRunner.cs: fixed case mismatch of methods
-
-2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
-
-       * RegexRunner.cs: marked TODO, added missing protected internal
-       fields, throw NotImplementedException in all methods
-
-2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
-
-       * RegexRunnerFactory.cs: removed comment, no longer throw exception
-       from ctor
-       * regex.cs: fixed public API signature by renaming protected 
-       internal fields and adding destructor, added MonoTODO attribute to
-       fields and method that are not yet implemented, changed not 
-       implemented methods to throw NotImplementedException instead of
-       Exception, fixed names of field that are serialized
-
-2004-06-06  Jambunathan K <kjambunathan@novell.com>
-       
-       * parser.cs: Fixed issues with Regex.Unescape() identified as part of
-       debugging bug #58256. The original problem reported was about
-       inconsistency between the way we treat replacement patterns and the 
-       way microsoft treats the replacement patterns in Regex.Replace(). MS
-       implementation is buggy and doesn't honour escape sequences in the
-       replacement patterns, even though the SDK claims otherwise.
-
-       
-2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * syntax.cs: re-applied my patch from 2004-05-27 plus a fix which is
-       emitting a Category.All if both a category and its negated value are
-       present.
-
-2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * syntax.cs: reverting my previous patch. It causes bigger problems.
-
-2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * category.cs: added LastValue field to mark the end of enum Category.
-       * syntax.cs: in CharacterClass, use Category.LastValue to get the size
-       of the array needed. Use a BitArray instead of bool[].
-       In AddCategory(), don't set the opposite category as false. Fixes
-       bug #59150. All tests pass.
-
-2004-05-25  Jackson Harper  <jackson@ximian.com>
-
-       * parser.cs: Allow creating a regular expression using {,n} as the
-       specified. The min bounds is set to -1, I am not completely sure
-       if that is what it is supposed to be but MS does not set it to 0
-       based on testing. Patch by dave-gnome-bugs@earth.li. Fixes bug #56761.
-
-2004-05-12  Dick Porter  <dick@ximian.com>
-
-       * regex.cs: 
-       * quicksearch.cs: 
-       * RegexRunnerFactory.cs: 
-       * RegexRunner.cs: More public API difference fixes.
-
-       * GroupCollection.cs: 
-       * MatchCollection.cs: 
-       * CaptureCollection.cs: Moved GroupCollection, MatchCollection and
-       CaptureCollection so that they no longer inherit from the
-       non-standard RegexCollectionBase class.  Fixes the API difference.
-
-2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * arch.cs:
-       * compiler.cs:
-       * interpreter.cs:
-       * parser.cs:
-       * syntax.cs:
-       Patch by Eric Durand Tremblay.
-       1) Capture inner group when named.
-       2) Resolved parse error caused by not capturing inner group
-       3) Resolved incorrect capture group
-       4) Now, not capturing anything when unnamed ( correct behavior)
-
-
-2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * arch.cs:
-       * compiler.cs:
-       * interpreter.cs:
-       * parser.cs:
-       * syntax.cs: converted to unix line endings.
-
-2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
-
-       * collections.cs: In the indexer, return an empty group if the requested
-       group is not found.
-       * match.cs: Added default constructor for Group.
-       
-2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: fixed group numbering.
-
-2004-03-22  Jackson Harper  <jackson@ximian.com>
-
-       * parser.cs: Use the group number as the name in mapping. Patch by
-       Gert Driesen.
-       * regex.cs: Fix off by one error. Patch by Gert Driesen.
-
-2004-03-17  Francois Beauchemin <beauche@softhome.net>
-       * syntax.cs, interpreter.cs, quicksearch.cs, regex.cs, compiler.cs : 
-               Revised support for RigthToLeft. 
-               quicksearch has now an reverse option.          
-               This fixes bug #54537 
-       * regex.cs, compiler.cs :
-               Some code to support CILCompiler.               
-       * regex.cs : 
-               Added some undocumented of MS.
-2004-03-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797.
-
-2004-02-01  Miguel de Icaza  <miguel@ximian.com>
-
-       * syntax.cs, interval.cs: Applied patch from Marco Cravairo
-       through Francois Beauchemin who reviewed on the mailing list.
-       This fixes bug #45976
-
-2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: an opening brace without a
-       quantifier do not cause a parse error. Fixes bug #52924.
-
-2004-01-07  Lluis Sanchez Gual <lluis@ximian.com>
-
-       * regex.cs: In Split(), if the last match is at the end of the string, 
-       an empty string must be added to the array of results.
-
-2003-12-15  Sanjay Gupta <gsanjay@novell.com>
-       * match.cs: Check for null value before Substring method call.  
-       Fixes bug #52034.
-
-2003-11-21  Juraj Skripsky <js@hotfeet.ch>
-
-       * quicksearch.cs: Create and use hashtable only for "long" search 
-       strings. 
-
-       (Search): Use simple scan for a single-character search strings.
-       
-       (GetChar): Simplify case sensitivity handling.
-
-2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * interpreter.cs: when evaluating a degenerate match, restore the
-       RepeatContext if fail. Fixes bug #42529.
-
-2003-11-22  Jackson Harper <jackson@ximian.com>
-
-       * regex.cs: Add CultureInvariant flag to RegexOptions.
-       
-2003-11-20  Juraj Skripsky <js@hotfeet.ch>
-
-       * quicksearch.cs: Use a hashtable instead of an array for the
-       shift table to improve the memory usage.  
-
-2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * regex.cs:
-       (Split): include capture groups in the results, if any. Fixes bug
-       #51146.
-
-2003-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * regex.cs: patch from Eric Lindvall <eric@5stops.com> that fixes bug
-       #44830.
-
-2003-03-05  Miguel de Icaza  <miguel@ximian.com>
-
-       * category.cs (CategoryUtils.CategoryFromName): Use StartsWith
-       ("Is") instead of a substring for (0,2) which was throwing an
-       exception causing Category.None to be returned
-
-2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * collections.cs: fixed bug #30091.
-
-2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * regex.cs: fixed little mistake (closes #35860).
-
-2002-11-12 Jackson Harper <jackson@latitudegeo.com>
-
-       * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories
-
-2002-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
-
-2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * parser.cs: applied fix from Tim Haynes (thaynes@openlinksw.com) to
-       solve bug #32807. Also modified GetMapping to return the same as MS.
-
-2002-08-28  Juli Mallett  <jmallett@FreeBSD.org>
-
-       * arch.cs, compiler.cs: Give the interpreter machine a property
-       for the retrieval of the group count.
-
-       * regex.cs: Use the new GroupCount property of the factory to
-       initialise the current group count, and restructure code to compile
-       the pattern only the first time it is needed (essentially backing
-       out the previous revision of regex.cs, to use the new code.)
-
-2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
-
-       * regex.cs: Added the ctr for ISerializable implementation and
-       implemented the GetObjectData function.
-
-2002-07-30  Juli Mallett  <jmallett@FreeBSD.org>
-
-       * regex.cs: Fixed bug where the expression would not be
-       re-evaluated for grouping purposes when factory caches were
-       used, resulting in no groups being recognised after one call
-       with a given pattern and no change in options.
-
-2002-05-13  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * regex.cs: Fixed bug in split.
-
-2002-05-08  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * interpreter.cs: Moved to an array-based stack representation
-       for faster captures.
-
-       * match.cs, collections.cs: Decoupled capture representation from
-       interpreter internals.
-
-       * cache.cs: Changed Key type from struct to class for speed.
-
-2002-04-06  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * cache.cs: Object methods should be overridden with "override".
-
-2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs
-       added for completeness.
-
-       * regex.cs, match.cs, collections.cs: Serializable attribute.
-
-2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * regex.cs: Added static Matches and IsMatch methods.
-
-2002-04-03  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * ChangeLog: Added changelog.
-
-       * cache.cs: Fixed bug in MRUList.Evict.
diff --git a/mcs/class/System/System.Text.RegularExpressions/Group.cs b/mcs/class/System/System.Text.RegularExpressions/Group.cs
deleted file mode 100644 (file)
index ca7c74a..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       Group.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Text.RegularExpressions {
-
-       [Serializable]
-       public partial class Group : Capture {
-
-               [MonoTODO ("not thread-safe")]
-               public static Group Synchronized (Group inner)
-               {
-                       if (inner == null)
-                               throw new ArgumentNullException ("inner");
-                       return inner;
-               }
-
-               internal static Group Fail = new Group ();
-               public CaptureCollection Captures {
-                       get { return captures; }
-               }
-               public bool Success {
-                       get { return success; }
-               }
-
-               // internal
-               internal Group (string text, int index, int length, int n_caps) : base (text, index, length)
-               {
-                       success = true;
-                       captures = new CaptureCollection (n_caps);
-                       captures.SetValue (this, n_caps - 1);
-               }
-
-               internal Group (string text, int index, int length) : base (text, index, length)
-               {
-                       success = true;
-               }
-               
-               internal Group () : base ("")
-               {
-                       success = false;
-                       captures = new CaptureCollection (0);
-               }
-
-               private bool success;
-               private CaptureCollection captures;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/GroupCollection.cs b/mcs/class/System/System.Text.RegularExpressions/GroupCollection.cs
deleted file mode 100644 (file)
index 66f709f..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// System.Text.RegularExpressions.GroupCollection
-//
-// Authors:
-//     Dan Lewis (dlewis@gmx.co.uk)
-//     Dick Porter (dick@ximian.com)
-//
-// (C) 2002 Dan Lewis
-// (C) 2004 Novell, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace System.Text.RegularExpressions 
-{
-       [Serializable]
-       public class GroupCollection: ICollection, IEnumerable
-       {
-               private Group [] list;
-               private int gap;
-
-               /* No public constructor */
-               internal GroupCollection (int n, int gap)
-               {
-                       list = new Group [n];
-                       this.gap = gap;
-               }
-
-               public int Count {
-                       get { return list.Length; }
-               }
-
-               public bool IsReadOnly {
-                       get { return true; }
-               }
-
-               public bool IsSynchronized {
-                       get { return false; }
-               }
-
-               public Group this [int groupnum] {
-                       get {
-                               if (groupnum >= gap) {
-                                       Match m = (Match) list [0];
-                                       groupnum = m == Match.Empty ? -1 : m.Regex.GetGroupIndex (groupnum);
-                               }
-                               return groupnum < 0 ? Group.Fail : list [groupnum];
-                       }
-               }
-
-               internal void SetValue (Group g, int i)
-               {
-                       list [i] = g;
-               }
-
-               public Group this [string groupName] {
-                       get {
-                               // The 0th group is the match.
-                               Match m = (Match) list [0];
-                               if (m != Match.Empty) {
-                                       int number = m.Regex.GroupNumberFromName (groupName);
-                                       if (number != -1)
-                                               return this [number];
-                               }
-
-                               return Group.Fail;
-                       }
-               }
-
-               public object SyncRoot {
-                       get { return list; }
-               }
-
-               public void CopyTo (Array array, int arrayIndex)
-               {
-                       list.CopyTo (array, arrayIndex);
-               }
-
-               public IEnumerator GetEnumerator ()
-               {
-                       return list.GetEnumerator ();
-               }
-       }
-}
-
-               
-               
diff --git a/mcs/class/System/System.Text.RegularExpressions/JvmReMachineFactory.cs b/mcs/class/System/System.Text.RegularExpressions/JvmReMachineFactory.cs
deleted file mode 100644 (file)
index 184aefb..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// JvmReMachineFactory.jvm.cs
-//
-// Author:
-//     Arina Itkes  <arinai@mainsoft.com>
-//
-// Copyright (C) 2007 Mainsoft, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using System;
-using System.Collections;
-using System.Text;
-
-namespace System.Text.RegularExpressions
-{
-       sealed class JvmReMachineFactory : IMachineFactory
-       {
-               readonly JvmReMachine _machine;
-
-               public JvmReMachineFactory (PatternData patternData) {
-                       _machine = new JvmReMachine (patternData);
-               }
-
-               public IMachine NewInstance () {
-                       return _machine;
-               }
-
-               public JvmReMachine GetMachine () {
-                       return _machine;
-               }
-
-               public IDictionary Mapping {
-                       get { return _machine.Mapping; }
-                       set { throw new NotImplementedException ("Mapping setter of JvmReMachineFactory should not be called."); }//We must implement the setter of interface but it is not in use
-               }
-
-               public string [] NamesMapping {
-                       get { return _machine.NamesMapping; }
-                       set { throw new NotImplementedException ("NamesMapping setter of JvmReMachineFactory should not be called."); }//We must implement the setter of interface but it is not in use
-               }
-
-               public int GroupCount {
-                       get { return _machine.GroupCount; }
-               }
-
-               public int Gap {
-                       // FIXME: fix definition once JvmMachine is updated
-                       get { return 1 + GroupCount; }
-                       set { throw new NotImplementedException ("Gap setter of JvmReMachineFactory should not be called."); }//We must implement the setter of interface but it is not in use
-               }
-       }
-}
\ No newline at end of file
diff --git a/mcs/class/System/System.Text.RegularExpressions/Match.cs b/mcs/class/System/System.Text.RegularExpressions/Match.cs
deleted file mode 100644 (file)
index e5a232a..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       Match.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Text.RegularExpressions {
-
-       [Serializable]
-       public partial class Match : Group {
-               public static Match Empty {
-                       get { return empty; }
-               }
-
-               [MonoTODO ("not thread-safe")]
-               public static Match Synchronized (Match inner)
-               {
-                       if (inner == null)
-                               throw new ArgumentNullException ("inner");
-                       return inner;   // FIXME need to sync on machine access
-               }
-               
-               public virtual GroupCollection Groups {
-                       get { return groups; }
-               }
-
-               public Match NextMatch ()
-               {
-                       if (this == Empty)
-                               return Empty;
-
-                       int scan_ptr = regex.RightToLeft ? Index : Index + Length;
-
-                       // next match after an empty match: make sure scan ptr makes progress
-                       
-                       if (Length == 0)
-                               scan_ptr += regex.RightToLeft ? -1 : +1;
-
-                       return machine.Scan (regex, Text, scan_ptr, text_length);
-               }
-
-               public virtual string Result (string replacement)
-               {
-                       if (replacement == null)
-                               throw new ArgumentNullException ("replacement");
-                       if (machine == null)
-                               throw new NotSupportedException ("Result cannot be called on failed Match.");
-
-                       return machine.Result (replacement, this);
-               }
-
-               // internal
-
-               private Match ()
-               {
-                       this.regex = null;
-                       this.machine = null;
-                       this.text_length = 0;
-
-                       this.groups = new GroupCollection (1, 1);
-                       groups.SetValue (this, 0);
-               }
-
-               internal Match (Regex regex, IMachine machine, string text, int text_length, int n_groups, 
-                               int index, int length) :
-                       base (text, index, length) {
-                       this.regex = regex;
-                       this.machine = machine;
-                       this.text_length = text_length;
-               }
-               internal Match (Regex regex, IMachine machine, string text, int text_length, int n_groups, 
-                               int index, int length, int n_caps) :
-                       base (text, index, length, n_caps)
-               {
-                       this.regex = regex;
-                       this.machine = machine;
-                       this.text_length = text_length;
-
-                       this.groups = new GroupCollection (n_groups, regex.Gap);
-                       groups.SetValue (this, 0);
-               }
-               internal Regex Regex {
-                       get { return regex; }
-               }
-
-               // private
-
-               private Regex regex;
-               private IMachine machine;
-               private int text_length;
-               private GroupCollection groups;
-
-               private static Match empty = new Match ();
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/MatchCollection.cs b/mcs/class/System/System.Text.RegularExpressions/MatchCollection.cs
deleted file mode 100644 (file)
index 5cc0a73..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-//
-// System.Text.RegularExpressions.MatchCollection
-//
-// Authors:
-//     Dan Lewis (dlewis@gmx.co.uk)
-//     Dick Porter (dick@ximian.com)
-//
-// (C) 2002 Dan Lewis
-// (C) 2004 Novell, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace System.Text.RegularExpressions
-{
-       [Serializable]
-       public class MatchCollection: ICollection, IEnumerable {
-               private Match current;
-
-               // Stores all the matches before 'current'.  If !current.Success, it has all the successful matches.
-               private ArrayList list;
-
-               /* No public constructor */
-               internal MatchCollection (Match start)
-               {
-                       current = start;
-                       list = new ArrayList ();
-               }
-
-               public int Count {
-                       get { return FullList.Count; }
-               }
-
-               public bool IsReadOnly {
-                       get { return true; }
-               }
-
-               public bool IsSynchronized {
-                       get { return false; }
-               }
-
-
-               public virtual Match this [int i] {
-                       get {
-                               if (i < 0 || !TryToGet (i))
-                                       throw new ArgumentOutOfRangeException ("i");
-                               return i < list.Count ? (Match) list [i] : current;
-                       }
-               }
-
-               public object SyncRoot {
-                       get { return list; }
-               }
-
-               public void CopyTo (Array array, int arrayIndex)
-               {
-                       FullList.CopyTo (array, arrayIndex);
-               }
-
-               public IEnumerator GetEnumerator ()
-               {
-                       // If !current.Success, the list is fully populated.  So, just use it.
-                       return current.Success ? new Enumerator (this) : list.GetEnumerator ();
-               }
-
-               // Returns true when: i < list.Count                     => this [i] == list [i]
-               //                    i == list.Count && current.Success => this [i] == current
-               private bool TryToGet (int i)
-               {
-                       while (i > list.Count && current.Success) {
-                               list.Add (current);
-                               current = current.NextMatch ();
-                       }
-                       // Here we have: !(i > list.Count && current.Success)
-                       // or in a slightly more useful form: i > list.Count => current.Success == false
-                       return i < list.Count || current.Success;
-               }
-
-               private ICollection FullList {
-                       get {
-                               if (TryToGet (Int32.MaxValue)) {
-                                       // list.Count == Int32.MaxValue && current.Success
-                                       // i.e., we have more than Int32.MaxValue matches.
-                                       // We can't represent that number with Int32.
-                                       throw new SystemException ("too many matches");
-                               }
-                               return list;
-                       }
-               }
-
-               class Enumerator : IEnumerator {
-                       int index;
-                       MatchCollection coll;
-
-                       internal Enumerator (MatchCollection coll)
-                       {
-                               this.coll = coll;
-                               index = -1;
-                       }
-
-                       void IEnumerator.Reset ()
-                       {
-                               index = -1;
-                       }
-
-                       object IEnumerator.Current {
-                               get {
-                                       if (index < 0)
-                                               throw new InvalidOperationException ("'Current' called before 'MoveNext()'");
-                                       if (index > coll.list.Count)
-                                               throw new SystemException ("MatchCollection in invalid state");
-                                       if (index == coll.list.Count && !coll.current.Success)
-                                               throw new InvalidOperationException ("'Current' called after 'MoveNext()' returned false");
-                                       return index < coll.list.Count ? coll.list [index] : coll.current;
-                               }
-                       }
-
-                       bool IEnumerator.MoveNext ()
-                       {
-                               if (index > coll.list.Count)
-                                       throw new SystemException ("MatchCollection in invalid state");
-                               if (index == coll.list.Count && !coll.current.Success)
-                                       return false;
-                               return coll.TryToGet (++index);
-                       }
-               }
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/MatchEvaluator.cs b/mcs/class/System/System.Text.RegularExpressions/MatchEvaluator.cs
deleted file mode 100644 (file)
index 1e88943..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       regex.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Text.RegularExpressions {
-
-       [Serializable]
-       public delegate string MatchEvaluator (Match match);
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/Regex.cs b/mcs/class/System/System.Text.RegularExpressions/Regex.cs
deleted file mode 100644 (file)
index ac662ab..0000000
+++ /dev/null
@@ -1,686 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       regex.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Text;
-using System.Collections;
-using System.Reflection;
-#if !FULL_AOT_RUNTIME
-using System.Reflection.Emit;
-#endif
-using System.Runtime.Serialization;
-
-using RegularExpression = System.Text.RegularExpressions.Syntax.RegularExpression;
-using Parser = System.Text.RegularExpressions.Syntax.Parser;
-
-using System.Diagnostics;
-
-
-namespace System.Text.RegularExpressions {
-       
-       [Serializable]
-       public partial class Regex : ISerializable {
-
-#if !FULL_AOT_RUNTIME
-               [MonoTODO]
-               public static void CompileToAssembly (RegexCompilationInfo [] regexes, AssemblyName aname)
-               {
-                       Regex.CompileToAssembly(regexes, aname, new CustomAttributeBuilder [] {}, null);
-               }
-
-               [MonoTODO]
-               public static void CompileToAssembly (RegexCompilationInfo [] regexes, AssemblyName aname,
-                                                     CustomAttributeBuilder [] attribs)
-               {
-                       Regex.CompileToAssembly(regexes, aname, attribs, null);
-               }
-
-               [MonoTODO]
-               public static void CompileToAssembly (RegexCompilationInfo [] regexes, AssemblyName aname,
-                                                     CustomAttributeBuilder [] attribs, string resourceFile)
-               {
-                       throw new NotImplementedException ();
-                       // TODO : Make use of attribs and resourceFile parameters
-                       /*
-                       AssemblyBuilder asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly (aname, AssemblyBuilderAccess.RunAndSave);
-                       ModuleBuilder modBuilder = asmBuilder.DefineDynamicModule("InnerRegexModule",aname.Name);
-                       Parser psr = new Parser ();     
-                       
-                       System.Console.WriteLine("CompileToAssembly");
-                              
-                       for(int i=0; i < regexes.Length; i++)
-                               {
-                                       System.Console.WriteLine("Compiling expression :" + regexes[i].Pattern);
-                                       RegularExpression re = psr.ParseRegularExpression (regexes[i].Pattern, regexes[i].Options);
-                                       
-                                       // compile
-                                                                               
-                                       CILCompiler cmp = new CILCompiler (modBuilder, i);
-                                       bool reverse = (regexes[i].Options & RegexOptions.RightToLeft) !=0;
-                                       re.Compile (cmp, reverse);
-                                       cmp.Close();
-                                       
-                               }
-                      
-
-                       // Define a runtime class with specified name and attributes.
-                       TypeBuilder builder = modBuilder.DefineType("ITest");
-                       builder.CreateType();
-                       asmBuilder.Save(aname.Name);
-                       */
-               }
-#endif
-               
-               public static string Escape (string str)
-               {
-                       if (str == null)
-                               throw new ArgumentNullException ("str");
-                       return Parser.Escape (str);
-               }
-
-               public static string Unescape (string str)
-               {
-                       if (str == null)
-                               throw new ArgumentNullException ("str");
-                       return Parser.Unescape (str);
-               }
-
-               public static bool IsMatch (string input, string pattern)
-               {
-                       return IsMatch (input, pattern, RegexOptions.None);
-               }
-
-               public static bool IsMatch (string input, string pattern, RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.IsMatch (input);
-               }
-
-               public static Match Match (string input, string pattern)
-               {
-                       return Regex.Match (input, pattern, RegexOptions.None);
-               }
-
-               public static Match Match (string input, string pattern, RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.Match (input);
-               }
-
-               public static MatchCollection Matches (string input, string pattern)
-               {
-                       return Matches (input, pattern, RegexOptions.None);
-               }
-
-               public static MatchCollection Matches (string input, string pattern, RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.Matches (input);
-               }
-
-               public static string Replace (string input, string pattern, MatchEvaluator evaluator)
-               {
-                       return Regex.Replace (input, pattern, evaluator, RegexOptions.None);
-               }
-
-               public static string Replace (string input, string pattern, MatchEvaluator evaluator,
-                                             RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.Replace (input, evaluator);
-               }
-
-               public static string Replace (string input, string pattern, string replacement)
-               {
-                       return Regex.Replace (input, pattern, replacement, RegexOptions.None);
-               }
-
-               public static string Replace (string input, string pattern, string replacement,
-                                             RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.Replace (input, replacement);
-               }
-
-               public static string [] Split (string input, string pattern)
-               {
-                       return Regex.Split (input, pattern, RegexOptions.None);
-               }
-
-               public static string [] Split (string input, string pattern, RegexOptions options)
-               {
-                       Regex re = new Regex (pattern, options);
-                       return re.Split (input);
-               }
-
-               static FactoryCache cache = new FactoryCache (15);
-               public static int CacheSize {
-                       get { return cache.Capacity; }
-                       set {
-                               if (value < 0)
-                                       throw new ArgumentOutOfRangeException ("CacheSize");
-
-                               cache.Capacity = value; 
-                       }
-               }
-
-               // private
-
-
-               // constructors
-
-               // This constructor is used by compiled regular expressions that are
-               // classes derived from Regex class. No initialization required.
-               protected Regex ()
-               {
-               }
-
-               public Regex (string pattern) : this (pattern, RegexOptions.None)
-               {
-               }
-
-               public Regex (string pattern, RegexOptions options)
-               {
-                       if (pattern == null)
-                               throw new ArgumentNullException ("pattern");
-                       validate_options (options);
-                       this.pattern = pattern;
-                       this.roptions = options;
-                       Init ();
-               }
-               
-#if NET_4_5
-               [MonoTODO ("Timeouts are ignored.")]
-               public Regex (string pattern, RegexOptions options, TimeSpan matchTimeout)
-                       : this (pattern, options)
-               {
-                       MatchTimeout = matchTimeout;
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public TimeSpan MatchTimeout {
-                       get;
-                       private set;
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static bool IsMatch (
-                       string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
-               {
-                       return IsMatch (input, pattern, options);
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static Match Match (
-                       string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
-               {
-                       return Match (input, pattern, options);
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static MatchCollection Matches (
-                       string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
-               {
-                       return Matches (input, pattern, options, matchTimeout);
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static string Replace (
-                       string input, string pattern, string replacement, RegexOptions options,
-                       TimeSpan matchTimeout)
-               {
-                       return Replace (input, pattern, replacement, options);
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static string Replace (
-                       string input, string pattern, MatchEvaluator evaluator, RegexOptions options,
-                       TimeSpan matchTimeout)
-               {
-                       return Replace (input, pattern, evaluator, options);
-               }
-               
-               [MonoTODO ("Timeouts are ignored.")]
-               public static string[] Split (
-                       string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
-               {
-                       return Split (input, pattern, options);
-               }
-
-               public static readonly TimeSpan InfiniteMatchTimeout = TimeSpan.FromMilliseconds (-1);
-#endif
-
-               static void validate_options (RegexOptions options)
-               {
-                       const RegexOptions allopts =
-                               RegexOptions.None |
-                               RegexOptions.IgnoreCase |
-                               RegexOptions.Multiline |
-                               RegexOptions.ExplicitCapture |
-#if MOBILE || !NET_2_1
-                               RegexOptions.Compiled |
-#endif
-                               RegexOptions.Singleline |
-                               RegexOptions.IgnorePatternWhitespace |
-                               RegexOptions.RightToLeft |
-                               RegexOptions.ECMAScript |
-                               RegexOptions.CultureInvariant;
-
-                       const RegexOptions ecmaopts =
-                               RegexOptions.IgnoreCase |
-                               RegexOptions.Multiline |
-#if MOBILE || !NET_2_1
-                               RegexOptions.Compiled |
-#endif
-                               RegexOptions.ECMAScript;
-
-                       if ((options & ~allopts) != 0)
-                               throw new ArgumentOutOfRangeException ("options");
-                       if ((options & RegexOptions.ECMAScript) != 0 && (options & ~ecmaopts) != 0)
-                               throw new ArgumentOutOfRangeException ("options");
-               }
-
-               private void Init ()
-               {
-                       this.machineFactory = cache.Lookup (this.pattern, this.roptions);
-
-                       if (this.machineFactory == null) {
-                               InitNewRegex();
-                       } else {
-                               this.group_count = this.machineFactory.GroupCount;
-                               this.gap = this.machineFactory.Gap;
-                               this.mapping = this.machineFactory.Mapping;
-                               this.group_names = this.machineFactory.NamesMapping;
-                       }
-               }
-
-               private void InitNewRegex () 
-               {
-                       this.machineFactory = CreateMachineFactory (this.pattern, this.roptions);
-                       cache.Add (this.pattern, this.roptions, this.machineFactory);
-                       this.group_count = machineFactory.GroupCount;
-                       this.gap = this.machineFactory.Gap;
-                       this.mapping = machineFactory.Mapping;
-                       this.group_names = this.machineFactory.NamesMapping;
-               }
-
-#if !NET_2_1
-               // The new rx engine seems to be working now, but
-               // potential problems are being tracked down here:
-               // https://bugzilla.novell.com/show_bug.cgi?id=470827
-               static readonly bool old_rx =
-                       Environment.GetEnvironmentVariable ("MONO_NEW_RX") == null;
-#endif
-
-               private static IMachineFactory CreateMachineFactory (string pattern, RegexOptions options) 
-               {
-                       Parser psr = new Parser ();
-                       RegularExpression re = psr.ParseRegularExpression (pattern, options);
-
-#if NET_2_1
-                       ICompiler cmp = new PatternCompiler ();
-#else
-                       ICompiler cmp;
-                       if (!old_rx) {
-                               if ((options & RegexOptions.Compiled) != 0)
-                                       cmp = new CILCompiler ();
-                               else
-                                       cmp = new RxCompiler ();
-                       } else {
-                               cmp = new PatternCompiler ();
-                       }
-#endif
-
-                       re.Compile (cmp, (options & RegexOptions.RightToLeft) != 0);
-
-                       IMachineFactory machineFactory = cmp.GetMachineFactory ();
-                       Hashtable mapping = new Hashtable ();
-                       machineFactory.Gap = psr.GetMapping (mapping);
-                       machineFactory.Mapping = mapping;
-                       machineFactory.NamesMapping = GetGroupNamesArray (machineFactory.GroupCount, machineFactory.Mapping);
-
-                       return machineFactory;
-               }
-
-               protected Regex (SerializationInfo info, StreamingContext context) :
-                       this (info.GetString ("pattern"), 
-                             (RegexOptions) info.GetValue ("options", typeof (RegexOptions)))
-               {
-               }
-
-               // public instance properties
-               
-               public RegexOptions Options {
-                       get { return roptions; }
-               }
-
-               public bool RightToLeft {
-                       get { return (roptions & RegexOptions.RightToLeft) != 0; }
-               }
-
-               // public instance methods
-               
-               public string [] GetGroupNames ()
-               {
-                       string [] names = new string [1 + group_count];
-                       Array.Copy (group_names, names, 1 + group_count);
-                       return names;
-               }
-
-               public int [] GetGroupNumbers ()
-               {
-                       int [] numbers = new int [1 + group_count];
-                       Array.Copy (GroupNumbers, numbers, 1 + group_count);
-                       return numbers;
-               }
-
-               public string GroupNameFromNumber (int i)
-               {
-                       i = GetGroupIndex (i);
-                       if (i < 0)
-                               return "";
-
-                       return group_names [i];
-               }
-
-               public int GroupNumberFromName (string name)
-               {
-                       if (!mapping.Contains (name))
-                               return -1;
-                       int i = (int) mapping [name];
-                       if (i >= gap)
-                               i = Int32.Parse (name);
-                       return i;
-               }
-
-               internal int GetGroupIndex (int number)
-               {
-                       if (number < gap)
-                               return number;
-                       if (gap > group_count)
-                               return -1;
-                       return Array.BinarySearch (GroupNumbers, gap, group_count - gap + 1, number);
-               }
-
-               int default_startat (string input)
-               {
-                       return (RightToLeft && input != null) ? input.Length : 0;
-               }
-
-               // match methods
-               
-               public bool IsMatch (string input)
-               {
-                       return IsMatch (input, default_startat (input));
-               }
-
-               public bool IsMatch (string input, int startat)
-               {
-                       return Match (input, startat).Success;
-               }
-
-               public Match Match (string input)
-               {
-                       return Match (input, default_startat (input));
-               }
-
-               public Match Match (string input, int startat)
-               {
-                       if (input == null)
-                               throw new ArgumentNullException ("input");
-                       if (startat < 0 || startat > input.Length)
-                               throw new ArgumentOutOfRangeException ("startat");
-                       return CreateMachine ().Scan (this, input, startat, input.Length, false);
-               }
-
-               public Match Match (string input, int beginning, int length)
-               {
-                       if (input == null)
-                               throw new ArgumentNullException ("input");
-                       if (beginning < 0 || beginning > input.Length)
-                               throw new ArgumentOutOfRangeException ("beginning");
-                       if (length < 0 || length > input.Length - beginning)
-                               throw new ArgumentOutOfRangeException ("length");
-                       return CreateMachine ().Scan (this, input, beginning, beginning + length, true);
-               }
-
-               public MatchCollection Matches (string input)
-               {
-                       return Matches (input, default_startat (input));
-               }
-
-               public MatchCollection Matches (string input, int startat)
-               {
-                       Match m = Match (input, startat);
-                       return new MatchCollection (m);
-               }
-
-               // replace methods
-
-               public string Replace (string input, MatchEvaluator evaluator)
-               {
-                       return Replace (input, evaluator, Int32.MaxValue, default_startat (input));
-               }
-
-               public string Replace (string input, MatchEvaluator evaluator, int count)
-               {
-                       return Replace (input, evaluator, count, default_startat (input));
-               }
-
-               class Adapter {
-                       MatchEvaluator ev;
-                       public Adapter (MatchEvaluator ev) { this.ev = ev; }
-                       public void Evaluate (Match m, StringBuilder sb) { sb.Append (ev (m)); }
-               }
-
-               public string Replace (string input, MatchEvaluator evaluator, int count, int startat)
-               {
-                       if (input == null)
-                               throw new ArgumentNullException ("input");
-                       if (evaluator == null)
-                               throw new ArgumentNullException ("evaluator");
-                       if (count < -1)
-                               throw new ArgumentOutOfRangeException ("count");
-                       if (startat < 0 || startat > input.Length)
-                               throw new ArgumentOutOfRangeException ("startat");
-
-                       BaseMachine m = (BaseMachine)CreateMachine ();
-
-                       if (RightToLeft)
-                               return m.RTLReplace (this, input, evaluator, count, startat);
-
-                       // NOTE: If this is a cause of a lot of allocations, we can convert it to
-                       //       use a ThreadStatic allocation mitigator
-                       Adapter a = new Adapter (evaluator);
-
-                       return m.LTRReplace (this, input, new BaseMachine.MatchAppendEvaluator (a.Evaluate),
-                                                                count, startat);
-               }
-
-               public string Replace (string input, string replacement)
-               {
-                       return Replace (input, replacement, Int32.MaxValue, default_startat (input));
-               }
-
-               public string Replace (string input, string replacement, int count)
-               {
-                       return Replace (input, replacement, count, default_startat (input));
-               }
-
-               public string Replace (string input, string replacement, int count, int startat)
-               {
-                       if (input == null)
-                               throw new ArgumentNullException ("input");
-                       if (replacement == null)
-                               throw new ArgumentNullException ("replacement");
-                       if (count < -1)
-                               throw new ArgumentOutOfRangeException ("count");
-                       if (startat < 0 || startat > input.Length)
-                               throw new ArgumentOutOfRangeException ("startat");
-
-                       return CreateMachine ().Replace (this, input, replacement, count, startat);
-               }
-
-               // split methods
-
-               public string [] Split (string input)
-               {
-                       return Split (input, Int32.MaxValue, default_startat (input));
-               }
-
-               public string [] Split (string input, int count)
-               {
-                       return Split (input, count, default_startat (input));
-               }
-
-               public string [] Split (string input, int count, int startat)
-               {
-                       if (input == null)
-                               throw new ArgumentNullException ("input");
-                       if (count < 0)
-                               throw new ArgumentOutOfRangeException ("count");
-                       if (startat < 0 || startat > input.Length)
-                               throw new ArgumentOutOfRangeException ("startat");
-
-                       return CreateMachine ().Split (this, input, count, startat);
-               }
-
-               // This method is called at the end of the constructor of compiled
-               // regular expression classes to do internal initialization.
-               protected void InitializeReferences ()
-               {
-                       if (refsInitialized)
-                               throw new NotSupportedException ("This operation is only allowed once per object.");
-
-                       refsInitialized = true;
-
-                       // Compile pattern that results in performance loss as existing
-                       // CIL code is ignored but provides support for regular
-                       // expressions compiled to assemblies.
-                       Init ();
-               }
-#if !NET_2_1
-               protected bool UseOptionC ()
-               {
-                       return ((roptions & RegexOptions.Compiled) != 0);
-               }
-#endif
-               protected bool UseOptionR ()
-               {
-                       return ((roptions & RegexOptions.RightToLeft) != 0);
-               }
-
-               // object methods
-               
-               public override string ToString ()
-               {
-                       return pattern;
-               }
-
-               // ISerializable interface
-               void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
-               {
-                       info.AddValue ("pattern", this.ToString (), typeof (string));
-                       info.AddValue ("options", this.Options, typeof (RegexOptions));
-               }
-
-               // internal
-
-               internal int GroupCount {
-                       get { return group_count; }
-               }
-
-               internal int Gap {
-                       get { return gap; }
-               }
-
-               // private
-
-               private IMachine CreateMachine ()
-               {
-                       return machineFactory.NewInstance ();
-               }
-
-               private static string [] GetGroupNamesArray (int groupCount, IDictionary mapping) 
-               {
-                       string [] group_names = new string [groupCount + 1];
-                       IDictionaryEnumerator de = mapping.GetEnumerator ();
-                       while (de.MoveNext ())
-                               group_names [(int) de.Value] = (string) de.Key;
-                       return group_names;
-               }
-
-               private int [] GroupNumbers {
-                       get {
-                               if (group_numbers == null) {
-                                       group_numbers = new int [1 + group_count];
-                                       for (int i = 0; i < gap; ++i)
-                                               group_numbers [i] = i;
-                                       for (int i = gap; i <= group_count; ++i)
-                                               group_numbers [i] = Int32.Parse (group_names [i]);
-                                       return group_numbers;
-                               }
-                               return group_numbers;
-                       }
-               }
-
-               private IMachineFactory machineFactory;
-               private IDictionary mapping;
-               private int group_count;
-               private int gap;
-               private bool refsInitialized;
-               private string [] group_names;
-               private int [] group_numbers;
-               
-               // protected members
-
-               protected internal string pattern;
-               protected internal RegexOptions roptions;
-               
-               // MS undocumented members
-#if NET_2_1
-               [MonoTODO]
-               internal System.Collections.Generic.Dictionary<string, int> capnames;
-               [MonoTODO]
-               internal System.Collections.Generic.Dictionary<int, int> caps;
-#else
-               [MonoTODO]
-               protected internal System.Collections.Hashtable capnames;
-               [MonoTODO]
-               protected internal System.Collections.Hashtable caps;
-
-               [MonoTODO]
-               protected internal RegexRunnerFactory factory;
-#endif
-               [MonoTODO]
-               protected internal int capsize;
-               [MonoTODO]
-               protected internal string [] capslist;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexCompilationInfo.cs b/mcs/class/System/System.Text.RegularExpressions/RegexCompilationInfo.cs
deleted file mode 100644 (file)
index 2addae0..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       regex.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Text.RegularExpressions {
-
-       [Serializable]
-       public class RegexCompilationInfo {
-
-               public RegexCompilationInfo (string pattern, RegexOptions options, string name, string fullnamespace, bool ispublic)
-               {
-                       Pattern = pattern;
-                       Options = options;
-                       Name = name;
-                       Namespace = fullnamespace;
-                       IsPublic = ispublic;
-               }
-
-               public bool IsPublic {
-                       get { return isPublic; }
-                       set { isPublic = value; }
-               }
-
-               public string Name {
-                       get { return name; }
-                       set {
-                               if (value == null)
-                                       throw new ArgumentNullException ("Name");
-                               if (value.Length == 0)
-                                       throw new ArgumentException ("Name");
-                               name = value;
-                       }
-               }
-
-               public string Namespace {
-                       get { return nspace; }
-                       set {
-                               if (value == null)
-                                       throw new ArgumentNullException ("Namespace");
-                               nspace = value;
-                       }
-               }
-
-               public RegexOptions Options {
-                       get { return options; }
-                       set { options = value; }
-               }
-
-               public string Pattern {
-                       get { return pattern; }
-                       set {
-                               if (value == null)
-                                       throw new ArgumentNullException ("pattern");
-                               pattern = value;
-                       }
-               }
-
-               // private
-
-               private string pattern, name, nspace;
-               private RegexOptions options;
-               private bool isPublic;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexMatchTimeoutException.cs b/mcs/class/System/System.Text.RegularExpressions/RegexMatchTimeoutException.cs
deleted file mode 100644 (file)
index b6ffb1a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-// Authors:
-//      Martin Baulig (martin.baulig@xamarin.com)
-//
-// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
-//
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if NET_4_5
-using System;
-using System.Runtime.Serialization;
-
-namespace System.Text.RegularExpressions {
-       [MonoTODO]
-       [Serializable]
-       public class RegexMatchTimeoutException : TimeoutException, ISerializable {
-               
-               string input = string.Empty;
-               string pattern = string.Empty;
-               TimeSpan timeout = TimeSpan.FromTicks (-1);
-
-               public RegexMatchTimeoutException ()
-               {
-                       
-               }
-               
-               public RegexMatchTimeoutException (string message)
-                       : base (message)
-               {
-                       
-               }
-               
-               public RegexMatchTimeoutException (string message, Exception inner)
-                       : base (message, inner)
-               {
-               }
-               
-               public RegexMatchTimeoutException (string regexInput, string regexPattern,
-                                                  TimeSpan matchTimeout)
-               {
-                       input = regexInput;
-                       pattern = regexPattern;
-                       timeout = matchTimeout;
-               }
-               
-               protected RegexMatchTimeoutException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               public string Input {
-                       get { return input; }
-               }
-               
-               public string Pattern {
-                       get { return pattern; }
-               }
-               
-               public TimeSpan MatchTimeout {
-                       get { return timeout; }
-               }
-       }
-}
-#endif
diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs b/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs
deleted file mode 100644 (file)
index 1a2599d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       regex.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Text.RegularExpressions {
-
-       [Flags]
-       public enum RegexOptions {
-               None                            = 0x000,
-               IgnoreCase                      = 0x001,
-               Multiline                       = 0x002,
-               ExplicitCapture                 = 0x004,
-#if MOBILE || !NET_2_1
-               Compiled                        = 0x008,
-#endif
-               Singleline                      = 0x010,
-               IgnorePatternWhitespace         = 0x020,
-               RightToLeft                     = 0x040,
-               ECMAScript                      = 0x100,
-               CultureInvariant                = 0x200 
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexRunner.cs b/mcs/class/System/System.Text.RegularExpressions/RegexRunner.cs
deleted file mode 100644 (file)
index 48b42b9..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       RegexRunner.cs
-//
-// author:     Dan Lewis (dihlewis@yahoo.co.uk)
-//             (c) 2002
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.ComponentModel;
-
-namespace System.Text.RegularExpressions {
-
-       [EditorBrowsable (EditorBrowsableState.Never)]
-       [MonoTODO ("RegexRunner is not supported by Mono.")]
-       public abstract class RegexRunner {
-               // constructor
-
-               [MonoTODO]
-               protected internal RegexRunner ()
-               {
-               }
-
-               // protected abstract
-
-               protected abstract bool FindFirstChar ();
-
-               protected abstract void Go ();
-
-               protected abstract void InitTrackCount ();
-
-               // protected methods
-
-               [MonoTODO]
-               protected void Capture (int capnum, int start, int end) {
-                       throw new NotImplementedException ();
-               }
-               [MonoTODO]
-               protected static bool CharInClass (char ch, string charClass)
-               {
-                       throw new NotImplementedException ();
-               }
-               [MonoTODO]
-               protected static bool CharInSet (char ch, string set, string category) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void Crawl (int i) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected int Crawlpos () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void DoubleCrawl () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void DoubleStack () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void DoubleTrack () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void EnsureStorage () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected bool IsBoundary (int index, int startpos, int endpos) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected bool IsECMABoundary (int index, int startpos, int endpos) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected bool IsMatched (int cap) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected int MatchIndex (int cap) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected int MatchLength (int cap) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected int Popcrawl () {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void TransferCapture (int capnum, int uncapnum, int start, int end) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected void Uncapture () {
-                       throw new NotImplementedException ();
-               }
-
-               // internal
-               
-               protected internal Match Scan (Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick) {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               protected internal int[] runcrawl;
-               [MonoTODO]
-               protected internal int runcrawlpos;
-               [MonoTODO]
-               protected internal Match runmatch;
-               [MonoTODO]
-               protected internal Regex runregex;
-               [MonoTODO]
-               protected internal int[] runstack;
-               [MonoTODO]
-               protected internal int runstackpos;
-               [MonoTODO]
-               protected internal string runtext;
-               [MonoTODO]
-               protected internal int runtextbeg;
-               [MonoTODO]
-               protected internal int runtextend;
-               [MonoTODO]
-               protected internal int runtextpos;
-               [MonoTODO]
-               protected internal int runtextstart;
-               [MonoTODO]
-               protected internal int[] runtrack;
-               [MonoTODO]
-               protected internal int runtrackcount;
-               [MonoTODO]
-               protected internal int runtrackpos;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexRunnerFactory.cs b/mcs/class/System/System.Text.RegularExpressions/RegexRunnerFactory.cs
deleted file mode 100644 (file)
index d4df8aa..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//\r
-// assembly:   System\r
-// namespace:  System.Text.RegularExpressions\r
-// file:       RegexRunnerFactory.cs\r
-//\r
-// author:     Dan Lewis (dihlewis@yahoo.co.uk)\r
-//             (c) 2002\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.ComponentModel;\r
-\r
-namespace System.Text.RegularExpressions {\r
-       [EditorBrowsable (EditorBrowsableState.Never)]\r
-       public abstract class RegexRunnerFactory {\r
-               protected RegexRunnerFactory () {\r
-               }\r
-\r
-               protected internal abstract RegexRunner CreateInstance ();\r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/RxCompiler.cs b/mcs/class/System/System.Text.RegularExpressions/RxCompiler.cs
deleted file mode 100644 (file)
index b149543..0000000
+++ /dev/null
@@ -1,768 +0,0 @@
-using System;
-using System.Collections;
-using System.Globalization;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace System.Text.RegularExpressions {
-
-       /* This behaves like a growing list of tuples (base, offsetpos) */
-       class RxLinkRef: LinkRef {
-               public int[] offsets;
-               public int current = 0;
-
-               public RxLinkRef ()
-               {
-                       offsets = new int [8];
-               }
-
-               // the start of the branch instruction
-               // in the program stream
-               public void PushInstructionBase (int offset)
-               {
-                       if ((current & 1) != 0)
-                               throw new Exception ();
-                       if (current == offsets.Length) {
-                               int[] newarray = new int [offsets.Length * 2];
-                               Array.Copy (offsets, newarray, offsets.Length);
-                               offsets = newarray;
-                       }
-                       offsets [current++] = offset;
-               }
-
-               // the position in the program stream where the jump offset is stored
-               public void PushOffsetPosition (int offset)
-               {
-                       if ((current & 1) == 0)
-                               throw new Exception ();
-                       offsets [current++] = offset;
-               }
-
-       }
-
-       class RxCompiler : ICompiler {
-               protected byte[] program = new byte [32];
-               protected int curpos = 0;
-
-               public RxCompiler () {
-               }
-
-               void MakeRoom (int bytes)
-               {
-                       while (curpos + bytes > program.Length) {
-                               int newsize = program.Length * 2;
-                               byte[] newp = new byte [newsize];
-                               Buffer.BlockCopy (program, 0, newp, 0, program.Length);
-                               program = newp;
-                       }
-               }
-
-               void Emit (byte val)
-               {
-                       MakeRoom (1);
-                       program [curpos] = val;
-                       ++curpos;
-               }
-
-               void Emit (RxOp opcode)
-               {
-                       Emit ((byte)opcode);
-               }
-
-               void Emit (ushort val)
-               {
-                       MakeRoom (2);
-                       program [curpos] = (byte)val;
-                       program [curpos + 1] = (byte)(val >> 8);
-                       curpos += 2;
-               }
-
-               void Emit (int val)
-               {
-                       MakeRoom (4);
-                       program [curpos] = (byte)val;
-                       program [curpos + 1] = (byte)(val >> 8);
-                       program [curpos + 2] = (byte)(val >> 16);
-                       program [curpos + 3] = (byte)(val >> 24);
-                       curpos += 4;
-               }
-
-               void BeginLink (LinkRef lref) {
-                       RxLinkRef link = lref as RxLinkRef;
-                       link.PushInstructionBase (curpos);
-               }
-
-               void EmitLink (LinkRef lref)
-               {
-                       RxLinkRef link = lref as RxLinkRef;
-                       link.PushOffsetPosition (curpos);
-                       Emit ((ushort)0);
-               }
-
-               // ICompiler implementation
-               public void Reset ()
-               {
-                       curpos = 0;
-               }
-
-               public IMachineFactory GetMachineFactory ()
-               {
-                       byte[] code = new byte [curpos];
-                       Buffer.BlockCopy (program, 0, code, 0, curpos);
-                       //Console.WriteLine ("Program size: {0}", curpos);
-
-                       return new RxInterpreterFactory (code, null);
-               }
-
-               public void EmitFalse ()
-               {
-                       Emit (RxOp.False);
-               }
-
-               public void EmitTrue ()
-               {
-                       Emit (RxOp.True);
-               }
-
-               /* Overriden by CILCompiler */
-               public virtual void EmitOp (RxOp op, bool negate, bool ignore, bool reverse) {
-                       int offset = 0;
-                       if (negate)
-                               offset += 1;
-                       if (ignore)
-                               offset += 2;
-                       if (reverse)
-                               offset += 4;
-
-                       Emit ((RxOp)((int)op + offset));
-               }
-
-               public virtual void EmitOpIgnoreReverse (RxOp op, bool ignore, bool reverse) {
-                       int offset = 0;
-                       if (ignore)
-                               offset += 1;
-                       if (reverse)
-                               offset += 2;
-
-                       Emit ((RxOp)((int)op + offset));
-               }
-
-               public virtual void EmitOpNegateReverse (RxOp op, bool negate, bool reverse) {
-                       int offset = 0;
-                       if (negate)
-                               offset += 1;
-                       if (reverse)
-                               offset += 2;
-
-                       Emit ((RxOp)((int)op + offset));
-               }
-
-               public void EmitCharacter (char c, bool negate, bool ignore, bool reverse)
-               {
-                       if (ignore)
-                               c = Char.ToLower (c);
-                       if (c < 256) {
-                               EmitOp (RxOp.Char, negate, ignore, reverse);
-                               Emit ((byte)c);
-                       } else {
-                               EmitOp (RxOp.UnicodeChar, negate, ignore, reverse);
-                               Emit ((ushort)c);
-                       }
-               }
-
-               void EmitUniCat (UnicodeCategory cat, bool negate, bool reverse)
-               {
-                       EmitOpNegateReverse (RxOp.CategoryUnicode, negate, reverse);
-                       Emit ((byte)cat);
-               }
-
-               void EmitCatGeneral (Category cat, bool negate, bool reverse)
-               {
-                       EmitOpNegateReverse (RxOp.CategoryGeneral, negate, reverse);
-                       Emit ((byte)cat);
-               }
-
-               public void EmitCategory (Category cat, bool negate, bool reverse)
-               {
-                       switch (cat) {
-                       case Category.Any:
-                       case Category.EcmaAny:
-                               EmitOpNegateReverse (RxOp.CategoryAny, negate, reverse);
-                               break;
-                       case Category.AnySingleline:
-                               EmitOpNegateReverse (RxOp.CategoryAnySingleline, negate, reverse);
-                               break;
-                       case Category.Word:
-                               EmitOpNegateReverse (RxOp.CategoryWord, negate, reverse);
-                               break;
-                       case Category.Digit:
-                               EmitOpNegateReverse (RxOp.CategoryDigit, negate, reverse);
-                               break;
-                       case Category.WhiteSpace:
-                               EmitOpNegateReverse (RxOp.CategoryWhiteSpace, negate, reverse);
-                               break;
-                       /* FIXME: translate EcmaWord, EcmaWhiteSpace into Bitmaps? EcmaWhiteSpace will fit very well with the IL engine */
-                       case Category.EcmaWord:
-                               EmitOpNegateReverse (RxOp.CategoryEcmaWord, negate, reverse);
-                               break;
-                       case Category.EcmaDigit:
-                               EmitRange ('0', '9', negate, false, reverse);
-                               break;
-                       case Category.EcmaWhiteSpace:
-                               EmitOpNegateReverse (RxOp.CategoryEcmaWhiteSpace, negate, reverse);
-                               break;
-                       case Category.UnicodeSpecials:
-                               EmitOpNegateReverse (RxOp.CategoryUnicodeSpecials, negate, reverse);
-                               break;
-                       // Unicode categories...
-                       // letter
-                       case Category.UnicodeLu: EmitUniCat (UnicodeCategory.UppercaseLetter, negate, reverse); break;
-                       case Category.UnicodeLl: EmitUniCat (UnicodeCategory.LowercaseLetter, negate, reverse); break;
-                       case Category.UnicodeLt: EmitUniCat (UnicodeCategory.TitlecaseLetter, negate, reverse); break;
-                       case Category.UnicodeLm: EmitUniCat (UnicodeCategory.ModifierLetter, negate, reverse); break;
-                       case Category.UnicodeLo: EmitUniCat (UnicodeCategory.OtherLetter, negate, reverse); break;
-                       // mark
-                       case Category.UnicodeMn: EmitUniCat (UnicodeCategory.NonSpacingMark, negate, reverse); break;
-                       case Category.UnicodeMe: EmitUniCat (UnicodeCategory.EnclosingMark, negate, reverse); break;
-                       case Category.UnicodeMc: EmitUniCat (UnicodeCategory.SpacingCombiningMark, negate, reverse); break;
-                       case Category.UnicodeNd: EmitUniCat (UnicodeCategory.DecimalDigitNumber, negate, reverse); break;
-                       // number
-                       case Category.UnicodeNl: EmitUniCat (UnicodeCategory.LetterNumber, negate, reverse); break;
-                       case Category.UnicodeNo: EmitUniCat (UnicodeCategory.OtherNumber, negate, reverse); break;
-                       // separator
-                       case Category.UnicodeZs: EmitUniCat (UnicodeCategory.SpaceSeparator, negate, reverse); break;
-                       case Category.UnicodeZl: EmitUniCat (UnicodeCategory.LineSeparator, negate, reverse); break;
-                       case Category.UnicodeZp: EmitUniCat (UnicodeCategory.ParagraphSeparator, negate, reverse); break;
-                       // punctuation
-                       case Category.UnicodePd: EmitUniCat (UnicodeCategory.DashPunctuation, negate, reverse); break;
-                       case Category.UnicodePs: EmitUniCat (UnicodeCategory.OpenPunctuation, negate, reverse); break;
-                       case Category.UnicodePi: EmitUniCat (UnicodeCategory.InitialQuotePunctuation, negate, reverse); break;
-                       case Category.UnicodePe: EmitUniCat (UnicodeCategory.ClosePunctuation, negate, reverse); break;
-                       case Category.UnicodePf: EmitUniCat (UnicodeCategory.FinalQuotePunctuation, negate, reverse); break;
-                       case Category.UnicodePc: EmitUniCat (UnicodeCategory.ConnectorPunctuation, negate, reverse); break;
-                       case Category.UnicodePo: EmitUniCat (UnicodeCategory.OtherPunctuation, negate, reverse); break;
-                       // symbol
-                       case Category.UnicodeSm: EmitUniCat (UnicodeCategory.MathSymbol, negate, reverse); break;
-                       case Category.UnicodeSc: EmitUniCat (UnicodeCategory.CurrencySymbol, negate, reverse); break;
-                       case Category.UnicodeSk: EmitUniCat (UnicodeCategory.ModifierSymbol, negate, reverse); break;
-                       case Category.UnicodeSo: EmitUniCat (UnicodeCategory.OtherSymbol, negate, reverse); break;
-                       // other
-                       case Category.UnicodeCc: EmitUniCat (UnicodeCategory.Control, negate, reverse); break;
-                       case Category.UnicodeCf: EmitUniCat (UnicodeCategory.Format, negate, reverse); break;
-                       case Category.UnicodeCo: EmitUniCat (UnicodeCategory.PrivateUse, negate, reverse); break;
-                       case Category.UnicodeCs: EmitUniCat (UnicodeCategory.Surrogate, negate, reverse); break;
-                       case Category.UnicodeCn: EmitUniCat (UnicodeCategory.OtherNotAssigned, negate, reverse); break; 
-                       // Unicode block ranges...
-                       case Category.UnicodeBasicLatin:
-                               EmitRange ('\u0000', '\u007F', negate, false, reverse); break;
-                       case Category.UnicodeLatin1Supplement:
-                               EmitRange ('\u0080', '\u00FF', negate, false, reverse); break;
-                       case Category.UnicodeLatinExtendedA:
-                               EmitRange ('\u0100', '\u017F', negate, false, reverse); break;
-                       case Category.UnicodeLatinExtendedB:
-                               EmitRange ('\u0180', '\u024F', negate, false, reverse); break;
-                       case Category.UnicodeIPAExtensions:
-                               EmitRange ('\u0250', '\u02AF', negate, false, reverse); break;
-                       case Category.UnicodeSpacingModifierLetters:
-                               EmitRange ('\u02B0', '\u02FF', negate, false, reverse); break;
-                       case Category.UnicodeCombiningDiacriticalMarks:
-                               EmitRange ('\u0300', '\u036F', negate, false, reverse); break;
-                       case Category.UnicodeGreek:
-                               EmitRange ('\u0370', '\u03FF', negate, false, reverse); break;
-                       case Category.UnicodeCyrillic:
-                               EmitRange ('\u0400', '\u04FF', negate, false, reverse); break;
-                       case Category.UnicodeArmenian:
-                               EmitRange ('\u0530', '\u058F', negate, false, reverse); break;
-                       case Category.UnicodeHebrew:
-                               EmitRange ('\u0590', '\u05FF', negate, false, reverse); break;
-                       case Category.UnicodeArabic:
-                               EmitRange ('\u0600', '\u06FF', negate, false, reverse); break;
-                       case Category.UnicodeSyriac:
-                               EmitRange ('\u0700', '\u074F', negate, false, reverse); break;
-                       case Category.UnicodeThaana:
-                               EmitRange ('\u0780', '\u07BF', negate, false, reverse); break;
-                       case Category.UnicodeDevanagari:
-                               EmitRange ('\u0900', '\u097F', negate, false, reverse); break;
-                       case Category.UnicodeBengali:
-                               EmitRange ('\u0980', '\u09FF', negate, false, reverse); break;
-                       case Category.UnicodeGurmukhi:
-                               EmitRange ('\u0A00', '\u0A7F', negate, false, reverse); break;
-                       case Category.UnicodeGujarati:
-                               EmitRange ('\u0A80', '\u0AFF', negate, false, reverse); break;
-                       case Category.UnicodeOriya:
-                               EmitRange ('\u0B00', '\u0B7F', negate, false, reverse); break;
-                       case Category.UnicodeTamil:
-                               EmitRange ('\u0B80', '\u0BFF', negate, false, reverse); break;
-                       case Category.UnicodeTelugu:
-                               EmitRange ('\u0C00', '\u0C7F', negate, false, reverse); break;
-                       case Category.UnicodeKannada:
-                               EmitRange ('\u0C80', '\u0CFF', negate, false, reverse); break;
-                       case Category.UnicodeMalayalam:
-                               EmitRange ('\u0D00', '\u0D7F', negate, false, reverse); break;
-                       case Category.UnicodeSinhala:
-                               EmitRange ('\u0D80', '\u0DFF', negate, false, reverse); break;
-                       case Category.UnicodeThai:
-                               EmitRange ('\u0E00', '\u0E7F', negate, false, reverse); break;
-                       case Category.UnicodeLao:
-                               EmitRange ('\u0E80', '\u0EFF', negate, false, reverse); break;
-                       case Category.UnicodeTibetan:
-                               EmitRange ('\u0F00', '\u0FFF', negate, false, reverse); break;
-                       case Category.UnicodeMyanmar:
-                               EmitRange ('\u1000', '\u109F', negate, false, reverse); break;
-                       case Category.UnicodeGeorgian:
-                               EmitRange ('\u10A0', '\u10FF', negate, false, reverse); break;
-                       case Category.UnicodeHangulJamo:
-                               EmitRange ('\u1100', '\u11FF', negate, false, reverse); break;
-                       case Category.UnicodeEthiopic:
-                               EmitRange ('\u1200', '\u137F', negate, false, reverse); break;
-                       case Category.UnicodeCherokee:
-                               EmitRange ('\u13A0', '\u13FF', negate, false, reverse); break;
-                       case Category.UnicodeUnifiedCanadianAboriginalSyllabics:
-                               EmitRange ('\u1400', '\u167F', negate, false, reverse); break;
-                       case Category.UnicodeOgham:
-                               EmitRange ('\u1680', '\u169F', negate, false, reverse); break;
-                       case Category.UnicodeRunic:
-                               EmitRange ('\u16A0', '\u16FF', negate, false, reverse); break;
-                       case Category.UnicodeKhmer:
-                               EmitRange ('\u1780', '\u17FF', negate, false, reverse); break;
-                       case Category.UnicodeMongolian:
-                               EmitRange ('\u1800', '\u18AF', negate, false, reverse); break;
-                       case Category.UnicodeLatinExtendedAdditional:
-                               EmitRange ('\u1E00', '\u1EFF', negate, false, reverse); break;
-                       case Category.UnicodeGreekExtended:
-                               EmitRange ('\u1F00', '\u1FFF', negate, false, reverse); break;
-                       case Category.UnicodeGeneralPunctuation:
-                               EmitRange ('\u2000', '\u206F', negate, false, reverse); break;
-                       case Category.UnicodeSuperscriptsandSubscripts:
-                               EmitRange ('\u2070', '\u209F', negate, false, reverse); break;
-                       case Category.UnicodeCurrencySymbols:
-                               EmitRange ('\u20A0', '\u20CF', negate, false, reverse); break;
-                       case Category.UnicodeCombiningMarksforSymbols:
-                               EmitRange ('\u20D0', '\u20FF', negate, false, reverse); break;
-                       case Category.UnicodeLetterlikeSymbols:
-                               EmitRange ('\u2100', '\u214F', negate, false, reverse); break;
-                       case Category.UnicodeNumberForms:
-                               EmitRange ('\u2150', '\u218F', negate, false, reverse); break;
-                       case Category.UnicodeArrows:
-                               EmitRange ('\u2190', '\u21FF', negate, false, reverse); break;
-                       case Category.UnicodeMathematicalOperators:
-                               EmitRange ('\u2200', '\u22FF', negate, false, reverse); break;
-                       case Category.UnicodeMiscellaneousTechnical:
-                               EmitRange ('\u2300', '\u23FF', negate, false, reverse); break;
-                       case Category.UnicodeControlPictures:
-                               EmitRange ('\u2400', '\u243F', negate, false, reverse); break;
-                       case Category.UnicodeOpticalCharacterRecognition:
-                               EmitRange ('\u2440', '\u245F', negate, false, reverse); break;
-                       case Category.UnicodeEnclosedAlphanumerics:
-                               EmitRange ('\u2460', '\u24FF', negate, false, reverse); break;
-                       case Category.UnicodeBoxDrawing:
-                               EmitRange ('\u2500', '\u257F', negate, false, reverse); break;
-                       case Category.UnicodeBlockElements:
-                               EmitRange ('\u2580', '\u259F', negate, false, reverse); break;
-                       case Category.UnicodeGeometricShapes:
-                               EmitRange ('\u25A0', '\u25FF', negate, false, reverse); break;
-                       case Category.UnicodeMiscellaneousSymbols:
-                               EmitRange ('\u2600', '\u26FF', negate, false, reverse); break;
-                       case Category.UnicodeDingbats:
-                               EmitRange ('\u2700', '\u27BF', negate, false, reverse); break;
-                       case Category.UnicodeBraillePatterns:
-                               EmitRange ('\u2800', '\u28FF', negate, false, reverse); break;
-                       case Category.UnicodeCJKRadicalsSupplement:
-                               EmitRange ('\u2E80', '\u2EFF', negate, false, reverse); break;
-                       case Category.UnicodeKangxiRadicals:
-                               EmitRange ('\u2F00', '\u2FDF', negate, false, reverse); break;
-                       case Category.UnicodeIdeographicDescriptionCharacters:
-                               EmitRange ('\u2FF0', '\u2FFF', negate, false, reverse); break;
-                       case Category.UnicodeCJKSymbolsandPunctuation:
-                               EmitRange ('\u3000', '\u303F', negate, false, reverse); break;
-                       case Category.UnicodeHiragana:
-                               EmitRange ('\u3040', '\u309F', negate, false, reverse); break;
-                       case Category.UnicodeKatakana:
-                               EmitRange ('\u30A0', '\u30FF', negate, false, reverse); break;
-                       case Category.UnicodeBopomofo:
-                               EmitRange ('\u3100', '\u312F', negate, false, reverse); break;
-                       case Category.UnicodeHangulCompatibilityJamo:
-                               EmitRange ('\u3130', '\u318F', negate, false, reverse); break;
-                       case Category.UnicodeKanbun:
-                               EmitRange ('\u3190', '\u319F', negate, false, reverse); break;
-                       case Category.UnicodeBopomofoExtended:
-                               EmitRange ('\u31A0', '\u31BF', negate, false, reverse); break;
-                       case Category.UnicodeEnclosedCJKLettersandMonths:
-                               EmitRange ('\u3200', '\u32FF', negate, false, reverse); break;
-                       case Category.UnicodeCJKCompatibility:
-                               EmitRange ('\u3300', '\u33FF', negate, false, reverse); break;
-                       case Category.UnicodeCJKUnifiedIdeographsExtensionA:
-                               EmitRange ('\u3400', '\u4DB5', negate, false, reverse); break;
-                       case Category.UnicodeCJKUnifiedIdeographs:
-                               EmitRange ('\u4E00', '\u9FFF', negate, false, reverse); break;
-                       case Category.UnicodeYiSyllables:
-                               EmitRange ('\uA000', '\uA48F', negate, false, reverse); break;
-                       case Category.UnicodeYiRadicals:
-                               EmitRange ('\uA490', '\uA4CF', negate, false, reverse); break;
-                       case Category.UnicodeHangulSyllables:
-                               EmitRange ('\uAC00', '\uD7A3', negate, false, reverse); break;
-                       case Category.UnicodeHighSurrogates:
-                               EmitRange ('\uD800', '\uDB7F', negate, false, reverse); break;
-                       case Category.UnicodeHighPrivateUseSurrogates:
-                               EmitRange ('\uDB80', '\uDBFF', negate, false, reverse); break;
-                       case Category.UnicodeLowSurrogates:
-                               EmitRange ('\uDC00', '\uDFFF', negate, false, reverse); break;
-                       case Category.UnicodePrivateUse:
-                               EmitRange ('\uE000', '\uF8FF', negate, false, reverse); break;
-                       case Category.UnicodeCJKCompatibilityIdeographs:
-                               EmitRange ('\uF900', '\uFAFF', negate, false, reverse); break;
-                       case Category.UnicodeAlphabeticPresentationForms:
-                               EmitRange ('\uFB00', '\uFB4F', negate, false, reverse); break;
-                       case Category.UnicodeArabicPresentationFormsA:
-                               EmitRange ('\uFB50', '\uFDFF', negate, false, reverse); break;
-                       case Category.UnicodeCombiningHalfMarks:
-                               EmitRange ('\uFE20', '\uFE2F', negate, false, reverse); break;
-                       case Category.UnicodeCJKCompatibilityForms:
-                               EmitRange ('\uFE30', '\uFE4F', negate, false, reverse); break;
-                       case Category.UnicodeSmallFormVariants:
-                               EmitRange ('\uFE50', '\uFE6F', negate, false, reverse); break;
-                       case Category.UnicodeArabicPresentationFormsB:
-                               EmitRange ('\uFE70', '\uFEFE', negate, false, reverse); break;
-                       case Category.UnicodeHalfwidthandFullwidthForms:
-                               EmitRange ('\uFF00', '\uFFEF', negate, false, reverse); break;
-
-                               // Complex categories
-                       case Category.UnicodeL:
-                       case Category.UnicodeM:
-                       case Category.UnicodeN:
-                       case Category.UnicodeZ:
-                       case Category.UnicodeP:
-                       case Category.UnicodeS:
-                       case Category.UnicodeC:
-                               EmitCatGeneral (cat, negate, reverse); break;
-
-                       default:
-                               throw new NotImplementedException ("Missing category: " + cat);
-                       }
-               }
-
-               public void EmitNotCategory (Category cat, bool negate, bool reverse)
-               {
-                       // not sure why the compiler needed this separate interface funtion
-                       if (negate) {
-                               EmitCategory (cat, false, reverse);
-                       } else {
-                               EmitCategory (cat, true, reverse);
-                       }
-               }
-
-               public void EmitRange (char lo, char hi, bool negate, bool ignore, bool reverse)
-               {
-                       if (lo < 256 && hi < 256) {
-                               EmitOp (RxOp.Range, negate, ignore, reverse);
-                               Emit ((byte)lo);
-                               Emit ((byte)hi);
-                       } else {
-                               EmitOp (RxOp.UnicodeRange, negate, ignore, reverse);
-                               Emit ((ushort)lo);
-                               Emit ((ushort)hi);
-                       }
-               }
-
-               public void EmitSet (char lo, BitArray set, bool negate, bool ignore, bool reverse)
-               {
-                       int len = (set.Length + 0x7) >> 3;
-                       if (lo < 256 && len < 256) {
-                               EmitOp (RxOp.Bitmap, negate, ignore, reverse);
-                               Emit ((byte)lo);
-                               Emit ((byte)len);
-                       } else {
-                               EmitOp (RxOp.UnicodeBitmap, negate, ignore, reverse);
-                               Emit ((ushort)lo);
-                               Emit ((ushort)len);
-                       }
-                       // emit the bitmap bytes
-                       int b = 0;
-                       while (len-- != 0) {
-                               int word = 0;
-                               for (int i = 0; i < 8; ++ i) {
-                                       if (b >= set.Length)
-                                               break;
-                                       if (set [b ++])
-                                               word |= 1 << i;
-                               }
-                               Emit ((byte)word);
-                       }
-               }
-
-               public void EmitString (string str, bool ignore, bool reverse)
-               {
-                       bool islatin1 = false;
-                       int i;
-                       int offset = 0;
-                       if (ignore)
-                               offset += 1;
-                       if (reverse)
-                               offset += 2;
-                       if (ignore)
-                               str = str.ToLower ();
-                       if (str.Length < 256) {
-                               islatin1 = true;
-                               for (i = 0; i < str.Length; ++i) {
-                                       if (str [i] >= 256) {
-                                               islatin1 = false;
-                                               break;
-                                       }
-                               }
-                       }
-                       if (islatin1) {
-                               EmitOpIgnoreReverse (RxOp.String, ignore, reverse);
-                               Emit ((byte)str.Length);
-                               for (i = 0; i < str.Length; ++i)
-                                       Emit ((byte)str [i]);
-                       } else {
-                               EmitOpIgnoreReverse (RxOp.UnicodeString, ignore, reverse);
-                               if (str.Length > ushort.MaxValue)
-                                       throw new NotSupportedException ();
-                               Emit ((ushort)str.Length);
-                               for (i = 0; i < str.Length; ++i)
-                                       Emit ((ushort)str [i]);
-                       }
-               }
-
-               public void EmitPosition (Position pos)
-               {
-                       switch (pos) {
-                       case Position.Any:
-                               Emit (RxOp.AnyPosition);
-                               break;
-                       case Position.Start:
-                               Emit (RxOp.StartOfString);
-                               break;
-                       case Position.StartOfString:
-                               Emit (RxOp.StartOfString);
-                               break;
-                       case Position.StartOfLine:
-                               Emit (RxOp.StartOfLine);
-                               break;
-                       case Position.StartOfScan:
-                               Emit (RxOp.StartOfScan);
-                               break;
-                       case Position.End:
-                               Emit (RxOp.End);
-                               break;
-                       case Position.EndOfString:
-                               Emit (RxOp.EndOfString);
-                               break;
-                       case Position.EndOfLine:
-                               Emit (RxOp.EndOfLine);
-                               break;
-                       case Position.Boundary:
-                               Emit (RxOp.WordBoundary);
-                               break;
-                       case Position.NonBoundary:
-                               Emit (RxOp.NoWordBoundary);
-                               break;
-                       default:
-                               throw new NotSupportedException ();
-                       }
-               }
-
-               public void EmitOpen (int gid)
-               {
-                       if (gid > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       Emit (RxOp.OpenGroup);
-                       Emit ((ushort)gid);
-               }
-
-               public void EmitClose (int gid)
-               {
-                       if (gid > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       Emit (RxOp.CloseGroup);
-                       Emit ((ushort)gid);
-               }
-
-               public void EmitBalanceStart(int gid, int balance, bool capture,  LinkRef tail)
-               {
-                       BeginLink (tail);
-                       Emit (RxOp.BalanceStart);
-                       Emit ((ushort)gid);
-                       Emit ((ushort)balance);
-                       Emit ((byte)(capture ? 1 : 0));
-                       EmitLink (tail);
-               }
-
-               public void EmitBalance ()
-               {
-                       Emit (RxOp.Balance);
-               }
-
-               public void EmitReference (int gid, bool ignore, bool reverse)
-               {
-                       if (gid > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       EmitOpIgnoreReverse (RxOp.Reference, ignore, reverse);
-                       Emit ((ushort)gid);
-               }
-
-               public void EmitIfDefined (int gid, LinkRef tail)
-               {
-                       if (gid > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       BeginLink (tail);
-                       Emit (RxOp.IfDefined);
-                       EmitLink (tail);
-                       Emit ((ushort)gid);
-               }
-
-               public void EmitSub (LinkRef tail)
-               {
-                       BeginLink (tail);
-                       Emit (RxOp.SubExpression);
-                       EmitLink (tail);
-               }
-
-               public void EmitTest (LinkRef yes, LinkRef tail)
-               {
-                       BeginLink (yes);
-                       BeginLink (tail);
-                       Emit (RxOp.Test);
-                       EmitLink (yes);
-                       EmitLink (tail);
-               }
-
-               public void EmitBranch (LinkRef next)
-               {
-                       BeginLink (next);
-                       Emit (RxOp.Branch);
-                       EmitLink (next);
-               }
-
-               public void EmitJump (LinkRef target)
-               {
-                       BeginLink (target);
-                       Emit (RxOp.Jump);
-                       EmitLink (target);
-               }
-
-               public void EmitIn (LinkRef tail)
-               {
-                       // emitted for things like [\dabcfh]
-                       BeginLink (tail);
-                       Emit (RxOp.TestCharGroup);
-                       EmitLink (tail);
-               }
-
-               public void EmitRepeat (int min, int max, bool lazy, LinkRef until)
-               {
-                       BeginLink (until);
-                       Emit (lazy ? RxOp.RepeatLazy : RxOp.Repeat);
-                       EmitLink (until);
-                       Emit (min);
-                       Emit (max);
-               }
-
-               public void EmitUntil (LinkRef repeat)
-               {
-                       ResolveLink (repeat);
-                       Emit (RxOp.Until);
-               }
-
-               public void EmitInfo (int count, int min, int max)
-               {
-                       Emit (RxOp.Info);
-                       if (count > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       Emit ((ushort)count);
-                       Emit (min);
-                       Emit (max);
-               }
-
-               public void EmitFastRepeat (int min, int max, bool lazy, LinkRef tail)
-               {
-                       BeginLink (tail);
-                       Emit (lazy ? RxOp.FastRepeatLazy : RxOp.FastRepeat);
-                       EmitLink (tail);
-                       Emit (min);
-                       Emit (max);
-               }
-
-               public void EmitAnchor (bool reverse, int offset, LinkRef tail)
-               {
-                       BeginLink (tail);
-                       if (reverse)
-                               Emit (RxOp.AnchorReverse);
-                       else
-                               Emit (RxOp.Anchor);
-                       EmitLink (tail);
-                       if (offset > ushort.MaxValue)
-                               throw new NotSupportedException ();
-                       Emit ((ushort)offset);
-               }
-
-               // event for the CILCompiler
-               public void EmitBranchEnd ()
-               {
-               }
-
-               public void EmitAlternationEnd ()
-               {
-               }
-
-               public LinkRef NewLink ()
-               {
-                       return new RxLinkRef ();
-               }
-
-               public void ResolveLink (LinkRef link)
-               {
-                       RxLinkRef l = link as RxLinkRef;
-                       for (int i = 0; i < l.current; i += 2) {
-                               int offset = curpos - l.offsets [i];
-                               if (offset > ushort.MaxValue)
-                                       throw new NotSupportedException ();
-                               int offsetpos = l.offsets [i + 1];
-                               program [offsetpos] = (byte)offset;
-                               program [offsetpos + 1] = (byte)(offset >> 8);
-                       }
-               }
-
-       }
-
-       class RxInterpreterFactory : IMachineFactory {
-               public RxInterpreterFactory (byte[] program, EvalDelegate eval_del) {
-                       this.program = program;
-                       this.eval_del = eval_del;
-               }
-               
-               public IMachine NewInstance () {
-                       return new RxInterpreter (program, eval_del);
-               }
-
-               public int GroupCount {
-                       get { 
-                               return (int)program [1] | ((int)program [2] << 8);
-                       }
-               }
-
-               public int Gap {
-                       get { return gap; }
-                       set { gap = value; }
-               }
-
-               public IDictionary Mapping {
-                       get { return mapping; }
-                       set { mapping = value; }
-               }
-
-               public string [] NamesMapping {
-                       get { return namesMapping; }
-                       set { namesMapping = value; }
-               }
-
-               private IDictionary mapping;
-               private byte[] program;
-               private EvalDelegate eval_del;
-               private string[] namesMapping;
-               private int gap;
-       }
-
-}
-
diff --git a/mcs/class/System/System.Text.RegularExpressions/RxInterpreter.cs b/mcs/class/System/System.Text.RegularExpressions/RxInterpreter.cs
deleted file mode 100644 (file)
index cd8f259..0000000
+++ /dev/null
@@ -1,2447 +0,0 @@
-
-// Based upon interpreter.cs, written by Dan Lewis (dlewis@gmx.co.uk)
-//
-// There are a couple of bits flagged with DEAD_CODE which are bits that do
-// not seem to have been completed
-//
-using System;
-using System.Collections;
-using System.Globalization;
-using System.Diagnostics;
-
-namespace System.Text.RegularExpressions {
-
-       internal delegate bool EvalDelegate (RxInterpreter interp, int strpos, ref int strpos_result);
-
-       sealed class RxInterpreter: BaseMachine {
-               byte[] program;
-               string str;
-               int string_start;
-               int string_end;
-               int group_count;
-//             int match_start;
-               int[] groups;
-               EvalDelegate eval_del; // optimized EvalByteCode method created by the CILCompiler
-
-               Mark[] marks = null; // mark stack
-               int mark_start; // start of current checkpoint
-               int mark_end; // end of checkpoint/next free mark
-
-               IntStack stack; // utility stack
-
-               RepeatContext repeat;   // current repeat context
-               RepeatContext deep;             // points to the most-nested repeat context
-
-               /* The readonly ensures the JIT can optimize out if (trace_rx) statements */
-               public static readonly bool trace_rx =
-#if !NET_2_1
-                       Environment.GetEnvironmentVariable ("MONO_TRACE_RX") != null;
-#else
-                       false;
-#endif
-
-               // private classes
-
-               internal struct IntStack {
-                       int [] values;
-                       int count;
-                       public int Pop ()
-                       {
-                               return values [--count];
-                       }
-                       public void Push (int value)
-                       {
-                               if (values == null) {
-                                       values = new int [8];
-                               } else if (count == values.Length) {
-                                       int new_size = values.Length;
-                                       new_size += new_size >> 1;
-                                       int [] new_values = new int [new_size];
-                                       for (int i = 0; i < count; ++i)
-                                               new_values [i] = values [i];
-                                       values = new_values;
-                               }
-                               values [count++] = value;
-                       }
-                       public int Top {
-                               get { return values [count - 1]; }
-                       }
-                       public int Count {
-                               get { return count; }
-                               set {
-                                       if (value > count)
-                                               throw new SystemException ("can only truncate the stack");
-                                       count = value;
-                               }
-                       }
-               }
-
-               private class RepeatContext {
-                       public RepeatContext (RepeatContext previous, int min, int max, bool lazy, int expr_pc) {
-                               this.previous = previous;
-                               this.min = min;
-                               this.max = max;
-                               this.lazy = lazy;
-                               this.expr_pc = expr_pc;
-                               
-                               this.start = -1;
-                               this.count = 0;
-                       }
-
-                       public int Count {
-                               get { return count; }
-                               set { count = value; }
-                       }
-
-                       public int Start {
-                               get { return start; }
-                               set { start = value; }
-                       }
-
-                       public bool IsMinimum {
-                               get { return min <= count; }
-                       }
-
-                       public bool IsMaximum {
-                               get { return max <= count; }
-                       }
-
-                       public bool IsLazy {
-                               get { return lazy; }
-                       }
-
-                       public int Expression {
-                               get { return expr_pc; }
-                       }
-
-                       public RepeatContext Previous {
-                               get { return previous; }
-                       }
-               
-                       private int start;
-                       private int min, max;
-                       private bool lazy;
-                       private int expr_pc;
-                       private RepeatContext previous;
-
-                       private int count;
-               }
-
-               static int ReadInt (byte[] code, int pc)
-               {
-                       int val = code [pc];
-                       val |= (int)code [pc + 1] << 8;
-                       val |= (int)code [pc + 2] << 16;
-                       val |= (int)code [pc + 3] << 24;
-                       return val;
-               }
-
-               public RxInterpreter (byte[] program, EvalDelegate eval_del)
-               {
-                       this.program = program;
-                       this.eval_del = eval_del;
-                       group_count = 1 + (program [1] | ((int)program [2] << 8));
-                       groups = new int [group_count];
-                       stack = new IntStack ();
-
-                       ResetGroups ();
-               }
-
-               public override Match Scan (Regex regex, string text, int start, int end, bool substring_mode) {
-                       str = text;
-                       string_start = start;
-                       string_end = end;
-                       int res = 0;
-
-                       bool match;
-                       if (eval_del != null) {
-                               match = eval_del (this, start, ref res);
-                       } else {
-                               match = EvalByteCode (11, start, ref res);
-                       }
-                       marks [groups [0]].End = res;
-                       if (match) {
-                               return GenerateMatch (regex);
-                               //Match m = new Match (regex, this, text, end, 0, match_start, res - match_start);
-                               //return m;
-                       }
-                       return Match.Empty;
-               }
-
-               // capture management
-               private void Open (int gid, int ptr) {
-                       int m = groups [gid];
-                       if (m < mark_start || marks [m].IsDefined) {
-                               m = CreateMark (m);
-                               groups [gid] = m;
-                       }
-
-                       marks [m].Start = ptr;
-               }
-
-               private void Close (int gid, int ptr) {
-                       marks [groups [gid]].End = ptr;
-               }
-
-               private bool Balance (int gid, int balance_gid, bool capture, int ptr) {
-                       int b = groups [balance_gid];
-
-                       if(b == -1 || marks[b].Index < 0) {
-                               //Group not previously matched
-                               return false;
-                       }
-                       Debug.Assert (marks [b].IsDefined, "Regex", "Balancng group not closed");
-                       if (gid > 0 && capture){ 
-                               Open (gid, marks [b].Index + marks [b].Length);
-                               Close (gid, ptr);
-                       }
-
-                       groups [balance_gid] = marks[b].Previous;
-
-                       return true;
-               }
-
-               private int Checkpoint () {
-                       mark_start = mark_end;
-                       return mark_start;
-               }
-
-               private void Backtrack (int cp) {
-                       for (int i = 0; i < groups.Length; ++ i) {
-                               int m = groups [i];
-                               while (cp <= m)
-                                       m = marks [m].Previous;
-                               groups [i] = m;
-                       }
-               }
-
-               private void ResetGroups () {
-                       int n = groups.Length;
-                       if (marks == null)
-                               marks = new Mark [n];
-
-                       for (int i = 0; i < n; ++ i) {
-                               groups [i] = i;
-
-                               marks [i].Start = -1;
-                               marks [i].End = -1;
-                               marks [i].Previous = -1;
-                       }
-                       mark_start = 0;
-                       mark_end = n;
-               }
-
-               private int GetLastDefined (int gid) {
-                       int m = groups [gid];
-                       while (m >= 0 && !marks [m].IsDefined)
-                               m = marks [m].Previous;
-
-                       return m;
-               }
-
-               private int CreateMark (int previous) {
-                       if (mark_end == marks.Length) {
-                               Mark [] dest = new Mark [marks.Length * 2];
-                               marks.CopyTo (dest, 0);
-                               marks = dest;
-                       }
-
-                       int m = mark_end ++;
-                       marks [m].Start = marks [m].End = -1;
-                       marks [m].Previous = previous;
-
-                       return m;
-               }
-
-               private void GetGroupInfo (int gid, out int first_mark_index, out int n_caps)
-               {
-                       first_mark_index = -1;
-                       n_caps = 0;
-                       for (int m = groups [gid]; m >= 0; m = marks [m].Previous) {
-                               if (!marks [m].IsDefined)
-                                       continue;
-                               if (first_mark_index < 0)
-                                       first_mark_index = m;
-                               ++n_caps;
-                       }
-               }
-
-               private void PopulateGroup (Group g, int first_mark_index, int n_caps)
-               {
-                       int i = 1;
-                       for (int m = marks [first_mark_index].Previous; m >= 0; m = marks [m].Previous) {
-                               if (!marks [m].IsDefined)
-                                       continue;
-                               Capture cap = new Capture (str, marks [m].Index, marks [m].Length);
-                               g.Captures.SetValue (cap, n_caps - 1 - i);
-                               ++i;
-                       }
-               }
-
-               private Match GenerateMatch (Regex regex)
-               {
-                       int n_caps, first_mark_index;
-                       Group g;
-                       GetGroupInfo (0, out first_mark_index, out n_caps);
-
-                       // Avoid fully populating the Match instance if not needed
-                       if (!needs_groups_or_captures)
-                               return new Match (regex, this, str, string_end, 0, marks [first_mark_index].Index, marks [first_mark_index].Length);
-
-                       Match retval = new Match (regex, this, str, string_end, groups.Length, 
-                                                 marks [first_mark_index].Index, marks [first_mark_index].Length, n_caps);
-                       PopulateGroup (retval, first_mark_index, n_caps);
-
-                       for (int gid = 1; gid < groups.Length; ++ gid) {
-                               GetGroupInfo (gid, out first_mark_index, out n_caps);
-                               if (first_mark_index < 0) {
-                                       g = Group.Fail;
-                               } else {
-                                       g = new Group (str, marks [first_mark_index].Index, marks [first_mark_index].Length, n_caps);
-                                       PopulateGroup (g, first_mark_index, n_caps);
-                               }
-                               retval.Groups.SetValue (g, gid);
-                       }
-                       return retval;
-               }
-
-               // used by the IL backend
-           internal void SetStartOfMatch (int pos)
-               {
-                       marks [groups [0]].Start = pos;
-               }
-
-               static bool IsWordChar (char c)
-               {
-                       return Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation;
-               }
-
-               bool EvalByteCode (int pc, int strpos, ref int strpos_result)
-               {
-                       // luckily the IL engine can deal with char_group_end at compile time
-                       // this code offset needs to be checked only in opcodes that handle
-                       // a single char and that are included in a TestCharGroup expression:
-                       // the engine is supposed to jump to this offset as soons as the
-                       // first opcode in the expression matches
-                       // The code pattern becomes:
-                       // on successfull match: check if char_group_end is nonzero and jump to
-                       // test_char_group_passed after adjusting strpos
-                       // on failure: try the next expression by simply advancing pc
-                       int char_group_end = 0;
-                       int length, start, end;
-                       while (true) {
-                               if (trace_rx) {
-                                       Console.WriteLine ("evaluating: {0} at pc: {1}, strpos: {2}, cge: {3}", (RxOp)program [pc], pc, strpos, char_group_end);
-                                       //Console.WriteLine ("deep: " + (deep == null ? 0 : deep.GetHashCode ()) + " repeat: " + (this.repeat == null ? 0 : this.repeat.GetHashCode ()));
-                               }
-                               switch ((RxOp)program [pc]) {
-                               case RxOp.True:
-                                       if (char_group_end != 0) {
-                                               pc = char_group_end;
-                                               char_group_end = 0;
-                                               continue;
-                                       }
-                                       strpos_result = strpos;
-                                       return true;
-                               case RxOp.False:
-                                       return false;
-                               case RxOp.AnyPosition:
-                                       pc++;
-                                       continue;
-                               case RxOp.StartOfString:
-                                       if (strpos != 0)
-                                               return false;
-                                       pc++;
-                                       continue;
-                               case RxOp.StartOfLine:
-                                       if (strpos == 0 || str [strpos - 1] == '\n') {
-                                               pc++;
-                                               continue;
-                                       }
-                                       return false;
-                               case RxOp.StartOfScan:
-                                       if (strpos != string_start)
-                                               return false;
-                                       pc++;
-                                       continue;
-                               case RxOp.End:
-                                       if (strpos == string_end || (strpos == string_end - 1 && str [strpos] == '\n')) {
-                                               pc++;
-                                               continue;
-                                       }
-                                       return false;
-                               case RxOp.EndOfString:
-                                       if (strpos != string_end)
-                                               return false;
-                                       pc++;
-                                       continue;
-                               case RxOp.EndOfLine:
-                                       if (strpos == string_end || str [strpos] == '\n') {
-                                               pc++;
-                                               continue;
-                                       }
-                                       return false;
-                               case RxOp.WordBoundary:
-                                       if (string_end == 0)
-                                               return false;
-                                       if (strpos == 0) {
-                                               if (IsWordChar (str [strpos])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       } else if (strpos == string_end) {
-                                               if (IsWordChar (str [strpos - 1])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       } else {
-                                               if (IsWordChar (str [strpos]) != IsWordChar (str [strpos - 1])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoWordBoundary:
-                                       if (string_end == 0)
-                                               return false;
-                                       if (strpos == 0) {
-                                               if (!IsWordChar (str [strpos])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       } else if (strpos == string_end) {
-                                               if (!IsWordChar (str [strpos - 1])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       } else {
-                                               if (IsWordChar (str [strpos]) == IsWordChar (str [strpos - 1])) {
-                                                       pc++;
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.Anchor:
-                                       int skip = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       int anch_offset = program [pc + 3] | ((int)program [pc + 4] << 8);
-
-                                       /*
-                                        * In the general case, we have to evaluate the bytecode
-                                        * starting at pc + skip, however the optimizer emits some
-                                        * special cases, whose bytecode begins at pc + 5.
-                                        */
-                                       int anch_pc = pc + 5;
-                                       RxOp anch_op = (RxOp)(program[anch_pc] & 0x00ff);
-
-                                       bool spec_anch = false;
-
-                                       // FIXME: Add more special cases from interpreter.cs
-                                       if (anch_op == RxOp.String || anch_op == RxOp.StringIgnoreCase) {
-                                               if (pc + skip == anch_pc + 2 + program [anch_pc + 1] + 1) {
-                                                       // Anchor
-                                                       //      String
-                                                       //      True
-                                                       spec_anch = true;
-                                                       if (trace_rx)
-                                                               Console.WriteLine ("  string anchor at {0}, offset {1}", anch_pc, anch_offset);
-                                               }
-                                       }
-
-                                       pc += skip;
-
-                                       if ((RxOp)program [pc] == RxOp.StartOfString) {
-                                               if (strpos == 0) {
-                                                       int res = strpos;
-                                                       if (groups.Length > 1) {
-                                                               ResetGroups ();
-                                                               marks [groups [0]].Start = strpos;
-                                                       }
-                                                       if (EvalByteCode (pc + 1, strpos, ref res)) {
-                                                               marks [groups [0]].Start = strpos;
-                                                               if (groups.Length > 1)
-                                                                       marks [groups [0]].End = res;
-                                                               strpos_result = res;
-                                                               return true;
-                                                       }
-                                               }
-                                               return false;
-                                       }
-
-                                       // it's important to test also the end of the string
-                                       // position for things like: "" =~ /$/
-                                       end = string_end + 1;
-                                       while (strpos < end) {
-                                               if (spec_anch) {
-                                                       if (anch_op == RxOp.String || anch_op == RxOp.StringIgnoreCase) {
-                                                               /* 
-                                                                * This means the match must contain a given
-                                                                * string at a constant position, so we can skip 
-                                                                * forward until the string matches. This is a win if
-                                                                * the rest of the regex 
-                                                                * has a complex positive lookbehind for example.
-                                                                */
-                                                               int tmp_res = strpos;
-                                                               if (!EvalByteCode (anch_pc, strpos + anch_offset, ref tmp_res)) {
-                                                                       strpos ++;
-                                                                       continue;
-                                                               }
-                                                       }
-                                               }
-                                               int res = strpos;
-                                               if (groups.Length > 1) {
-                                                       ResetGroups ();
-                                                       marks [groups [0]].Start = strpos;
-                                               }
-                                               if (EvalByteCode (pc, strpos, ref res)) {
-//                                                     match_start = strpos;
-                                                       marks [groups [0]].Start = strpos;
-                                                       if (groups.Length > 1)
-                                                               marks [groups [0]].End = res;
-                                                       strpos_result = res;
-                                                       return true;
-                                               }
-                                               strpos++;
-                                       }
-                                       return false;
-                               case RxOp.AnchorReverse:
-                                       length = program [pc + 3] | ((int)program [pc + 4] << 8);
-                                       pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       // it's important to test also the end of the string
-                                       // position for things like: "" =~ /$/
-                                       end = 0;
-                                       while (strpos >= 0) {
-                                               int res = strpos;
-                                               if (groups.Length > 1) {
-                                                       ResetGroups ();
-                                                       marks [groups [0]].Start = strpos;
-                                               }
-                                               if (EvalByteCode (pc, strpos, ref res)) {
-//                                                     match_start = strpos;
-                                                       marks [groups [0]].Start = strpos;
-                                                       if (groups.Length > 1)
-                                                               marks [groups [0]].End = res;
-                                                       strpos_result = res;
-                                                       return true;
-                                               }
-                                               strpos--;
-                                       }
-                                       return false;
-                               case RxOp.Reference:
-                                       length = GetLastDefined (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       if (length < 0)
-                                               return false;
-                                       start = marks [length].Index;
-                                       length = marks [length].Length;
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       for (end = start + length; start < end; ++start) {
-                                               if (str [strpos] != str [start])
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc += 3;
-                                       continue;
-                               case RxOp.ReferenceIgnoreCase:
-                                       length = GetLastDefined (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       if (length < 0)
-                                               return false;
-                                       start = marks [length].Index;
-                                       length = marks [length].Length;
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       for (end = start + length; start < end; ++start) {
-                                               if (str [strpos] != str [start] && Char.ToLower (str [strpos]) != Char.ToLower (str [start]))
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc += 3;
-                                       continue;
-                               case RxOp.ReferenceReverse: {
-                                       length = GetLastDefined (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       if (length < 0)
-                                               return false;
-                                       start = marks [length].Index;
-                                       length = marks [length].Length;
-                                       if (strpos - length < 0)
-                                               return false;
-                                       int p = strpos - length;
-                                       for (end = start + length; start < end; ++start, ++p) {
-                                               if (str [p] != str [start])
-                                                       return false;
-                                       }
-                                       strpos -= length;
-                                       pc += 3;
-                                       continue;
-                               }
-                               case RxOp.IfDefined:
-                                       if (GetLastDefined (program [pc + 3] | ((int)program [pc + 4] << 8)) >= 0)
-                                               pc += 5;
-                                       else
-                                               pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       continue;
-                               case RxOp.SubExpression: {
-                                       int res = 0;
-                                       if (EvalByteCode (pc + 3, strpos, ref res)) {
-                                               pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                               strpos = res;
-                                               continue;
-                                       }
-                                       return false;
-                               }
-                               case RxOp.Test: {
-                                       int res = 0;
-                                       // FIXME: checkpoint
-                                       if (EvalByteCode (pc + 5, strpos, ref res)) {
-                                               pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       } else {
-                                               pc += program [pc + 3] | ((int)program [pc + 4] << 8);
-                                       }
-                                       continue;
-                               }
-                               case RxOp.OpenGroup:
-                                       Open (program [pc + 1] | ((int)program [pc + 2] << 8), strpos);
-                                       pc += 3;
-                                       continue;
-                               case RxOp.CloseGroup:
-                                       Close (program [pc + 1] | ((int)program [pc + 2] << 8), strpos);
-                                       pc += 3;
-                                       continue;
-                               case RxOp.BalanceStart: {
-                                       int res = 0;
-
-                                       if (!EvalByteCode (pc + 8, strpos, ref res))
-                                               goto Fail;
-
-                                       int gid = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       int balance_gid = program [pc + 3] | ((int)program [pc + 4] << 8);
-                                       bool capture = program [pc + 5] > 0;
-                                       if (!Balance (gid, balance_gid, capture, strpos))
-                                               goto Fail;
-
-                                       strpos = res;                                   
-                                       pc += program[pc + 6] | ((int)program [pc + 7] << 8);
-                                       break;
-                               }
-                               case RxOp.Balance: {
-                                       goto Pass;
-                               }
-
-                               case RxOp.Jump:
-                                       pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       continue;
-                               case RxOp.TestCharGroup:
-                                       char_group_end = pc + (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       pc += 3;
-                                       continue;
-                               case RxOp.String:
-                                       start = pc + 2;
-                                       length = program [pc + 1];
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       end = start + length;
-                                       for (; start < end; ++start) {
-                                               if (str [strpos] != program [start])
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc = end;
-                                       continue;
-                               case RxOp.StringIgnoreCase:
-                                       start = pc + 2;
-                                       length = program [pc + 1];
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       end = start + length;
-                                       for (; start < end; ++start) {
-                                               if (str [strpos] != program [start] && Char.ToLower (str [strpos]) != program [start])
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc = end;
-                                       continue;
-                               case RxOp.StringReverse: {
-                                       start = pc + 2;
-                                       length = program [pc + 1];
-                                       if (strpos < length)
-                                               return false;
-                                       int p = strpos - length;
-                                       end = start + length;
-                                       for (; start < end; ++start, ++p) {
-                                               if (str [p] != program [start])
-                                                       return false;
-                                       }
-                                       strpos -= length;
-                                       pc = end;
-                                       continue;
-                               }
-                               case RxOp.StringIgnoreCaseReverse: {
-                                       start = pc + 2;
-                                       length = program [pc + 1];
-                                       if (strpos < length)
-                                               return false;
-                                       int p = strpos - length;
-                                       end = start + length;
-                                       for (; start < end; ++start, ++p) {
-                                               if (str [p] != program [start] && Char.ToLower (str [p]) != program [start])
-                                                       return false;
-                                       }
-                                       strpos -= length;
-                                       pc = end;
-                                       continue;
-                               }
-                               case RxOp.UnicodeString: {
-                                       start = pc + 3;
-                                       length = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       end = start + length * 2;
-                                       for (; start < end; start += 2) {
-                                               int c = program [start] | ((int)program [start + 1] << 8);
-                                               if (str [strpos] != c)
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc = end;
-                                       continue;
-                               }
-                               case RxOp.UnicodeStringIgnoreCase: {
-                                       start = pc + 3;
-                                       length = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       if (strpos + length > string_end)
-                                               return false;
-                                       end = start + length * 2;
-                                       for (; start < end; start += 2) {
-                                               int c = program [start] | ((int)program [start + 1] << 8);
-                                               if (str [strpos] != c && Char.ToLower (str [strpos]) != c)
-                                                       return false;
-                                               strpos++;
-                                       }
-                                       pc = end;
-                                       continue;
-                               }
-                               case RxOp.UnicodeStringReverse: {
-                                       start = pc + 3;
-                                       length = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       if (strpos < length)
-                                               return false;
-                                       int p = strpos - length;
-                                       end = start + length * 2;
-                                       for (; start < end; start += 2, p += 2) {
-                                               int c = program [start] | ((int)program [start + 1] << 8);
-                                               if (str [p] != c)
-                                                       return false;
-                                       }
-                                       strpos -= length;
-                                       pc = end;
-                                       continue;
-                               }
-                               case RxOp.UnicodeStringIgnoreCaseReverse: {
-                                       start = pc + 3;
-                                       length = program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       if (strpos < length)
-                                               return false;
-                                       int p = strpos - length;
-                                       end = start + length * 2;
-                                       for (; start < end; start += 2, p += 2) {
-                                               int c = program [start] | ((int)program [start + 1] << 8);
-                                               if (str [p] != c && Char.ToLower (str [p]) != c)
-                                                       return false;
-                                       }
-                                       strpos -= length;
-                                       pc = end;
-                                       continue;
-                               }
-
-                                       /*
-                                        * The opcodes below are basically specialized versions of one 
-                                        * generic opcode, which has three parameters:
-                                        * - reverse (Reverse), revert (No), ignore-case (IgnoreCase)
-                                        * Thus each opcode has 8 variants.
-                                        * FIXME: Maybe move all unusual variations 
-                                        * (Reverse+IgnoreCase+Unicode) into a generic GenericChar opcode 
-                                        * like in the old interpreter.
-                                        * FIXME: Move all the Reverse opcodes to a separate method.
-                                        */
-#if FALSE
-                                       if (!reverse) {
-                                               if (strpos < string_end && (COND (str [strpos]))) {
-                                                       if (!revert) {
-                                                               strpos ++;
-                                                               if (char_group_end != 0)
-                                                                       goto test_char_group_passed;
-                                                               pc += ins_len;
-                                                               continue;
-                                                       } else {
-                                                               /*
-                                                                * If we are inside a char group, the cases are ANDed 
-                                                                * together, so we have to continue checking the
-                                                                * other cases, and we need to increase strpos after 
-                                                                * the final check.
-                                                                * The char group is termined by a True, hence the
-                                                                * + 1 below.
-                                                                * FIXME: Optimize this.
-                                                                */
-                                                               pc += ins_len;
-                                                               if (char_group_end == 0 || (pc + 1 == char_group_end))
-                                                                       strpos ++;
-                                                               if (pc + 1 == char_group_end)
-                                                                       goto test_char_group_passed;
-                                                               continue;
-                                                       }
-                                               } else {
-                                                       if (!revert) {
-                                                               if (char_group_end == 0)
-                                                                       return false;
-                                                               pc += ins_len;
-                                                               continue;
-                                                       } else {
-                                                               /* Fail both inside and outside a char group */
-                                                               return false;
-                                                       }
-                                               }
-                                       } else {
-                                               // Same as above, but use:
-                                               // - strpos > 0 instead of strpos < string_len
-                                               // - COND (str [strpos - 1]) instead of COND (str [strpos])
-                                               // - strpos -- instead of strpos ++
-                                       }
-#endif
-                               // GENERATED BY gen-interp.cs, DO NOT MODIFY
-                               
-                               /* Char */
-                               
-                               case RxOp.Char:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c == program [pc + 1]))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               
-                               /* Range */
-                               
-                               case RxOp.Range:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               
-                               /* UnicodeRange */
-                               
-                               case RxOp.UnicodeRange:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5;
-                                       continue;
-                               
-                               /* UnicodeChar */
-                               
-                               case RxOp.UnicodeChar:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               
-                               /* CategoryAny */
-                               
-                               case RxOp.CategoryAny:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c != '\n'))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryAnySingleline */
-                               
-                               case RxOp.CategoryAnySingleline:
-                                       if (strpos < string_end) {
-                                               // char c = str [strpos];
-                                               if ((true)) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryWord */
-                               
-                               case RxOp.CategoryWord:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryDigit */
-                               
-                               case RxOp.CategoryDigit:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((Char.IsDigit (c)))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryWhiteSpace */
-                               
-                               case RxOp.CategoryWhiteSpace:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((Char.IsWhiteSpace (c)))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryEcmaWord */
-                               
-                               case RxOp.CategoryEcmaWord:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if ((('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_'))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryEcmaWhiteSpace */
-                               
-                               case RxOp.CategoryEcmaWhiteSpace:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v'))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryUnicodeSpecials */
-                               
-                               case RxOp.CategoryUnicodeSpecials:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if ((('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD'))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               
-                               /* CategoryUnicode */
-                               
-                               case RxOp.CategoryUnicode:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1]))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               
-                               /* CategoryGeneral */
-                               
-                               case RxOp.CategoryGeneral:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (((CategoryUtils.IsCategory ((Category)program [pc + 1], c)))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               
-                               /* Bitmap */
-                               
-                               case RxOp.Bitmap:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3 + program [pc + 2];
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3 + program [pc + 2];
-                                       continue;
-                               
-                               /* UnicodeBitmap */
-                               
-                               case RxOp.UnicodeBitmap:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                       continue;
-                               case RxOp.CharIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (((c == program [pc + 1]))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               case RxOp.RangeIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.UnicodeRangeIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5;
-                                       continue;
-                               case RxOp.UnicodeCharIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.BitmapIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3 + program [pc + 2];
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3 + program [pc + 2];
-                                       continue;
-                               case RxOp.UnicodeBitmapIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos ++;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                       continue;
-                               case RxOp.NoChar:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c == program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoRange:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeRange:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       pc += 5;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeChar:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryAny:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c != '\n'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryAnySingleline:
-                                       if (strpos < string_end) {
-#if DEAD_CODE
-                                               char c = str [strpos];
-                                               if (!(true)) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-#endif
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryWord:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryDigit:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((Char.IsDigit (c)))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryWhiteSpace:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((Char.IsWhiteSpace (c)))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryEcmaWord:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!(('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryEcmaWhiteSpace:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryUnicodeSpecials:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!(('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryUnicode:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryGeneral:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               if (!((CategoryUtils.IsCategory ((Category)program [pc + 1], c)))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoBitmap:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 3 + program [pc + 2];
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeBitmap:
-                                       if (strpos < string_end) {
-                                               char c = str [strpos];
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCharIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (!((c == program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoRangeIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (!((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeRangeIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (!((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       pc += 5;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeCharIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               if (!((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoBitmapIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 3 + program [pc + 2];
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeBitmapIgnoreCase:
-                                       if (strpos < string_end) {
-                                               char c = Char.ToLower (str [strpos]);
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos ++;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.CharReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c == program [pc + 1]))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               case RxOp.RangeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.UnicodeRangeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5;
-                                       continue;
-                               case RxOp.UnicodeCharReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.CategoryAnyReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c != '\n'))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryAnySinglelineReverse:
-                                       if (strpos > 0) {
-                                               //char c = str [strpos - 1];
-                                               if ((true)) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryWordReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryDigitReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((Char.IsDigit (c)))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryWhiteSpaceReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((Char.IsWhiteSpace (c)))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryEcmaWordReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if ((('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_'))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryEcmaWhiteSpaceReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v'))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryUnicodeSpecialsReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if ((('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD'))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 1;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 1;
-                                       continue;
-                               case RxOp.CategoryUnicodeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1]))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               case RxOp.CategoryGeneralReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (((CategoryUtils.IsCategory ((Category)program [pc + 1], c)))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               case RxOp.BitmapReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3 + program [pc + 2];
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3 + program [pc + 2];
-                                       continue;
-                               case RxOp.UnicodeBitmapReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                       continue;
-                               case RxOp.CharIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (((c == program [pc + 1]))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 2;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 2;
-                                       continue;
-                               case RxOp.RangeIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.UnicodeRangeIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5;
-                                       continue;
-                               case RxOp.UnicodeCharIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3;
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3;
-                                       continue;
-                               case RxOp.BitmapIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 3 + program [pc + 2];
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 3 + program [pc + 2];
-                                       continue;
-                               case RxOp.UnicodeBitmapIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       strpos --;
-                                                       if (char_group_end != 0)
-                                                               goto test_char_group_passed;
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       continue;
-                                               }
-                                       }
-                                       if (char_group_end == 0)
-                                               return false;
-                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                       continue;
-                               case RxOp.NoCharReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c == program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoRangeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeRangeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       pc += 5;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeCharReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryAnyReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c != '\n'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryAnySinglelineReverse:
-                                       if (strpos > 0) {
-#if DEAD_CODe
-                                               char c = str [strpos - 1];
-                                               if (!(true)) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-#endif
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryWordReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryDigitReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((Char.IsDigit (c)))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryWhiteSpaceReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((Char.IsWhiteSpace (c)))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryEcmaWordReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!(('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryEcmaWhiteSpaceReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryUnicodeSpecialsReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!(('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD'))) {
-                                                       pc += 1;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryUnicodeReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCategoryGeneralReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               if (!((CategoryUtils.IsCategory ((Category)program [pc + 1], c)))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoBitmapReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 3 + program [pc + 2];
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeBitmapReverse:
-                                       if (strpos > 0) {
-                                               char c = str [strpos - 1];
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoCharIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (!((c == program [pc + 1]))) {
-                                                       pc += 2;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoRangeIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (!((c >= program [pc + 1] && c <= program [pc + 2]))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeRangeIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (!((c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8))))) {
-                                                       pc += 5;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeCharIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               if (!((c == (program [pc + 1] | ((int)program [pc + 2] << 8))))) {
-                                                       pc += 3;
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoBitmapIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 3 + program [pc + 2];
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               case RxOp.NoUnicodeBitmapIgnoreCaseReverse:
-                                       if (strpos > 0) {
-                                               char c = Char.ToLower (str [strpos - 1]);
-                                               int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                               if (!((c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0))) {
-                                                       pc += 5 + (program [pc + 3] | ((int)program [pc + 4] << 8));
-                                                       if (char_group_end == 0 || (pc + 1 == char_group_end)) {
-                                                               strpos --;
-                                                       if (pc + 1 == char_group_end)
-                                                               goto test_char_group_passed;
-                                                       }
-                                                       continue;
-                                               }
-                                       }
-                                       return false;
-                               
-                               // END OF GENERATED CODE
-
-                               case RxOp.Branch: {
-                                       int res = 0;
-                                       if (EvalByteCode (pc + 3, strpos, ref res)) {
-                                               strpos_result = res;
-                                               return true;
-                                       }
-                                       //Console.WriteLine ("branch offset: {0}", program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       pc += program [pc + 1] | ((int)program [pc + 2] << 8);
-                                       continue;
-                               }
-                               case RxOp.Repeat:
-                               case RxOp.RepeatLazy: {
-                                       /*
-                                        * Repetation is modelled by two opcodes: Repeat and Until which
-                                        * contain the the qualified regex between them, i.e.:
-                                        * Repeat, <bytecode for the inner regex>, Until, <Tail expr>
-                                        * It is processed as follows: 
-                                        * Repeat, [Until, <inner expr>]*, <Tail>
-                                        * This means that nested quantifiers are processed a bit
-                                        * strangely: when the inner quantifier fails to match, its
-                                        * tail is processed which includes the outer Until.
-                                        *
-                                        * This code is from the old interpreter.cs.
-                                        *
-                                        * FIXME: Rethink this.
-                                        */
-
-                                       int res = 0;
-
-                                       this.repeat = new RepeatContext (
-                                               this.repeat,                    // previous context
-                                               ReadInt (program, pc + 3),              // minimum
-                                               ReadInt (program, pc + 7),              // maximum
-                                               (RxOp)program [pc] == RxOp.RepeatLazy, // lazy
-                                               pc + 11                         // subexpression
-                                       );
-
-                                       int until = pc + (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       if (!EvalByteCode (until, strpos, ref res)) {
-                                               this.repeat = this.repeat.Previous;
-                                               return false;
-                                       }
-
-                                       strpos = res;
-                                       strpos_result = strpos;
-                                       return true;
-                               }
-                               case RxOp.Until: {
-                                       RepeatContext current = this.repeat;
-                                       int res = 0;
-
-                                       //
-                                       // Can we avoid recursion?
-                                       //
-                                       // Backtracking can be forced in nested quantifiers from the tail of this quantifier.
-                                       // Thus, we cannot, in general, use a simple loop on repeat.Expression to handle
-                                       // quantifiers.
-                                       //
-                                       // If 'deep' was unmolested, that implies that there was no nested quantifiers.
-                                       // Thus, we can safely avoid recursion.
-                                       //
-                                       if (deep == current)
-                                               goto Pass;
-
-                                       start = current.Start;
-                                       int start_count = current.Count;
-
-                                       // First match at least 'start' items without backtracking
-                                       while (!current.IsMinimum) {
-                                               ++ current.Count;
-                                               current.Start = strpos;
-                                               deep = current;
-                                               if (!EvalByteCode (current.Expression, strpos, ref res)) {
-                                                       current.Start = start;
-                                                       current.Count = start_count;
-                                                       goto Fail;
-                                               }
-                                               strpos = res;
-                                               if (deep != current)    // recursive mode
-                                                       goto Pass;
-                                       }
-
-                                       if (strpos == current.Start) {
-                                               // degenerate match ... match tail or fail
-                                               this.repeat = current.Previous;
-                                               deep = null;
-                                               if (EvalByteCode (pc + 1, strpos, ref res)) {
-                                                       strpos = res;
-                                                       goto Pass;
-                                               }
-                                               this.repeat = current;
-                                               goto Fail;
-                                       }
-
-                                       if (current.IsLazy) {
-                                               for (;;) {
-                                                       // match tail first ...
-                                                       this.repeat = current.Previous;
-                                                       deep = null;
-                                                       int cp = Checkpoint ();
-                                                       if (EvalByteCode (pc + 1, strpos, ref res)) {
-                                                               strpos = res;
-                                                               goto Pass;
-                                                       }
-
-                                                       Backtrack (cp);
-
-                                                       // ... then match more
-                                                       this.repeat = current;
-                                                       if (current.IsMaximum)
-                                                               goto Fail;
-                                                       ++ current.Count;
-                                                       current.Start = strpos;
-                                                       deep = current;
-                                                       if (!EvalByteCode (current.Expression, strpos, ref res)) {
-                                                               current.Start = start;
-                                                               current.Count = start_count;
-                                                               goto Fail;
-                                                       }
-                                                       strpos = res;
-                                                       if (deep != current)    // recursive mode
-                                                               goto Pass;
-                                                       // Degenerate match: ptr has not moved since the last (failed) tail match.
-                                                       // So, next and subsequent tail matches will fail.
-                                                       if (strpos == current.Start)
-                                                               goto Fail;
-                                               }
-                                       } else {
-                                               int stack_size = stack.Count;
-
-                                               // match greedily as much as possible
-                                               while (!current.IsMaximum) {
-                                                       int cp = Checkpoint ();
-                                                       int old_ptr = strpos;
-                                                       int old_start = current.Start;
-
-                                                       ++ current.Count;
-                                                       if (trace_rx)
-                                                               Console.WriteLine ("recurse with count {0}.", current.Count);
-                                                       current.Start = strpos;
-                                                       deep = current;
-                                                       if (!EvalByteCode (current.Expression, strpos, ref res)) {
-                                                               -- current.Count;
-                                                               current.Start = old_start;
-                                                               Backtrack (cp);
-                                                               break;
-                                                       }
-                                                       strpos = res;
-                                                       if (deep != current) {
-                                                               // recursive mode: no more backtracking, truncate the stack
-                                                               stack.Count = stack_size;
-                                                               goto Pass;
-                                                       }
-                                                       stack.Push (cp);
-                                                       stack.Push (old_ptr);
-
-                                                       // Degenerate match: no point going on
-                                                       if (strpos == current.Start)
-                                                               break;
-                                               }
-
-                                               if (trace_rx)
-                                                       Console.WriteLine ("matching tail: {0} pc={1}", strpos, pc + 1);
-                                               // then, match the tail, backtracking as necessary.
-                                               this.repeat = current.Previous;
-                                               for (;;) {
-                                                       deep = null;
-                                                       if (EvalByteCode (pc + 1, strpos, ref res)) {
-                                                               strpos = res;
-                                                               stack.Count = stack_size;
-                                                               goto Pass;
-                                                       }
-                                                       if (stack.Count == stack_size) {
-                                                               this.repeat = current;
-                                                               goto Fail;
-                                                       }
-
-                                                       --current.Count;
-                                                       strpos = stack.Pop ();
-                                                       Backtrack (stack.Pop ());
-                                                       if (trace_rx)
-                                                               Console.WriteLine ("backtracking to {0} expr={1} pc={2}", strpos, current.Expression, pc);
-                                               }
-                                       }
-                               }
-
-                               case RxOp.FastRepeat:
-                               case RxOp.FastRepeatLazy: {
-                                       /*
-                                        * A FastRepeat is a simplified version of Repeat which does
-                                        * not contain another repeat inside, so backtracking is 
-                                        * easier.
-                                        */
-                                       bool lazy = program [pc] == (byte)RxOp.FastRepeatLazy;
-                                       int res = 0;
-                                       int tail = pc + (program [pc + 1] | ((int)program [pc + 2] << 8));
-                                       start = ReadInt (program, pc + 3);
-                                       end = ReadInt (program, pc + 7);
-                                       //Console.WriteLine ("min: {0}, max: {1} tail: {2}", start, end, tail);
-                                       length = 0;
-
-                                       deep = null;
-
-                                       // First match at least 'start' items
-                                       while (length < start) {
-                                               if (!EvalByteCode (pc + 11, strpos, ref res))
-                                                       return false;
-                                               strpos = res;
-                                               length++;
-                                       }
-                                       
-                                       if (lazy) {
-                                               while (true) {
-                                                       // Match the tail
-                                                       int cp = Checkpoint ();
-                                                       if (EvalByteCode (tail, strpos, ref res)) {
-                                                               strpos = res;
-                                                               goto repeat_success;
-                                                       }
-                                                       Backtrack (cp);
-
-                                                       if (length >= end)
-                                                               return false;
-
-                                                       // Match an item
-                                                       if (!EvalByteCode (pc + 11, strpos, ref res))
-                                                               return false;
-                                                       strpos = res;
-                                                       length ++;
-                                               }
-                                       } else {
-                                               // Then match as many items as possible, recording
-                                               // backtracking information
-                                               int old_stack_size = stack.Count;
-                                               while (length < end) {
-                                                       int cp = Checkpoint ();
-                                                       if (!EvalByteCode (pc + 11, strpos, ref res)) {
-                                                               Backtrack (cp);
-                                                               break;
-                                                       }
-                                                       stack.Push (cp);
-                                                       stack.Push (strpos);
-                                                       strpos = res;
-                                                       length++;
-                                               }       
-
-                                               if (tail <= pc)
-                                                       throw new Exception ();
-
-                                               // Then, match the tail, backtracking as necessary.
-                                               while (true) {
-                                                       if (EvalByteCode (tail, strpos, ref res)) {
-                                                               strpos = res;
-                                                               stack.Count = old_stack_size;
-                                                               goto repeat_success;
-                                                       }
-                                                       if (stack.Count == old_stack_size)
-                                                               return false;
-
-                                                       // Backtrack
-                                                       strpos = stack.Pop ();
-                                                       Backtrack (stack.Pop ());
-                                                       if (trace_rx)
-                                                               Console.WriteLine ("backtracking to: {0}", strpos);
-                                               }
-                                       }
-
-                               repeat_success:
-                                       // We matched the tail too so just return
-                                       goto Pass;
-                               }
-
-                               default:
-                                       Console.WriteLine ("evaluating: {0} at pc: {1}, strpos: {2}", (RxOp)program [pc], pc, strpos);
-                                       throw new NotSupportedException ();
-                               }
-                               continue;
-
-                       Pass:
-                               strpos_result = strpos;
-                               return true;
-                       Fail:
-                               return false;
-                       test_char_group_passed:
-                               pc = char_group_end;
-                               char_group_end = 0;
-                               continue;
-                       } // end of while (true)
-               }
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/RxOp.cs b/mcs/class/System/System.Text.RegularExpressions/RxOp.cs
deleted file mode 100644 (file)
index 43f8172..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-
-namespace System.Text.RegularExpressions {
-
-       // for the IgnoreCase opcodes, the char data is stored lowercased
-       // two-byte integers are in little endian format
-       enum RxOp : byte {
-               // followed by count, min, max integers
-               Info,
-
-               False,
-               True,
-
-               // position anchors 
-               AnyPosition,
-               StartOfString,
-               StartOfLine,
-               StartOfScan,
-               EndOfString,
-               EndOfLine,
-               End,
-               WordBoundary,
-               NoWordBoundary,
-
-               // latin1 strings
-               // followed by single byte length and latin1 bytes
-               // keep the order, see EmitString ()
-               String,
-               StringIgnoreCase,
-               StringReverse,
-               StringIgnoreCaseReverse,
-
-               // followed by two byte length and unicode chars (two bytes per char)
-               // a better setup may be to reference the chars in the patterns string
-               // (offset, length) pairs, at least when the pattern contains them,
-               // but this means we can't lowercase before hand: consider using a separate
-               // string/array
-               // keep the order, see EmitString ()
-               UnicodeString,
-               UnicodeStringIgnoreCase,
-               UnicodeStringReverse,
-               UnicodeStringIgnoreCaseReverse,
-
-               // latin1 single char
-               // followed by a latin1 byte
-               // keep the order, see EmitCharacter ()
-               Char,
-               NoChar,
-               CharIgnoreCase,
-               NoCharIgnoreCase,
-               CharReverse,
-               NoCharReverse,
-               CharIgnoreCaseReverse,
-               NoCharIgnoreCaseReverse,
-
-               // followed by latin1 min and max bytes
-               // keep the order, see EmitRange ()
-               Range,
-               NoRange,
-               RangeIgnoreCase,
-               NoRangeIgnoreCase,
-               RangeReverse,
-               NoRangeReverse,
-               RangeIgnoreCaseReverse,
-               NoRangeIgnoreCaseReverse,
-
-               // followed by lowbyte and length of the bitmap and by the bitmap
-               // keep the order, see EmitSet ()
-               Bitmap,
-               NoBitmap,
-               BitmapIgnoreCase,
-               NoBitmapIgnoreCase,
-               BitmapReverse,
-               NoBitmapReverse,
-               BitmapIgnoreCaseReverse,
-               NoBitmapIgnoreCaseReverse,
-
-               // unicode chars
-               // followed by a unicode char
-               // keep the order, see EmitCharacter ()
-               UnicodeChar,
-               NoUnicodeChar,
-               UnicodeCharIgnoreCase,
-               NoUnicodeCharIgnoreCase,
-               UnicodeCharReverse,
-               NoUnicodeCharReverse,
-               UnicodeCharIgnoreCaseReverse,
-               NoUnicodeCharIgnoreCaseReverse,
-
-               // followed by unicode char min and max chars
-               // keep the order, see EmitRange ()
-               UnicodeRange,
-               NoUnicodeRange,
-               UnicodeRangeIgnoreCase,
-               NoUnicodeRangeIgnoreCase,
-               UnicodeRangeReverse,
-               NoUnicodeRangeReverse,
-               UnicodeRangeIgnoreCaseReverse,
-               NoUnicodeRangeIgnoreCaseReverse,
-
-               // followed by lowchar and length of the bitmap and by the bitmap
-               UnicodeBitmap,
-               NoUnicodeBitmap,
-               UnicodeBitmapIgnoreCase,
-               NoUnicodeBitmapIgnoreCase,
-               UnicodeBitmapReverse,
-               NoUnicodeBitmapReverse,
-               UnicodeBitmapIgnoreCaseReverse,
-               NoUnicodeBitmapIgnoreCaseReverse,
-
-               // add reverse and negate versions of the categories
-               CategoryAny,
-               NoCategoryAny,
-               CategoryAnyReverse,
-               NoCategoryAnyReverse,
-               CategoryAnySingleline,
-               NoCategoryAnySingleline,
-               CategoryAnySinglelineReverse,
-               NoCategoryAnySinglelineReverse,
-               CategoryDigit,
-               NoCategoryDigit,
-               CategoryDigitReverse,
-               NoCategoryDigitReverse,
-               CategoryWord,
-               NoCategoryWord,
-               CategoryWordReverse,
-               NoCategoryWordReverse,
-               CategoryWhiteSpace,
-               NoCategoryWhiteSpace,
-               CategoryWhiteSpaceReverse,
-               NoCategoryWhiteSpaceReverse,
-               CategoryEcmaWord,
-               NoCategoryEcmaWord,
-               CategoryEcmaWordReverse,
-               NoCategoryEcmaWordReverse,
-               CategoryEcmaWhiteSpace,
-               NoCategoryEcmaWhiteSpace,
-               CategoryEcmaWhiteSpaceReverse,
-               NoCategoryEcmaWhiteSpaceReverse,
-
-               // followed by a unicode category value (byte)
-               CategoryUnicode,
-               NoCategoryUnicode,
-               CategoryUnicodeReverse,
-               NoCategoryUnicodeReverse,
-
-               CategoryUnicodeLetter,
-               NoCategoryUnicodeLetter,
-               CategoryUnicodeLetterReverse,
-               NoCategoryUnicodeLetterReverse,
-               CategoryUnicodeMark,
-               NoCategoryUnicodeMark,
-               CategoryUnicodeMarkReverse,
-               NoCategoryUnicodeMarkReverse,
-               CategoryUnicodeNumber,
-               NoCategoryUnicodeNumber,
-               CategoryUnicodeNumberReverse,
-               NoCategoryUnicodeNumberReverse,
-               CategoryUnicodeSeparator,
-               NoCategoryUnicodeSeparator,
-               CategoryUnicodeSeparatorReverse,
-               NoCategoryUnicodeSeparatorReverse,
-               CategoryUnicodePunctuation,
-               NoCategoryUnicodePunctuation,
-               CategoryUnicodePunctuationReverse,
-               NoCategoryUnicodePunctuationReverse,
-               CategoryUnicodeSymbol,
-               NoCategoryUnicodeSymbol,
-               CategoryUnicodeSymbolReverse,
-               NoCategoryUnicodeSymbolReverse,
-               CategoryUnicodeSpecials,
-               NoCategoryUnicodeSpecials,
-               CategoryUnicodeSpecialsReverse,
-               NoCategoryUnicodeSpecialsReverse,
-               CategoryUnicodeOther,
-               NoCategoryUnicodeOther,
-               CategoryUnicodeOtherReverse,
-               NoCategoryUnicodeOtherReverse,
-               // add more categories
-
-               // followed by Category value (byte)
-               CategoryGeneral,
-               NoCategoryGeneral,
-               CategoryGeneralReverse,
-               NoCategoryGeneralReverse,
-
-               // backreferences
-               // followed by two-byte reference number
-               // keep the order, see EmitReference ()
-               Reference,
-               ReferenceIgnoreCase,
-               ReferenceReverse,
-               ReferenceIgnoreCaseReverse,
-
-               // group/capture support
-               // followed by two-byte group id
-               OpenGroup,
-               CloseGroup,
-               
-               BalanceStart,
-               Balance,
-
-               // followed by offset and two-byte group id
-               IfDefined,
-
-               // skip ahead num bytes
-               // followed by two-byte offset
-               Jump,
-
-               // followed by two-byte offset
-               SubExpression,
-
-               // followed by true and false two-byte offsets
-               Test,
-
-               // followed by two-byte offset
-               Branch,
-
-               // followed by two-byte offset
-               TestCharGroup,
-
-               // anchoring expression
-               // followed by offset of tail and offset
-               Anchor,
-               AnchorReverse,
-
-               // repetition support
-               // followed by min, max ints
-               Repeat,
-               RepeatLazy,
-               Until,
-               FastRepeat,
-               FastRepeatLazy,
-               // followed by min byte
-               RepeatInfinite,
-               RepeatInfiniteLazy,
-       }
-}
-
diff --git a/mcs/class/System/System.Text.RegularExpressions/arch.cs b/mcs/class/System/System.Text.RegularExpressions/arch.cs
deleted file mode 100644 (file)
index 89ce958..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       arch.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace System.Text.RegularExpressions {
-
-       enum OpCode : ushort {
-               False           = 0,    // always fails
-               True,                   // always succeeds
-
-               // matching
-
-               Position,               // zero-width position assertion
-               String,                 // match string literal
-               Reference,              // back reference
-
-               // character matching
-
-               Character,              // match character exactly
-               Category,               // match character from category
-               NotCategory,            // match character _not_ from category
-               Range,                  // match character from range
-               Set,                    // match character from set
-               In,                     // match character from group of tests
-
-               // capturing
-
-               Open,                   // open group
-               Close,                  // close group
-               Balance,                // balance groups
-               BalanceStart,           //track balance group length
-
-               // control flow
-
-               IfDefined,              // conditional on capture
-               Sub,                    // non-backtracking subexpression
-               Test,                   // non-backtracking lookahead/behind
-               Branch,                 // alternative expression
-               Jump,                   // unconditional goto
-               Repeat,                 // new repeat context
-               Until,                  // repeat subexpression within context
-               FastRepeat,             // repeat simple subexpression
-               Anchor,                 // anchoring expression
-
-               // miscellaneous
-               
-               Info                    // pattern information
-       }
-
-       [Flags]
-       enum OpFlags : ushort {
-               None            = 0x000,
-               Negate          = 0x100,        // succeed on mismatch
-               IgnoreCase      = 0x200,        // case insensitive matching
-               RightToLeft     = 0x400,        // right-to-left matching
-               Lazy            = 0x800         // minimizing repeat
-       }
-
-       enum Position : ushort {
-               Any,                    // anywhere
-               Start,                  // start of string                      \A
-               StartOfString,          // start of string                      \A
-               StartOfLine,            // start of line                        ^
-               StartOfScan,            // start of scan                        \G
-               End,                    // end or before newline at end         \Z
-               EndOfString,            // end of string                        \z
-               EndOfLine,              // end of line                          $
-               Boundary,               // word boundary                        \b
-               NonBoundary             // not word boundary                    \B
-       };
-       
-       // see category.cs for Category enum
-
-       interface IMachine {
-               Match Scan (Regex regex, string text, int start, int end);
-               Match Scan (Regex regex, string text, int start, int end, bool substring_mode);
-               string [] Split (Regex regex, string input, int count, int startat);
-               string Replace (Regex regex, string input, string replacement, int count, int startat);
-               string Result (string replacement, Match match);
-       }
-
-       interface IMachineFactory {
-               IMachine NewInstance ();
-               IDictionary Mapping { get; set; }
-               int GroupCount { get; }
-               int Gap { get; set; } // Index of first group whose number differs from its index, or 1+GroupCount
-               string [] NamesMapping { get; set; }
-       }
-
-       // Anchor SKIP OFFSET
-       //
-       // Flags:       [RightToLeft] ??
-       // SKIP:        relative address of tail expression
-       // OFFSET:      offset of anchor from start of pattern
-       //
-       // Usage:
-       //
-       //      Anchor :1 OFFSET
-       //              <expr>
-       //              True
-       // 1:   <tail>
-       //
-       // Notes:
-       //
-       // In practice, the anchoring expression is only going to be
-       // Position (StartOfString, StartOfLine, StartOfScan) or String.
-       // This is because the optimizer looks for position anchors at the
-       // start of the expression, and if that fails it looks for the
-       // longest substring. If an expression has neither a position
-       // anchor or a longest substring anchor, then the anchoring expression
-       // is left empty. Since an empty expression will anchor at any
-       // position in any string, the entire input string will be scanned.
-
-       // String LEN STR...
-       //
-       // Flags:       [RightToLeft, IgnoreCase]
-       // LEN:         length of string
-       // STR:         string characters
-
-       // Branch SKIP
-       //
-       // SKIP:        relative address of next branch
-       //
-       //      Branch :1
-       //              <alt expr 1>
-       //              Jump :4
-       // 1:   Branch :2
-       //              <alt expr 2>
-       //              Jump :4
-       // 2:   Branch :3
-       //              <alt expr 3>
-       //              Jump :4
-       // 3:   False
-       // 4:   <tail>
-
-       // Repeat SKIP MIN MAX
-       //
-       // Flags:       [Lazy]
-       // SKIP:        relative address of Until instruction
-       // MIN:         minimum iterations (2 slots)
-       // MAX:         maximum iterations (2 slots, 0x7fffffff is infinity)
-       //
-       //      Repeat :1 MIN MAX
-       //              <expr>
-       //              Until
-       // 1:   <tail>
-
-       // FastRepeat SKIP MIN MAX
-       //
-       // Flags:       [Lazy]
-       // SKIP:        relative address of tail expression
-       // MIN:         minimum iterations (2 slots)
-       // MAX:         maximum iterations (2 slots, 0x7fffffff is infinity)
-       //
-       //      FastRepeat :1 MIN MAX
-       //              <expr>
-       //              True
-       // 1:   <tail>
-       //
-       // Notes:
-       //
-       // The subexpression of a FastRepeat construct must not contain any
-       // complex operators. These include: Open, Close, Balance, Repeat,
-       // FastRepeat, Sub, Test. In addition, the subexpression must have
-       // been determined to have a fixed width.
-       
-       // Sub SKIP
-       //
-       // SKIP:        relative address of tail expression
-       //
-       //      Sub :1
-       //              <expr>
-       // 1:   <tail>
-       //
-       // Notes:
-       //
-       // The Sub operator invokes an independent subexpression. This means
-       // that the subexpression will match only once and so will not
-       // participate in any backtracking.
-
-       // Test TSKIP FSKIP
-       //
-       // TSKIP:       relative address of true expression
-       // FSKIP:       relative address of false expression
-       //
-       // Usage:       (?(?=test)true|false)
-       //
-       //      Test :1 :2
-       //              <test expr>
-       // 1:           <true expr>
-       //              Jump
-       // 2:           <false epxr>
-       //      <tail>
-       //
-       // Usage:       (?(?=test)true)
-       //
-       //      Test :1 :2
-       //              <test expr>
-       // 1:           <true expr>
-       // 2:   <tail>
-       //
-       // Usage:       (?=test)
-       //
-       //      Test :1 :2
-       //              <test expr>
-       // 1:           <true expr>
-       //              Jump 3:
-       // 2:           False
-       // 3:           <tail>
-       //
-       // Notes:
-       //
-       // For negative lookaheads, just swap the values of TSKIP and
-       // FSKIP. For lookbehinds, the test expression must be compiled
-       // in reverse. The test expression is always executed as an
-       // independent subexpression, so its behaviour is non-backtracking
-       // (like a Sub clause.)
-
-       // IfDefined SKIP GID
-       //
-       // SKIP:        relative address of else expression
-       // GID:         number of group to check
-       //
-       // Usage:       (?(gid)true)
-       //
-       //      IfDefined :1
-       //              <true expr>
-       // 1:   <tail>
-       //
-       // Usage:       (?(gid)true|false)
-       //
-       //      IfDefined :1
-       //              <true expr>
-       //              Jump :2
-       // 1:           <false expr>
-       // 2:   <tail>
-
-       // Jump SKIP
-       //
-       // SKIP:        relative address of target expression
-       //
-       //      Jump :1
-       //      ...
-       // :1   <target expr>
-
-       // Character CHAR
-       //
-       // Flags:       [Negate, IgnoreCase, RightToLeft]
-       // CHAR:        exact character to match
-
-       // Category CAT
-       //
-       // Flags:       [Negate, RightToLeft]
-       // CAT:         category to match (see Category enum)
-
-       // Range LO HI
-       //
-       // Flags:       [Negate, IgnoreCase, RightToLeft]
-       // LO:          lowest character in range
-       // HI:          higest character in range
-
-       // Set LO LEN SET...
-       //
-       // Flags:       [Negate, IgnoreCase, RightToLeft]
-       // LO:          lowest character in set
-       // LEN:         number of words in set
-       // SET:         bit array representing characters in set
-       //
-       // Notes:
-       //
-       // Each word in the set represents 16 characters, so the first word
-       // defines membership for characters LO to LO + 15, the second for
-       // LO + 16 to LO + 31, and so on up to LO + (LEN * 16 - 1). It is
-       // up to the compiler to provide a compact representation for sparse
-       // unicode sets. The simple way is to use Set 0 4096. Other methods
-       // involve paritioning the set and placing the components into an
-       // In block.
-
-       // In SKIP
-       //
-       // SKIP:        relative address of tail expression
-       //
-       // Usage:       [expr]
-       //
-       //      In :1
-       //              <expr>
-       //              True
-       // :1   <tail>
-       //
-       // Usage:       [^expr]
-       //
-       //      In :1
-       //              <expr>
-       //              False
-       // :1   <tail>
-       //
-       // Notes:
-       //
-       // The In instruction consumes a single character, using the flags
-       // of the first instruction in the subexpression to determine its
-       // IgnoreCase and RightToLeft properties. The subexpression is then
-       // applied to the single character as a disjunction. If any instruction
-       // in the subexpression succeeds, the entire In construct succeeds
-       // and matching continues with the tail.
-
-       // Position POS
-       //
-       // POS:         position to match (see Position enum)
-
-       // Open GID
-       //
-       // GID:         number of group to open
-
-       // Close GID
-       //
-       // GID:         number of group to close
-       
-       // Balance GID BAL
-       //
-       // GID:         number of capturing group (0 if none)
-       // BAL:         number of group to undefine
-
-       // Info GROUPS MIN MAX
-       //
-       // GROUPS:      number of capturing groups (2 slots)
-       // MIN:         minimum width of pattern (2 slots)
-       // MAX:         maximum width of pattern (2 slots, 0x7fffffff means undefined)
-
-       // False
-
-       // True
-
-       // Reference GID
-       //
-       // Flags:       [IgnoreCase, RightToLeft]
-       // GID:         number of group to reference
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/cache.cs b/mcs/class/System/System.Text.RegularExpressions/cache.cs
deleted file mode 100644 (file)
index f407622..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//\r
-// assembly:   System\r
-// namespace:  System.Text.RegularExpressions\r
-// file:       cache.cs\r
-//\r
-// author:     Dan Lewis (dlewis@gmx.co.uk)\r
-//             (c) 2002\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.Collections;\r
-\r
-namespace System.Text.RegularExpressions {\r
-\r
-       class FactoryCache {\r
-               public FactoryCache (int capacity) {\r
-                       this.capacity = capacity;\r
-                       this.factories = new Hashtable (capacity);\r
-                       this.mru_list = new MRUList ();\r
-               }\r
-\r
-               public void Add (string pattern, RegexOptions options, IMachineFactory factory) {\r
-                       lock (this) {\r
-                               Key k = new Key (pattern, options);\r
-                               Cleanup ();\r
-                               factories[k] = factory;\r
-                               mru_list.Use (k);\r
-                       }\r
-               }\r
-\r
-               // lock must be held by the caller\r
-               void Cleanup ()\r
-               {\r
-                       while (factories.Count >= capacity && capacity > 0) {\r
-                               object victim = mru_list.Evict ();\r
-                               if (victim != null)\r
-                                       factories.Remove ((Key) victim);\r
-                       }\r
-               }\r
-\r
-               public IMachineFactory Lookup (string pattern, RegexOptions options) {\r
-                       lock (this) {\r
-                               Key k = new Key (pattern, options);\r
-                               if (factories.Contains (k)) {\r
-                                       mru_list.Use (k);\r
-                                       return (IMachineFactory)factories[k];\r
-                               }\r
-                       }\r
-\r
-                       return null;\r
-               }\r
-\r
-               public int Capacity {\r
-                       get { return capacity; }\r
-                       set {\r
-                               // < 0 check done in the caller (Regex.CacheSize)\r
-                               lock (this) {\r
-                                       capacity = value;\r
-                                       Cleanup ();\r
-                               }\r
-                       }\r
-               }\r
-\r
-               private int capacity;\r
-               private Hashtable factories;\r
-               private MRUList mru_list;\r
-\r
-               class Key {\r
-                       public string pattern;\r
-                       public RegexOptions options;\r
-\r
-                       public Key (string pattern, RegexOptions options) {\r
-                               this.pattern = pattern;\r
-                               this.options = options;\r
-                       }\r
-                       \r
-                       public override int GetHashCode () {\r
-                               return pattern.GetHashCode () ^ (int)options;\r
-                       }\r
-\r
-                       public override bool Equals (object o) {\r
-                               if (o == null || !(o is Key))\r
-                                       return false;\r
-\r
-                               Key k = (Key)o;\r
-                               return options == k.options && pattern.Equals (k.pattern);\r
-                       }\r
-\r
-                       public override string ToString () {\r
-                               return "('" + pattern + "', [" + options + "])";\r
-                       }\r
-               }\r
-       }\r
-\r
-       class MRUList {\r
-               public MRUList () {\r
-                       head = tail = null;\r
-               }\r
-\r
-               public void Use (object o) {\r
-                       Node node;\r
-\r
-                       if (head == null) {\r
-                               node = new Node (o);\r
-                               head = tail = node;\r
-                               return;\r
-                       }\r
-\r
-                       node = head;\r
-                       while (node != null && !o.Equals (node.value))\r
-                               node = node.previous;\r
-\r
-                       if (node == null)\r
-                               node = new Node (o);\r
-                       else {\r
-                               if (node == head)\r
-                                       return;\r
-\r
-                               if (node == tail)\r
-                                       tail = node.next;\r
-                               else\r
-                                       node.previous.next = node.next;\r
-\r
-                               node.next.previous = node.previous;\r
-                       }\r
-\r
-                       head.next = node;\r
-                       node.previous = head;\r
-                       node.next = null;\r
-                       head = node;\r
-               }\r
-\r
-               public object Evict () {\r
-                       if (tail == null)\r
-                               return null;\r
-\r
-                       object o = tail.value;\r
-                       tail = tail.next;\r
-\r
-                       if (tail == null)\r
-                               head = null;\r
-                       else\r
-                               tail.previous = null;\r
-\r
-                       return o;\r
-               }\r
-\r
-               private Node head, tail;\r
-\r
-               private class Node {\r
-                       public object value;\r
-                       public Node previous, next;\r
-\r
-                       public Node (object value) {\r
-                               this.value = value;\r
-                       }\r
-               }\r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/category.cs b/mcs/class/System/System.Text.RegularExpressions/category.cs
deleted file mode 100644 (file)
index b64dcb3..0000000
+++ /dev/null
@@ -1,660 +0,0 @@
-//\r
-// assembly:   System\r
-// namespace:  System.Text.RegularExpressions\r
-// file:       category.cs\r
-//\r
-// author:     Dan Lewis (dlewis@gmx.co.uk)\r
-//             (c) 2002\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.Globalization;\r
-\r
-namespace System.Text.RegularExpressions {\r
-\r
-       enum Category : ushort {\r
-               None,\r
-\r
-               // canonical classes\r
-       \r
-               Any,                    // any character except newline         .\r
-               AnySingleline,          // any character                        . (s option)\r
-               Word,                   // any word character                   \w\r
-               Digit,                  // any digit character                  \d\r
-               WhiteSpace,             // any whitespace character             \s\r
-               \r
-               // ECMAScript classes\r
-\r
-\r
-               EcmaAny,\r
-               EcmaAnySingleline,\r
-               EcmaWord,               // [a-zA-Z_0-9]\r
-               EcmaDigit,              // [0-9]\r
-               EcmaWhiteSpace,         // [ \f\n\r\t\v]\r
-\r
-               // unicode categories\r
-               \r
-               UnicodeL,               // Letter\r
-               UnicodeM,               // Mark\r
-               UnicodeN,               // Number\r
-               UnicodeZ,               // Separator\r
-               UnicodeP,               // Punctuation\r
-               UnicodeS,               // Symbol\r
-               UnicodeC,               // Other\r
-\r
-               UnicodeLu,              // UppercaseLetter\r
-               UnicodeLl,              // LowercaseLetter\r
-               UnicodeLt,              // TitlecaseLetter\r
-               UnicodeLm,              // ModifierLetter\r
-               UnicodeLo,              // OtherLetter\r
-               UnicodeMn,              // NonspacingMark\r
-               UnicodeMe,              // EnclosingMark\r
-               UnicodeMc,              // SpacingMark\r
-               UnicodeNd,              // DecimalNumber\r
-               UnicodeNl,              // LetterNumber\r
-               UnicodeNo,              // OtherNumber\r
-               UnicodeZs,              // SpaceSeparator\r
-               UnicodeZl,              // LineSeparator\r
-               UnicodeZp,              // ParagraphSeparator\r
-               UnicodePd,              // DashPunctuation\r
-               UnicodePs,              // OpenPunctuation\r
-               UnicodePi,              // InitialPunctuation\r
-               UnicodePe,              // ClosePunctuation\r
-               UnicodePf,              // FinalPunctuation\r
-               UnicodePc,              // ConnectorPunctuation\r
-               UnicodePo,              // OtherPunctuation\r
-               UnicodeSm,              // MathSymbol\r
-               UnicodeSc,              // CurrencySymbol\r
-               UnicodeSk,              // ModifierSymbol\r
-               UnicodeSo,              // OtherSymbol\r
-               UnicodeCc,              // Control\r
-               UnicodeCf,              // Format\r
-               UnicodeCo,              // PrivateUse\r
-               UnicodeCs,              // Surrogate\r
-               UnicodeCn,              // Unassigned\r
-\r
-               // unicode block ranges\r
-\r
-               // notes: the categories marked with a star are valid unicode block ranges,\r
-               // but don't seem to be accepted by the MS parser using the /p{...} format.\r
-               // any ideas?\r
-\r
-               UnicodeBasicLatin,\r
-               UnicodeLatin1Supplement,                        // *\r
-               UnicodeLatinExtendedA,                          // *\r
-               UnicodeLatinExtendedB,                          // *\r
-               UnicodeIPAExtensions,\r
-               UnicodeSpacingModifierLetters,\r
-               UnicodeCombiningDiacriticalMarks,\r
-               UnicodeGreek,\r
-               UnicodeCyrillic,\r
-               UnicodeArmenian,\r
-               UnicodeHebrew,\r
-               UnicodeArabic,\r
-               UnicodeSyriac,\r
-               UnicodeThaana,\r
-               UnicodeDevanagari,\r
-               UnicodeBengali,\r
-               UnicodeGurmukhi,\r
-               UnicodeGujarati,\r
-               UnicodeOriya,\r
-               UnicodeTamil,\r
-               UnicodeTelugu,\r
-               UnicodeKannada,\r
-               UnicodeMalayalam,\r
-               UnicodeSinhala,\r
-               UnicodeThai,\r
-               UnicodeLao,\r
-               UnicodeTibetan,\r
-               UnicodeMyanmar,\r
-               UnicodeGeorgian,\r
-               UnicodeHangulJamo,\r
-               UnicodeEthiopic,\r
-               UnicodeCherokee,\r
-               UnicodeUnifiedCanadianAboriginalSyllabics,\r
-               UnicodeOgham,\r
-               UnicodeRunic,\r
-               UnicodeKhmer,\r
-               UnicodeMongolian,\r
-               UnicodeLatinExtendedAdditional,\r
-               UnicodeGreekExtended,\r
-               UnicodeGeneralPunctuation,\r
-               UnicodeSuperscriptsandSubscripts,\r
-               UnicodeCurrencySymbols,\r
-               UnicodeCombiningMarksforSymbols,\r
-               UnicodeLetterlikeSymbols,\r
-               UnicodeNumberForms,\r
-               UnicodeArrows,\r
-               UnicodeMathematicalOperators,\r
-               UnicodeMiscellaneousTechnical,\r
-               UnicodeControlPictures,\r
-               UnicodeOpticalCharacterRecognition,\r
-               UnicodeEnclosedAlphanumerics,\r
-               UnicodeBoxDrawing,\r
-               UnicodeBlockElements,\r
-               UnicodeGeometricShapes,\r
-               UnicodeMiscellaneousSymbols,\r
-               UnicodeDingbats,\r
-               UnicodeBraillePatterns,\r
-               UnicodeCJKRadicalsSupplement,\r
-               UnicodeKangxiRadicals,\r
-               UnicodeIdeographicDescriptionCharacters,\r
-               UnicodeCJKSymbolsandPunctuation,\r
-               UnicodeHiragana,\r
-               UnicodeKatakana,\r
-               UnicodeBopomofo,\r
-               UnicodeHangulCompatibilityJamo,\r
-               UnicodeKanbun,\r
-               UnicodeBopomofoExtended,\r
-               UnicodeEnclosedCJKLettersandMonths,\r
-               UnicodeCJKCompatibility,\r
-               UnicodeCJKUnifiedIdeographsExtensionA,\r
-               UnicodeCJKUnifiedIdeographs,\r
-               UnicodeYiSyllables,\r
-               UnicodeYiRadicals,\r
-               UnicodeHangulSyllables,\r
-               UnicodeHighSurrogates,\r
-               UnicodeHighPrivateUseSurrogates,\r
-               UnicodeLowSurrogates,\r
-               UnicodePrivateUse,\r
-               UnicodeCJKCompatibilityIdeographs,\r
-               UnicodeAlphabeticPresentationForms,\r
-               UnicodeArabicPresentationFormsA,                // *\r
-               UnicodeCombiningHalfMarks,\r
-               UnicodeCJKCompatibilityForms,\r
-               UnicodeSmallFormVariants,\r
-               UnicodeArabicPresentationFormsB,                // *\r
-               UnicodeSpecials,\r
-               UnicodeHalfwidthandFullwidthForms,\r
-               \r
-               UnicodeOldItalic,\r
-               UnicodeGothic,\r
-               UnicodeDeseret,\r
-               UnicodeByzantineMusicalSymbols,\r
-               UnicodeMusicalSymbols,\r
-               UnicodeMathematicalAlphanumericSymbols,\r
-               UnicodeCJKUnifiedIdeographsExtensionB,\r
-               UnicodeCJKCompatibilityIdeographsSupplement,\r
-               UnicodeTags,\r
-\r
-               LastValue // Keep this with the higher value in the enumeration\r
-       }\r
-\r
-       class CategoryUtils {\r
-               public static Category CategoryFromName (string name) {\r
-                       try {\r
-                               if (name.StartsWith ("Is"))     // remove prefix from block range\r
-                                       name = name.Substring (2);\r
-\r
-                               return (Category) Enum.Parse (typeof (Category), "Unicode" + name, false);\r
-                       }\r
-                       catch (ArgumentException) {\r
-                               return Category.None;\r
-                       }\r
-               }\r
-       \r
-               public static bool IsCategory (Category cat, char c) {\r
-                       switch (cat) {\r
-                       case Category.None:\r
-                               return false;\r
-                       \r
-                       case Category.Any:\r
-                               return c != '\n';\r
-\r
-                       case Category.AnySingleline:\r
-                               return true;\r
-\r
-                       case Category.Word:\r
-                               return\r
-                                       Char.IsLetterOrDigit (c) ||\r
-                                       IsCategory (UnicodeCategory.ConnectorPunctuation, c);\r
-\r
-                       case Category.Digit:\r
-                               return Char.IsDigit (c);\r
-\r
-                       case Category.WhiteSpace:\r
-                               return Char.IsWhiteSpace (c);\r
-\r
-                       // ECMA categories\r
-\r
-                       case Category.EcmaAny:\r
-                               return c != '\n';\r
-                               \r
-                       case Category.EcmaAnySingleline:\r
-                               return true;\r
-\r
-                       case Category.EcmaWord:\r
-                               return\r
-                                       'a' <= c && c <= 'z' ||\r
-                                       'A' <= c && c <= 'Z' ||\r
-                                       '0' <= c && c <= '9' ||\r
-                                       '_' == c;\r
-\r
-                       case Category.EcmaDigit:\r
-                               return\r
-                                       '0' <= c && c <= '9';\r
-                       \r
-                       case Category.EcmaWhiteSpace:\r
-                               return\r
-                                       c == ' '  ||\r
-                                       c == '\f' ||\r
-                                       c == '\n' ||\r
-                                       c == '\r' ||\r
-                                       c == '\t' ||\r
-                                       c == '\v';\r
-\r
-                       // Unicode categories...\r
-\r
-                       // letter\r
-                       \r
-                       case Category.UnicodeLu: return IsCategory (UnicodeCategory.UppercaseLetter, c);\r
-                       case Category.UnicodeLl: return IsCategory (UnicodeCategory.LowercaseLetter, c);\r
-                       case Category.UnicodeLt: return IsCategory (UnicodeCategory.TitlecaseLetter, c);\r
-                       case Category.UnicodeLm: return IsCategory (UnicodeCategory.ModifierLetter, c);\r
-                       case Category.UnicodeLo: return IsCategory (UnicodeCategory.OtherLetter, c);\r
-\r
-                       // mark\r
-\r
-                       case Category.UnicodeMn: return IsCategory (UnicodeCategory.NonSpacingMark, c);\r
-                       case Category.UnicodeMe: return IsCategory (UnicodeCategory.EnclosingMark, c);\r
-                       case Category.UnicodeMc: return IsCategory (UnicodeCategory.SpacingCombiningMark, c);\r
-                       case Category.UnicodeNd: return IsCategory (UnicodeCategory.DecimalDigitNumber, c);\r
-\r
-                       // number\r
-\r
-                       case Category.UnicodeNl: return IsCategory (UnicodeCategory.LetterNumber, c);\r
-                       case Category.UnicodeNo: return IsCategory (UnicodeCategory.OtherNumber, c);\r
-\r
-                       // separator\r
-\r
-                       case Category.UnicodeZs: return IsCategory (UnicodeCategory.SpaceSeparator, c);\r
-                       case Category.UnicodeZl: return IsCategory (UnicodeCategory.LineSeparator, c);\r
-                       case Category.UnicodeZp: return IsCategory (UnicodeCategory.ParagraphSeparator, c);\r
-\r
-                       // punctuation\r
-\r
-                       case Category.UnicodePd: return IsCategory (UnicodeCategory.DashPunctuation, c);\r
-                       case Category.UnicodePs: return IsCategory (UnicodeCategory.OpenPunctuation, c);\r
-                       case Category.UnicodePi: return IsCategory (UnicodeCategory.InitialQuotePunctuation, c);\r
-                       case Category.UnicodePe: return IsCategory (UnicodeCategory.ClosePunctuation, c);\r
-                       case Category.UnicodePf: return IsCategory (UnicodeCategory.FinalQuotePunctuation, c);\r
-                       case Category.UnicodePc: return IsCategory (UnicodeCategory.ConnectorPunctuation, c);\r
-                       case Category.UnicodePo: return IsCategory (UnicodeCategory.OtherPunctuation, c);\r
-\r
-                       // symbol\r
-\r
-                       case Category.UnicodeSm: return IsCategory (UnicodeCategory.MathSymbol, c);\r
-                       case Category.UnicodeSc: return IsCategory (UnicodeCategory.CurrencySymbol, c);\r
-                       case Category.UnicodeSk: return IsCategory (UnicodeCategory.ModifierSymbol, c);\r
-                       case Category.UnicodeSo: return IsCategory (UnicodeCategory.OtherSymbol, c);\r
-\r
-                       // other\r
-\r
-                       case Category.UnicodeCc: return IsCategory (UnicodeCategory.Control, c);\r
-                       case Category.UnicodeCf: return IsCategory (UnicodeCategory.Format, c);\r
-                       case Category.UnicodeCo: return IsCategory (UnicodeCategory.PrivateUse, c);\r
-                       case Category.UnicodeCs: return IsCategory (UnicodeCategory.Surrogate, c);\r
-                       case Category.UnicodeCn: return IsCategory (UnicodeCategory.OtherNotAssigned, c); \r
-\r
-                       case Category.UnicodeL: // letter\r
-                               return\r
-                                       IsCategory (UnicodeCategory.UppercaseLetter, c) ||\r
-                                       IsCategory (UnicodeCategory.LowercaseLetter, c) ||\r
-                                       IsCategory (UnicodeCategory.TitlecaseLetter, c) ||\r
-                                       IsCategory (UnicodeCategory.ModifierLetter, c) ||\r
-                                       IsCategory (UnicodeCategory.OtherLetter, c);\r
-                       \r
-                       case Category.UnicodeM: // mark\r
-                               return\r
-                                       IsCategory (UnicodeCategory.NonSpacingMark, c) ||\r
-                                       IsCategory (UnicodeCategory.EnclosingMark, c) ||\r
-                                       IsCategory (UnicodeCategory.SpacingCombiningMark, c);\r
-\r
-                       case Category.UnicodeN: // number\r
-                               return\r
-                                       IsCategory (UnicodeCategory.DecimalDigitNumber, c) ||\r
-                                       IsCategory (UnicodeCategory.LetterNumber, c) ||\r
-                                       IsCategory (UnicodeCategory.OtherNumber, c);\r
-\r
-                       case Category.UnicodeZ: // separator\r
-                               return\r
-                                       IsCategory (UnicodeCategory.SpaceSeparator, c) ||\r
-                                       IsCategory (UnicodeCategory.LineSeparator, c) ||\r
-                                       IsCategory (UnicodeCategory.ParagraphSeparator, c);\r
-                                       \r
-                       case Category.UnicodeP: // punctuation\r
-                               return\r
-                                       IsCategory (UnicodeCategory.DashPunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.OpenPunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.InitialQuotePunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.ClosePunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.FinalQuotePunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.ConnectorPunctuation, c) ||\r
-                                       IsCategory (UnicodeCategory.OtherPunctuation, c);\r
-                       \r
-                       case Category.UnicodeS: // symbol\r
-                               return\r
-                                       IsCategory (UnicodeCategory.MathSymbol, c) ||\r
-                                       IsCategory (UnicodeCategory.CurrencySymbol, c) ||\r
-                                       IsCategory (UnicodeCategory.ModifierSymbol, c) ||\r
-                                       IsCategory (UnicodeCategory.OtherSymbol, c);\r
-                       \r
-                       case Category.UnicodeC: // other\r
-                               return\r
-                                       IsCategory (UnicodeCategory.Control, c) ||\r
-                                       IsCategory (UnicodeCategory.Format, c) ||\r
-                                       IsCategory (UnicodeCategory.PrivateUse, c) ||\r
-                                       IsCategory (UnicodeCategory.Surrogate, c) ||\r
-                                       IsCategory (UnicodeCategory.OtherNotAssigned, c);\r
-\r
-                       // Unicode block ranges...\r
-\r
-                       case Category.UnicodeBasicLatin:\r
-                               return '\u0000' <= c && c <= '\u007F';\r
-\r
-                       case Category.UnicodeLatin1Supplement:\r
-                               return '\u0080' <= c && c <= '\u00FF';\r
-\r
-                       case Category.UnicodeLatinExtendedA:\r
-                               return '\u0100' <= c && c <= '\u017F';\r
-\r
-                       case Category.UnicodeLatinExtendedB:\r
-                               return '\u0180' <= c && c <= '\u024F';\r
-\r
-                       case Category.UnicodeIPAExtensions:\r
-                               return '\u0250' <= c && c <= '\u02AF';\r
-\r
-                       case Category.UnicodeSpacingModifierLetters:\r
-                               return '\u02B0' <= c && c <= '\u02FF';\r
-\r
-                       case Category.UnicodeCombiningDiacriticalMarks:\r
-                               return '\u0300' <= c && c <= '\u036F';\r
-\r
-                       case Category.UnicodeGreek:\r
-                               return '\u0370' <= c && c <= '\u03FF';\r
-\r
-                       case Category.UnicodeCyrillic:\r
-                               return '\u0400' <= c && c <= '\u04FF';\r
-\r
-                       case Category.UnicodeArmenian:\r
-                               return '\u0530' <= c && c <= '\u058F';\r
-\r
-                       case Category.UnicodeHebrew:\r
-                               return '\u0590' <= c && c <= '\u05FF';\r
-\r
-                       case Category.UnicodeArabic:\r
-                               return '\u0600' <= c && c <= '\u06FF';\r
-\r
-                       case Category.UnicodeSyriac:\r
-                               return '\u0700' <= c && c <= '\u074F';\r
-\r
-                       case Category.UnicodeThaana:\r
-                               return '\u0780' <= c && c <= '\u07BF';\r
-\r
-                       case Category.UnicodeDevanagari:\r
-                               return '\u0900' <= c && c <= '\u097F';\r
-\r
-                       case Category.UnicodeBengali:\r
-                               return '\u0980' <= c && c <= '\u09FF';\r
-\r
-                       case Category.UnicodeGurmukhi:\r
-                               return '\u0A00' <= c && c <= '\u0A7F';\r
-\r
-                       case Category.UnicodeGujarati:\r
-                               return '\u0A80' <= c && c <= '\u0AFF';\r
-\r
-                       case Category.UnicodeOriya:\r
-                               return '\u0B00' <= c && c <= '\u0B7F';\r
-\r
-                       case Category.UnicodeTamil:\r
-                               return '\u0B80' <= c && c <= '\u0BFF';\r
-\r
-                       case Category.UnicodeTelugu:\r
-                               return '\u0C00' <= c && c <= '\u0C7F';\r
-\r
-                       case Category.UnicodeKannada:\r
-                               return '\u0C80' <= c && c <= '\u0CFF';\r
-\r
-                       case Category.UnicodeMalayalam:\r
-                               return '\u0D00' <= c && c <= '\u0D7F';\r
-\r
-                       case Category.UnicodeSinhala:\r
-                               return '\u0D80' <= c && c <= '\u0DFF';\r
-\r
-                       case Category.UnicodeThai:\r
-                               return '\u0E00' <= c && c <= '\u0E7F';\r
-\r
-                       case Category.UnicodeLao:\r
-                               return '\u0E80' <= c && c <= '\u0EFF';\r
-\r
-                       case Category.UnicodeTibetan:\r
-                               return '\u0F00' <= c && c <= '\u0FFF';\r
-\r
-                       case Category.UnicodeMyanmar:\r
-                               return '\u1000' <= c && c <= '\u109F';\r
-\r
-                       case Category.UnicodeGeorgian:\r
-                               return '\u10A0' <= c && c <= '\u10FF';\r
-\r
-                       case Category.UnicodeHangulJamo:\r
-                               return '\u1100' <= c && c <= '\u11FF';\r
-\r
-                       case Category.UnicodeEthiopic:\r
-                               return '\u1200' <= c && c <= '\u137F';\r
-\r
-                       case Category.UnicodeCherokee:\r
-                               return '\u13A0' <= c && c <= '\u13FF';\r
-\r
-                       case Category.UnicodeUnifiedCanadianAboriginalSyllabics:\r
-                               return '\u1400' <= c && c <= '\u167F';\r
-\r
-                       case Category.UnicodeOgham:\r
-                               return '\u1680' <= c && c <= '\u169F';\r
-\r
-                       case Category.UnicodeRunic:\r
-                               return '\u16A0' <= c && c <= '\u16FF';\r
-\r
-                       case Category.UnicodeKhmer:\r
-                               return '\u1780' <= c && c <= '\u17FF';\r
-\r
-                       case Category.UnicodeMongolian:\r
-                               return '\u1800' <= c && c <= '\u18AF';\r
-\r
-                       case Category.UnicodeLatinExtendedAdditional:\r
-                               return '\u1E00' <= c && c <= '\u1EFF';\r
-\r
-                       case Category.UnicodeGreekExtended:\r
-                               return '\u1F00' <= c && c <= '\u1FFF';\r
-\r
-                       case Category.UnicodeGeneralPunctuation:\r
-                               return '\u2000' <= c && c <= '\u206F';\r
-\r
-                       case Category.UnicodeSuperscriptsandSubscripts:\r
-                               return '\u2070' <= c && c <= '\u209F';\r
-\r
-                       case Category.UnicodeCurrencySymbols:\r
-                               return '\u20A0' <= c && c <= '\u20CF';\r
-\r
-                       case Category.UnicodeCombiningMarksforSymbols:\r
-                               return '\u20D0' <= c && c <= '\u20FF';\r
-\r
-                       case Category.UnicodeLetterlikeSymbols:\r
-                               return '\u2100' <= c && c <= '\u214F';\r
-\r
-                       case Category.UnicodeNumberForms:\r
-                               return '\u2150' <= c && c <= '\u218F';\r
-\r
-                       case Category.UnicodeArrows:\r
-                               return '\u2190' <= c && c <= '\u21FF';\r
-\r
-                       case Category.UnicodeMathematicalOperators:\r
-                               return '\u2200' <= c && c <= '\u22FF';\r
-\r
-                       case Category.UnicodeMiscellaneousTechnical:\r
-                               return '\u2300' <= c && c <= '\u23FF';\r
-\r
-                       case Category.UnicodeControlPictures:\r
-                               return '\u2400' <= c && c <= '\u243F';\r
-\r
-                       case Category.UnicodeOpticalCharacterRecognition:\r
-                               return '\u2440' <= c && c <= '\u245F';\r
-\r
-                       case Category.UnicodeEnclosedAlphanumerics:\r
-                               return '\u2460' <= c && c <= '\u24FF';\r
-\r
-                       case Category.UnicodeBoxDrawing:\r
-                               return '\u2500' <= c && c <= '\u257F';\r
-\r
-                       case Category.UnicodeBlockElements:\r
-                               return '\u2580' <= c && c <= '\u259F';\r
-\r
-                       case Category.UnicodeGeometricShapes:\r
-                               return '\u25A0' <= c && c <= '\u25FF';\r
-\r
-                       case Category.UnicodeMiscellaneousSymbols:\r
-                               return '\u2600' <= c && c <= '\u26FF';\r
-\r
-                       case Category.UnicodeDingbats:\r
-                               return '\u2700' <= c && c <= '\u27BF';\r
-\r
-                       case Category.UnicodeBraillePatterns:\r
-                               return '\u2800' <= c && c <= '\u28FF';\r
-\r
-                       case Category.UnicodeCJKRadicalsSupplement:\r
-                               return '\u2E80' <= c && c <= '\u2EFF';\r
-\r
-                       case Category.UnicodeKangxiRadicals:\r
-                               return '\u2F00' <= c && c <= '\u2FDF';\r
-\r
-                       case Category.UnicodeIdeographicDescriptionCharacters:\r
-                               return '\u2FF0' <= c && c <= '\u2FFF';\r
-\r
-                       case Category.UnicodeCJKSymbolsandPunctuation:\r
-                               return '\u3000' <= c && c <= '\u303F';\r
-\r
-                       case Category.UnicodeHiragana:\r
-                               return '\u3040' <= c && c <= '\u309F';\r
-\r
-                       case Category.UnicodeKatakana:\r
-                               return '\u30A0' <= c && c <= '\u30FF';\r
-\r
-                       case Category.UnicodeBopomofo:\r
-                               return '\u3100' <= c && c <= '\u312F';\r
-\r
-                       case Category.UnicodeHangulCompatibilityJamo:\r
-                               return '\u3130' <= c && c <= '\u318F';\r
-\r
-                       case Category.UnicodeKanbun:\r
-                               return '\u3190' <= c && c <= '\u319F';\r
-\r
-                       case Category.UnicodeBopomofoExtended:\r
-                               return '\u31A0' <= c && c <= '\u31BF';\r
-\r
-                       case Category.UnicodeEnclosedCJKLettersandMonths:\r
-                               return '\u3200' <= c && c <= '\u32FF';\r
-\r
-                       case Category.UnicodeCJKCompatibility:\r
-                               return '\u3300' <= c && c <= '\u33FF';\r
-\r
-                       case Category.UnicodeCJKUnifiedIdeographsExtensionA:\r
-                               return '\u3400' <= c && c <= '\u4DB5';\r
-\r
-                       case Category.UnicodeCJKUnifiedIdeographs:\r
-                               return '\u4E00' <= c && c <= '\u9FFF';\r
-\r
-                       case Category.UnicodeYiSyllables:\r
-                               return '\uA000' <= c && c <= '\uA48F';\r
-\r
-                       case Category.UnicodeYiRadicals:\r
-                               return '\uA490' <= c && c <= '\uA4CF';\r
-\r
-                       case Category.UnicodeHangulSyllables:\r
-                               return '\uAC00' <= c && c <= '\uD7A3';\r
-\r
-                       case Category.UnicodeHighSurrogates:\r
-                               return '\uD800' <= c && c <= '\uDB7F';\r
-\r
-                       case Category.UnicodeHighPrivateUseSurrogates:\r
-                               return '\uDB80' <= c && c <= '\uDBFF';\r
-\r
-                       case Category.UnicodeLowSurrogates:\r
-                               return '\uDC00' <= c && c <= '\uDFFF';\r
-\r
-                       case Category.UnicodePrivateUse:\r
-                               return '\uE000' <= c && c <= '\uF8FF';\r
-\r
-                       case Category.UnicodeCJKCompatibilityIdeographs:\r
-                               return '\uF900' <= c && c <= '\uFAFF';\r
-\r
-                       case Category.UnicodeAlphabeticPresentationForms:\r
-                               return '\uFB00' <= c && c <= '\uFB4F';\r
-\r
-                       case Category.UnicodeArabicPresentationFormsA:\r
-                               return '\uFB50' <= c && c <= '\uFDFF';\r
-\r
-                       case Category.UnicodeCombiningHalfMarks:\r
-                               return '\uFE20' <= c && c <= '\uFE2F';\r
-\r
-                       case Category.UnicodeCJKCompatibilityForms:\r
-                               return '\uFE30' <= c && c <= '\uFE4F';\r
-\r
-                       case Category.UnicodeSmallFormVariants:\r
-                               return '\uFE50' <= c && c <= '\uFE6F';\r
-\r
-                       case Category.UnicodeArabicPresentationFormsB:\r
-                               return '\uFE70' <= c && c <= '\uFEFE';\r
-\r
-                       case Category.UnicodeHalfwidthandFullwidthForms:\r
-                               return '\uFF00' <= c && c <= '\uFFEF';\r
-\r
-                       case Category.UnicodeSpecials:\r
-                               return\r
-                                       '\uFEFF' <= c && c <= '\uFEFF' ||\r
-                                       '\uFFF0' <= c && c <= '\uFFFD';\r
-\r
-                       // these block ranges begin above 0x10000\r
-\r
-                       case Category.UnicodeOldItalic:\r
-                       case Category.UnicodeGothic:\r
-                       case Category.UnicodeDeseret:\r
-                       case Category.UnicodeByzantineMusicalSymbols:\r
-                       case Category.UnicodeMusicalSymbols:\r
-                       case Category.UnicodeMathematicalAlphanumericSymbols:\r
-                       case Category.UnicodeCJKUnifiedIdeographsExtensionB:\r
-                       case Category.UnicodeCJKCompatibilityIdeographsSupplement:\r
-                       case Category.UnicodeTags:\r
-                               return false;\r
-\r
-                       default:\r
-                               return false;\r
-                       }\r
-               }\r
-\r
-               private static bool IsCategory (UnicodeCategory uc, char c) {\r
-                       if (Char.GetUnicodeCategory (c) == uc)\r
-                               return true;\r
-\r
-                       return false;\r
-               }\r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/compiler.cs b/mcs/class/System/System.Text.RegularExpressions/compiler.cs
deleted file mode 100644 (file)
index cd2a8bc..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       compiler.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Diagnostics;
-using System.Collections;
-
-namespace System.Text.RegularExpressions {
-       abstract class LinkRef {
-#if TRACE_REGEX
-               static int next_label = 1;
-               int label = next_label++;
-
-               public override string ToString ()
-               {
-                       return "L" + label.ToString ();
-               }
-#endif
-       }
-               
-       interface ICompiler {
-               void Reset ();
-               IMachineFactory GetMachineFactory ();
-
-               // instruction emission
-
-               void EmitFalse ();
-               void EmitTrue ();
-
-               // character matching
-
-               void EmitCharacter (char c, bool negate, bool ignore, bool reverse);
-               void EmitCategory (Category cat, bool negate, bool reverse);
-               void EmitNotCategory (Category cat, bool negate, bool reverse);
-               void EmitRange (char lo, char hi, bool negate, bool ignore, bool reverse);
-               void EmitSet (char lo, BitArray set, bool negate, bool ignore, bool reverse);
-
-               // other operators
-
-               void EmitString (string str, bool ignore, bool reverse);
-               void EmitPosition (Position pos);
-               void EmitOpen (int gid);
-               void EmitClose (int gid);
-               void EmitBalanceStart(int gid, int balance, bool capture,  LinkRef tail);
-               void EmitBalance ();
-               void EmitReference (int gid, bool ignore, bool reverse);
-
-               // constructs
-
-               void EmitIfDefined (int gid, LinkRef tail);
-               void EmitSub (LinkRef tail);
-               void EmitTest (LinkRef yes, LinkRef tail);
-               void EmitBranch (LinkRef next);
-               void EmitJump (LinkRef target);
-               void EmitRepeat (int min, int max, bool lazy, LinkRef until);
-               void EmitUntil (LinkRef repeat);
-               void EmitIn (LinkRef tail);
-               void EmitInfo (int count, int min, int max);
-               void EmitFastRepeat (int min, int max, bool lazy, LinkRef tail);
-               void EmitAnchor (bool reverse, int offset, LinkRef tail);
-
-               // event for the CILCompiler
-               void EmitBranchEnd();
-               void EmitAlternationEnd();
-
-               LinkRef NewLink ();
-               void ResolveLink (LinkRef link);
-       }
-
-       class InterpreterFactory : IMachineFactory {
-               public InterpreterFactory (ushort[] pattern) {
-                       this.pattern = pattern;
-               }
-               
-               public IMachine NewInstance () {
-                       return new Interpreter (pattern);
-               }
-
-               public int GroupCount {
-                       get { return pattern[1]; }
-               }
-
-               public int Gap {
-                       get { return gap; }
-                       set { gap = value; }
-               }
-
-               public IDictionary Mapping {
-                       get { return mapping; }
-                       set { mapping = value; }
-               }
-
-               public string [] NamesMapping {
-                       get { return namesMapping; }
-                       set { namesMapping = value; }
-               }
-
-               private IDictionary mapping;
-               private ushort[] pattern;
-               private string [] namesMapping;
-               private int gap;
-       }
-
-       class PatternCompiler : ICompiler {
-               public static ushort EncodeOp (OpCode op, OpFlags flags) {
-                       return (ushort)((int)op | ((int)flags & 0xff00));
-               }
-
-               [Conditional ("TRACE_REGEX")]
-               static void TraceRegexp (string fmt, params object[] args)
-               {
-                       Console.Write ("\t");
-                       Console.WriteLine (fmt, args);
-               }
-
-               [Conditional ("TRACE_REGEX")]
-               static void TraceRegexpLabel (LinkRef lref)
-               {
-                       Console.Write ("{0}:", lref);
-               }
-
-               public static void DecodeOp (ushort word, out OpCode op, out OpFlags flags) {
-                       op = (OpCode)(word & 0x00ff);
-                       flags = (OpFlags)(word & 0xff00);
-               }
-
-               public PatternCompiler () {
-                       pgm = new ArrayList ();
-               }
-
-               // ICompiler implementation
-
-               public void Reset () {
-                       pgm.Clear ();
-               }
-
-               public IMachineFactory GetMachineFactory () {
-                       ushort[] image = new ushort[pgm.Count];
-                       pgm.CopyTo (image);
-
-                       return new InterpreterFactory (image);
-               }
-
-               public void EmitFalse () {
-                       Emit (OpCode.False);
-                       TraceRegexp ("false");
-               }
-
-               public void EmitTrue () {
-                       Emit (OpCode.True);
-
-                       TraceRegexp ("true");
-               }
-
-               void EmitCount (int count)
-               {
-                       uint ucount = (uint) count;
-                       Emit ((ushort) (ucount & 0xFFFF)); // lo 16bits
-                       Emit ((ushort) (ucount >> 16));    // hi
-               }
-
-               public void EmitCharacter (char c, bool negate, bool ignore, bool reverse) {
-                       Emit (OpCode.Character, MakeFlags (negate, ignore, reverse, false));
-
-                       if (ignore)
-                               c = Char.ToLower (c);
-
-                       Emit ((ushort)c);
-
-                       TraceRegexp ("character {0} negate {1} ignore {2} reverse {3}", c, negate, ignore, reverse);
-               }
-
-               public void EmitCategory (Category cat, bool negate, bool reverse) {
-                       Emit (OpCode.Category, MakeFlags (negate, false, reverse, false));
-                       Emit ((ushort)cat);
-
-                       TraceRegexp ("category {0} negate {1} reverse {2}", cat, negate, reverse);
-               }
-
-               public void EmitNotCategory (Category cat, bool negate, bool reverse) {
-                       Emit (OpCode.NotCategory, MakeFlags (negate, false, reverse, false));
-                       Emit ((ushort)cat);
-
-                       TraceRegexp ("not category {0} negate {1} reverse {2}", cat, negate, reverse);
-               }
-
-               public void EmitRange (char lo, char hi, bool negate, bool ignore, bool reverse) {
-                       Emit (OpCode.Range, MakeFlags (negate, ignore, reverse, false));
-                       Emit ((ushort)lo);
-                       Emit ((ushort)hi);
-
-                       TraceRegexp ("char range '{0}' - '{1}' negate {2} ignore {3} reverse {4}", lo, hi, negate, ignore, reverse);
-               }
-
-               public void EmitSet (char lo, BitArray set, bool negate, bool ignore, bool reverse) {
-                       Emit (OpCode.Set, MakeFlags (negate, ignore, reverse, false));
-                       Emit ((ushort)lo);
-
-                       int len = (set.Length + 0xf) >> 4;
-                       Emit ((ushort)len);
-
-                       int b = 0;
-                       while (len -- != 0) {
-                               ushort word = 0;
-                               for (int i = 0; i < 16; ++ i) {
-                                       if (b >= set.Length)
-                                               break;
-                               
-                                       if (set[b ++])
-                                               word |= (ushort)(1 << i);
-                               }
-
-                               Emit (word);
-                       }
-
-                       TraceRegexp ("set lo '{0}' - '{1}' negate {2} ignore {3} reverse {4}", lo, set, negate, ignore, reverse);
-               }
-
-               public void EmitString (string str, bool ignore, bool reverse) {
-                       Emit (OpCode.String, MakeFlags (false, ignore, reverse, false));
-                       int len = str.Length;
-                       Emit ((ushort)len);
-
-                       if (ignore)
-                               str = str.ToLower ();
-                       
-                       for (int i = 0; i < len; ++ i)
-                               Emit ((ushort)str[i]);
-                       TraceRegexp ("string '{0}' ignore {1} reverse {2}", str, ignore, reverse);
-               }
-
-               public void EmitPosition (Position pos) {
-                       Emit (OpCode.Position, 0);
-                       Emit ((ushort)pos);
-
-                       TraceRegexp ("position {0}", pos);
-               }
-
-               public void EmitOpen (int gid) {
-                       Emit (OpCode.Open);
-                       Emit ((ushort)gid);
-
-                       TraceRegexp ("open {0}", gid);
-               }
-
-               public void EmitClose (int gid) {
-                       Emit (OpCode.Close);
-                       Emit ((ushort)gid);
-
-                       TraceRegexp ("close {0}", gid);
-               }
-
-              
-
-               public void EmitBalanceStart (int gid, int balance, bool capture, LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.BalanceStart);
-                       Emit ((ushort)gid);
-                       Emit ((ushort)balance);
-                       Emit ((ushort)(capture ? 1 : 0));
-                       EmitLink (tail);
-
-                       TraceRegexp ("balance start gid {0} balance {1} capture {2} tail {3}", gid, balance, capture, tail);
-               }
-
-               public void EmitBalance () {
-                       Emit (OpCode.Balance);
-
-                       TraceRegexp ("balance");
-               }
-
-               public void EmitReference (int gid, bool ignore, bool reverse) {
-                       Emit (OpCode.Reference, MakeFlags (false, ignore, reverse, false));
-                       Emit ((ushort)gid);
-
-                       TraceRegexp ("reference gid {0} ignore {1} reverse {2}", gid, ignore, reverse);
-               }
-
-               public void EmitIfDefined (int gid, LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.IfDefined);
-                       EmitLink (tail);
-                       Emit ((ushort)gid);
-
-                       TraceRegexp ("if defined gid {1} tail {2}", gid, tail);
-               }
-
-               public void EmitSub (LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.Sub);
-                       EmitLink (tail);
-       
-                       TraceRegexp ("sub {0}", tail);
-               }
-
-               public void EmitTest (LinkRef yes, LinkRef tail) {
-                       BeginLink (yes);
-                       BeginLink (tail);
-                       Emit (OpCode.Test);
-                       EmitLink (yes);
-                       EmitLink (tail);
-
-                       TraceRegexp ("test yes {0} tail {1}", yes, tail);
-               }
-
-               public void EmitBranch (LinkRef next) {
-                       BeginLink (next);
-                       Emit (OpCode.Branch, 0);
-                       EmitLink (next);
-
-                       TraceRegexp ("branch next {0}", next);
-               }
-
-               public void EmitJump (LinkRef target) {
-                       BeginLink (target);
-                       Emit (OpCode.Jump, 0);
-                       EmitLink (target);
-
-                       TraceRegexp ("jmp target {0}", target);
-               }
-
-               public void EmitRepeat (int min, int max, bool lazy, LinkRef until) {
-                       BeginLink (until);
-                       Emit (OpCode.Repeat, MakeFlags (false, false, false, lazy));
-                       EmitLink (until);
-                       EmitCount (min);
-                       EmitCount (max);
-
-                       TraceRegexp ("repeat min {0} max {1} lazy {2} until {3}", min, max, lazy, until);
-               }
-
-               public void EmitUntil (LinkRef repeat) {
-                       ResolveLink (repeat);
-                       Emit (OpCode.Until);
-
-                       TraceRegexp ("end until {0}", repeat);
-               }
-
-               public void EmitFastRepeat (int min, int max, bool lazy, LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.FastRepeat, MakeFlags (false, false, false, lazy));
-                       EmitLink (tail);
-                       EmitCount (min);
-                       EmitCount (max);
-
-                       TraceRegexp ("repeat-fast min {0} max {1} lazy {2} tail {3}", min, max, lazy, tail);
-               }
-
-               public void EmitIn (LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.In);
-                       EmitLink (tail);
-       
-                       TraceRegexp ("in tail {0}", tail);
-               }
-
-               public void EmitAnchor (bool reverse, int offset, LinkRef tail) {
-                       BeginLink (tail);
-                       Emit (OpCode.Anchor, MakeFlags(false, false, reverse, false));
-                       EmitLink (tail);
-                       Emit ((ushort)offset);
-
-                       TraceRegexp ("anchor reverse {0} offset {1} tail {2}", reverse, offset, tail);
-               }
-
-               public void EmitInfo (int count, int min, int max) {
-                       Emit (OpCode.Info);
-                       EmitCount (count);
-                       EmitCount (min);
-                       EmitCount (max);
-
-                       TraceRegexp ("info group count {0} match_min {1} match_max {2}", count, min, max);
-               }
-
-               public LinkRef NewLink () {
-                       return new PatternLinkStack ();
-               }
-               
-               public void ResolveLink (LinkRef lref) {
-                       PatternLinkStack stack = (PatternLinkStack)lref;
-               
-                       while (stack.Pop ())
-                               pgm[stack.OffsetAddress] = (ushort)stack.GetOffset (CurrentAddress);
-
-                       TraceRegexpLabel (lref);
-               }
-
-               public void EmitBranchEnd(){}
-               public void EmitAlternationEnd(){}
-
-               // private members
-
-               private static OpFlags MakeFlags (bool negate, bool ignore, bool reverse, bool lazy) {
-                       OpFlags flags = 0;
-                       if (negate) flags |= OpFlags.Negate;
-                       if (ignore) flags |= OpFlags.IgnoreCase;
-                       if (reverse) flags |= OpFlags.RightToLeft;
-                       if (lazy) flags |= OpFlags.Lazy;
-
-                       return flags;
-               }
-               
-               private void Emit (OpCode op) {
-                       Emit (op, (OpFlags)0);
-               }
-
-               private void Emit (OpCode op, OpFlags flags) {
-                       Emit (EncodeOp (op, flags));
-               }
-
-               private void Emit (ushort word) {
-                       pgm.Add (word);
-               }
-
-               private int CurrentAddress {
-                       get { return pgm.Count; }
-               }
-
-               private void BeginLink (LinkRef lref) {
-                       PatternLinkStack stack = (PatternLinkStack)lref;
-                       stack.BaseAddress = CurrentAddress;
-               }
-
-               private void EmitLink (LinkRef lref) {
-                       PatternLinkStack stack = (PatternLinkStack)lref;
-                       stack.OffsetAddress = CurrentAddress;
-                       Emit ((ushort)0);       // placeholder
-                       stack.Push ();
-               }
-
-
-               private class PatternLinkStack : LinkStack {
-                       public PatternLinkStack () {
-                       }
-               
-                       public int BaseAddress {
-                               set { link.base_addr = value; }
-                       }
-
-                       public int OffsetAddress {
-                               get { return link.offset_addr; }
-                               set { link.offset_addr = value; }
-                       }
-
-                       public int GetOffset (int target_addr) {
-                               return target_addr - link.base_addr;
-                       }
-
-                       // LinkStack implementation
-
-                       protected override object GetCurrent () { return link; }
-                       protected override void SetCurrent (object l) { link = (Link)l; }
-
-                       private struct Link {
-                               public int base_addr;
-                               public int offset_addr;
-                       }
-
-                       Link link;
-               }
-
-               private ArrayList pgm;
-       }
-
-       abstract class LinkStack : LinkRef {
-               public LinkStack () {
-                       stack = new Stack ();
-               }
-
-               public void Push () {
-                       stack.Push (GetCurrent ());
-               }
-
-               public bool Pop () {
-                       if (stack.Count > 0) {
-                               SetCurrent (stack.Pop ());
-                               return true;
-                       }
-
-                       return false;
-               }
-
-               protected abstract object GetCurrent ();
-               protected abstract void SetCurrent (object l);
-
-               private Stack stack;
-       }
-
-       //Used by CILCompiler and Interpreter
-       internal struct Mark {
-               public int Start, End;
-               public int Previous;
-               
-               public bool IsDefined {
-                       get { return Start >= 0 && End >= 0; }
-               }
-               
-               public int Index {
-                       get { return Start < End ? Start : End; }
-               }
-               
-               public int Length {
-                       get { return Start < End ? End - Start : Start - End; }
-               }
-       }
-
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/debug.cs b/mcs/class/System/System.Text.RegularExpressions/debug.cs
deleted file mode 100644 (file)
index 072b410..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-//\r
-// assembly:   System\r
-// namespace:  System.Text.RegularExpressions\r
-// file:       debug.cs\r
-//\r
-// author:     Dan Lewis (dlewis@gmx.co.uk)\r
-//             (c) 2002\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.Collections;\r
-\r
-namespace System.Text.RegularExpressions {\r
-\r
-       class Disassembler {\r
-               public static void DisassemblePattern (ushort[] image) {\r
-                       DisassembleBlock (image, 0, 0);\r
-               }\r
-       \r
-               public static void DisassembleBlock (ushort[] image, int pc, int depth) {\r
-                       OpCode op;\r
-                       OpFlags flags;\r
-\r
-                       for (;;) {\r
-                               if (pc >= image.Length)\r
-                                       return;\r
-                       \r
-                               PatternCompiler.DecodeOp (image[pc], out op, out flags);\r
-                               Console.Write (FormatAddress (pc) + ": ");              // address\r
-                               Console.Write (new string (' ', depth * 2));            // indent\r
-                               Console.Write (DisassembleOp (image, pc));              // instruction\r
-                               Console.WriteLine ();\r
-\r
-                               int skip;\r
-                               switch (op) {\r
-                               case OpCode.False: case OpCode.True: case OpCode.Until:\r
-                                       skip = 1;\r
-                                       break;\r
-\r
-                               case OpCode.Character: case OpCode.Category: case OpCode.NotCategory:\r
-                               case OpCode.Position:\r
-                               case OpCode.Open: case OpCode.Close: case OpCode.Reference:\r
-                               case OpCode.Sub: case OpCode.Branch: case OpCode.Jump: case OpCode.In:\r
-                                       skip = 2;\r
-                                       break;\r
-\r
-                               case OpCode.Balance: case OpCode.IfDefined: case OpCode.Range:\r
-                               case OpCode.Test: case OpCode.Anchor:\r
-                                       skip = 3;\r
-                                       break;\r
-\r
-                               case OpCode.Repeat: case OpCode.FastRepeat: case OpCode.Info:\r
-                                       skip = 4;\r
-                                       break;\r
-\r
-                               case OpCode.String: skip = image[pc + 1] + 2; break;\r
-                               case OpCode.Set: skip = image[pc + 2] + 3; break;\r
-\r
-                               default:\r
-                                       skip = 1;\r
-                                       break;\r
-                               }\r
-\r
-                               pc += skip;\r
-                       }\r
-               }\r
-\r
-               public static string DisassembleOp (ushort[] image, int pc) {\r
-                       OpCode op;\r
-                       OpFlags flags;\r
-\r
-                       PatternCompiler.DecodeOp (image[pc], out op, out flags);\r
-                       string str = op.ToString ();\r
-                       if (flags != 0)\r
-                               str += "[" + flags.ToString ("f") + "]";\r
-\r
-                       switch (op) {\r
-                       case OpCode.False: case OpCode.True: case OpCode.Until:\r
-                       default:\r
-                               break;\r
-\r
-                       case OpCode.Info:\r
-                               str += " " + image[pc + 1];\r
-                               str += " (" + image[pc + 2] + ", " + image[pc + 3] + ")";\r
-                               break;\r
-                       \r
-                       case OpCode.Character:\r
-                               str += " '" + FormatChar ((char)image[pc + 1]) + "'";\r
-                               break;\r
-\r
-                       case OpCode.Category:\r
-                       case OpCode.NotCategory:\r
-                               str += " /" + (Category)image[pc + 1];\r
-                               break;\r
-                       \r
-                       case OpCode.Range:\r
-                               str += " '" + FormatChar ((char)image[pc + 1]) + "', ";\r
-                               str += " '" + FormatChar ((char)image[pc + 2]) + "'";\r
-                               break;\r
-\r
-                       case OpCode.Set:\r
-                               str += " " + FormatSet (image, pc + 1);\r
-                               break;\r
-\r
-                       case OpCode.String:\r
-                               str += " '" + ReadString (image, pc + 1) + "'";\r
-                               break;\r
-\r
-                       case OpCode.Position:\r
-                               str += " /" + (Position)image[pc + 1];\r
-                               break;\r
-\r
-                       case OpCode.Open: case OpCode.Close: case OpCode.Reference:\r
-                               str += " " + image[pc + 1];\r
-                               break;\r
-\r
-                       case OpCode.Balance:\r
-                               str += " " + image[pc + 1] + " " + image[pc + 2];\r
-                               break;\r
-\r
-                       case OpCode.IfDefined: case OpCode.Anchor:\r
-                               str += " :" + FormatAddress (pc + image[pc + 1]);\r
-                               str += " " + image[pc + 2];\r
-                               break;\r
-                       \r
-                       case OpCode.Sub: case OpCode.Branch: case OpCode.Jump:\r
-                       case OpCode.In:\r
-                               str += " :" + FormatAddress (pc + image[pc + 1]);\r
-                               break;\r
-\r
-                       case OpCode.Test:\r
-                               str += " :" + FormatAddress (pc + image[pc + 1]);\r
-                               str += ", :" + FormatAddress (pc + image[pc + 2]);\r
-                               break;\r
-\r
-                       case OpCode.Repeat: case OpCode.FastRepeat:\r
-                               str += " :" + FormatAddress (pc + image[pc + 1]);\r
-                               str += " (" + image[pc + 2] + ", ";\r
-                               if (image[pc + 3] == 0xffff)\r
-                                       str += "Inf";\r
-                               else\r
-                                       str += image[pc + 3];\r
-                               str += ")";\r
-                               break;\r
-\r
-                       }\r
-\r
-                       return str;\r
-               }\r
-\r
-               // private static members\r
-       \r
-               private static string ReadString (ushort[] image, int pc) {\r
-                       int len = image[pc];\r
-                       char[] chars = new char[len];\r
-\r
-                       for (int i = 0; i < len; ++ i)\r
-                               chars[i] = (char)image[pc + i + 1];\r
-\r
-                       return new string (chars);\r
-               }\r
-\r
-               private static string FormatAddress (int pc) {\r
-                       return pc.ToString ("x4");\r
-               }\r
-\r
-               private static string FormatSet (ushort[] image, int pc) {\r
-                       int lo = image[pc ++];\r
-                       int hi = (image[pc ++] << 4) - 1;\r
-\r
-                       string str = "[";\r
-\r
-                       bool hot = false;\r
-                       char a = (char)0, b;\r
-                       for (int i = 0; i <= hi; ++ i) {\r
-                               bool m = (image[pc + (i >> 4)] & (1 << (i & 0xf))) != 0;\r
-\r
-                               if (m & !hot) {                         // start of range\r
-                                       a = (char)(lo + i);\r
-                                       hot = true;\r
-                               }\r
-                               else if (hot & (!m || i == hi)) {       // end of range\r
-                                       b = (char)(lo + i - 1);\r
-\r
-                                       str += FormatChar (a);\r
-                                       if (b != a)\r
-                                               str += "-" + FormatChar (b);\r
-                                       \r
-                                       hot = false;\r
-                               }\r
-                       }\r
-\r
-                       str += "]";\r
-                       return str;\r
-               }\r
-\r
-               private static string FormatChar (char c) {\r
-                       if (c == '-' || c == ']')\r
-                               return "\\" + c;\r
-\r
-                       if (Char.IsLetterOrDigit (c) || Char.IsSymbol (c))\r
-                               return c.ToString ();\r
-                       \r
-                       if (Char.IsControl (c)) {\r
-                               return "^" + (char)('@' + c);\r
-                       }\r
-\r
-                       return "\\u" + ((int)c).ToString ("x4");\r
-               }\r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/gen-interp.cs b/mcs/class/System/System.Text.RegularExpressions/gen-interp.cs
deleted file mode 100644 (file)
index 7324762..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-//
-// This file is not part of the build. It is used to generate the character related
-// opcodes in RxInterpreter.cs.
-//
-
-using System;
-
-class Op {
-       public string name, body, cond, len;
-
-       public Op (string name, string body, string cond, string len) {
-               this.name = name;
-               this.body = body;
-               this.cond = cond;
-               this.len = len;
-       }
-}
-
-public class GenInterp
-{
-       public static int base_indent;
-
-       public static void write (int indent, string format, params string[] args) {
-               for (int i = 0; i < base_indent + indent; ++i)
-                       Console.Write ("\t");
-               Console.WriteLine (format, args);
-       }
-
-       public static void Main () {
-               base_indent = 4;
-
-               write (0, "// GENERATED BY gen-interp.cs, DO NOT MODIFY");
-
-               Op[] ops = new Op [] {
-
-                       new Op ("Char", "", "(c == program [pc + 1])", "2"),
-                       new Op ("Range", "", "(c >= program [pc + 1] && c <= program [pc + 2])", "3"),
-                       new Op ("UnicodeRange", "", "(c >= (program [pc + 1] | ((int)program [pc + 2] << 8))) && (c <= (program [pc + 3] | ((int)program [pc + 4] << 8)))", "5"),
-                       new Op ("UnicodeChar", "", "(c == (program [pc + 1] | ((int)program [pc + 2] << 8)))", "3"),
-                       new Op ("CategoryAny", "", @"(c != '\n')", "1"),
-                       new Op ("CategoryAnySingleline", "", "true", "1"),
-                       new Op ("CategoryWord", "", "(Char.IsLetterOrDigit (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation)", "1"),
-                       new Op ("CategoryDigit", "", "(Char.IsDigit (c))", "1"),
-                       new Op ("CategoryWhiteSpace", "", "(Char.IsWhiteSpace (c))", "1"),
-                       new Op ("CategoryEcmaWord", "", "('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' || c == '_')", "1"),
-                       new Op ("CategoryEcmaWhiteSpace", "", @"(c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v')", "1"),
-                       new Op ("CategoryUnicodeSpecials", "", @"('\uFEFF' <= c && c <= '\uFEFF' || '\uFFF0' <= c && c <= '\uFFFD')", "1"),
-                       new Op ("CategoryUnicode", "", "(Char.GetUnicodeCategory (c) == (UnicodeCategory)program [pc + 1])", "2"),
-                       new Op ("CategoryGeneral", "", "(CategoryUtils.IsCategory ((Category)program [pc + 1], c))", "2"),
-                       new Op ("Bitmap", "int c2 = (int)c; c2 -= program [pc + 1]; length = program [pc + 2];", "(c2 >= 0 && c2 < (length << 3) && (program [pc + 3 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0)", "3 + program [pc + 2]"),
-                       new Op ("UnicodeBitmap", "int c2 = (int)c; c2 -= (program [pc + 1] | ((int)program [pc + 2] << 8)); length = (program [pc + 3] | ((int)program [pc + 4] << 8));", "(c2 >= 0 && c2 < (length << 3) && (program [pc + 5 + (c2 >> 3)] & (1 << (c2 & 0x7))) != 0)", "5 + (program [pc + 3] | ((int)program [pc + 4] << 8))")
-               };
-
-               for (int i1 = 0; i1 < 2; ++i1) {
-                       for (int i2 = 0; i2 < 2; ++i2) {
-                               for (int i3 = 0; i3 < 2; ++i3) {
-                                       bool reverse = (i1 == 1);
-                                       bool revert = (i2 == 1);
-                                       bool ignore = (i3 == 1);
-
-                                       foreach (Op op in ops) {
-                                               if (op.name.StartsWith ("Category") && ignore)
-                                                       // These have no IgnoreCase versions
-                                                       continue;
-
-                                               if (i1 == 0 && i2 == 0 && i3 == 0) {
-                                                       write (0, "");
-                                                       write (0, "/* {0} */", op.name);
-                                                       write (0, "");
-                                               }                                               
-
-                                               write (0, "case RxOp.{0}{1}{2}{3}:", revert ? "No" : "", op.name, ignore ? "IgnoreCase" : "", reverse ? "Reverse" : "");
-                                               if (reverse)
-                                                       write (1, "if (strpos > 0) {{");
-                                               else
-                                                       write (1, "if (strpos < string_end) {{");
-                                               if (!ignore) {
-                                                       if (reverse)
-                                                               write (2, "char c = str [strpos - 1];");
-                                                       else
-                                                               write (2, "char c = str [strpos];");
-                                               } else {
-                                                       if (reverse)
-                                                               write (2, "char c = Char.ToLower (str [strpos - 1]);");
-                                                       else
-                                                               write (2, "char c = Char.ToLower (str [strpos]);");
-                                               }
-                                               if (op.body != String.Empty)
-                                                       write (2, op.body);
-                                               write (2, "if ({0}({1})) {{", revert ? "!" : "", op.cond);
-                                               // TRUE case
-                                               if (!revert) {
-                                                       if (!reverse)
-                                                               write (3, "strpos ++;");
-                                                       else
-                                                               write (3, "strpos --;");
-                                                       write (3, "if (char_group_end != 0)");
-                                                       write (4, "goto test_char_group_passed;");
-                                                       write (3, "pc += {0};", "" + op.len);
-                                                       write (3, "continue;");
-                                               } else {
-                                                       /*
-                                                        * If we are inside a char group, the cases are ANDed 
-                                                        * together, so we have to continue checking the
-                                                        * other cases, and we need to increase strpos after 
-                                                        * the final check.
-                                                        * The char group is termined by a True, hence the
-                                                        * + 1 below.
-                                                        */
-                                                       write (3, "pc += {0};", "" + op.len);
-                                                       write (3, "if (char_group_end == 0 || (pc + 1 == char_group_end)) {{");
-                                                       if (!reverse)
-                                                               write (4, "strpos ++;");
-                                                       else
-                                                               write (4, "strpos --;");
-                                                       write (3, "if (pc + 1 == char_group_end)");
-                                                       write (4, "goto test_char_group_passed;");
-                                                       write (3, "}}");
-                                                       write (3, "continue;");
-                                               }
-                                               write (2, "}}");
-                                               write (1, "}}");
-
-                                               // FALSE case                                                   
-                                               if (!revert) {
-                                                       write (1, "if (char_group_end == 0)");
-                                                       write (2, "return false;");
-                                                       write (1, "pc += {0};", "" + op.len);
-                                                       write (1, "continue;");
-                                               } else {
-                                                       /* Fail both inside and outside a char group */
-                                                       write (1, "return false;");
-                                               }
-
-#if FALSE
-                                                       if (strpos < string_end && (COND (str [strpos]))) {
-                                                       if (!revert) {
-                                                               strpos ++;
-                                                               if (char_group_end != 0)
-                                                                       goto test_char_group_passed;
-                                                               pc += ins_len;
-                                                               continue;
-                                                       } else {
-                                                               /*
-                                                                * If we are inside a char group, the cases are ANDed 
-                                                                * together, so we have to continue checking the
-                                                                * other cases, and we need to increase strpos after 
-                                                                * the final check.
-                                                                * The char group is termined by a True, hence the
-                                                                * + 1 below.
-                                                                * FIXME: Optimize this.
-                                                                */
-                                                               pc += ins_len;
-                                                               if (char_group_end == 0 || (pc + 1 == char_group_end))
-                                                                       strpos ++;
-                                                               continue;
-                                                       }
-                                               } else {
-                                                       if (!revert) {
-                                                               if (char_group_end == 0)
-                                                                       return false;
-                                                               pc += ins_len;
-                                                               continue;
-                                                       } else {
-                                                               /* Fail both inside and outside a char group */
-                                                               return false;
-                                                       }
-                                               }
-                                       } else {
-                                               // Same as above, but use:
-                                               // - strpos > 0 instead of strpos < string_len
-                                               // - COND (str [strpos - 1]) instead of COND (str [strpos])
-                                               // - strpos -- instead of strpos ++
-                                       }
-#endif
-                                       }
-                               }
-                       }
-               }
-
-       write (0, "");
-       write (0, "// END OF GENERATED CODE");
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/interpreter.cs b/mcs/class/System/System.Text.RegularExpressions/interpreter.cs
deleted file mode 100644 (file)
index 3c70a3b..0000000
+++ /dev/null
@@ -1,1182 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       interpreter.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Diagnostics;
-using System.Globalization;
-
-namespace System.Text.RegularExpressions {
-
-       partial class Interpreter : BaseMachine {
-               private int ReadProgramCount (int ptr)
-               {
-                       int ret = program [ptr + 1];
-                       ret <<= 16;
-                       ret += program [ptr];
-                       return ret;
-               }
-
-               public Interpreter (ushort[] program) {
-                       this.program = program;
-                       this.qs = null;
-
-                       // process info block
-                       Debug.Assert ((OpCode)program[0] == OpCode.Info, "Regex", "Cant' find info block");
-                       this.group_count = ReadProgramCount (1) + 1;
-                       this.match_min = ReadProgramCount (3);
-                       //this.match_max = ReadProgramCount (5);
-
-                       // setup
-
-                       this.program_start = 7;
-                       this.groups = new int [group_count];
-               }
-
-               // IMachine implementation
-
-               public override Match Scan (Regex regex, string text, int start, int end, bool substring_mode) {
-                       this.regex_rtl = (regex.Options & RegexOptions.RightToLeft) != 0;
-
-                       if (!initialized)
-                       {
-                               this.text_start = regex_rtl && substring_mode ? end : start;
-                               this.text_end = regex_rtl ? substring_mode ? start : 0 : end;
-                               this.initialized = true;
-                       }
-                       else
-                       {
-                               this.text_start = start;
-                               this.text_end = end;
-                       }
-                       this.text = text;
-                       this.scan_ptr = text_start;
-                       this.substring_mode = substring_mode;
-
-                       if (Eval (Mode.Match, ref scan_ptr, program_start))
-                               return GenerateMatch (regex);
-
-                       return Match.Empty;
-               }
-
-               // private methods
-
-               private void Reset () {
-                       ResetGroups ();
-                       fast = repeat = null;
-               }
-
-               private bool Eval (Mode mode, ref int ref_ptr, int pc) {
-                       int ptr = ref_ptr;
-               Begin:
-                       for (;;) {
-                               ushort word = program[pc];
-                               OpCode op = (OpCode)(word & 0x00ff);
-                               OpFlags flags = (OpFlags)(word & 0xff00);
-
-                               switch (op) {
-                               case OpCode.Anchor: {
-                                       int skip = program[pc + 1];
-                                       
-                                       int anch_offset = program[pc + 2];
-                                       bool anch_reverse = (flags & OpFlags.RightToLeft) != 0; 
-                                       int anch_ptr = anch_reverse ?  ptr - anch_offset  : ptr + anch_offset;
-                                       int anch_end = (regex_rtl ? text_start : text_end) - match_min + anch_offset; // maximum anchor position  
-                                       
-                                       
-                                       int anch_begin =  0;
-
-
-                                       // the general case for an anchoring expression is at the bottom, however we
-                                       // do some checks for the common cases before to save processing time. the current
-                                       // optimizer only outputs three types of anchoring expressions: fixed position,
-                                       // fixed substring, and no anchor.
-
-                                       OpCode anch_op = (OpCode)(program[pc + 3] & 0x00ff);                                    
-                                       if (anch_op == OpCode.Position && skip == 6) {                          // position anchor
-                                               // Anchor
-                                               //      Position
-                                               //      True
-
-                                               switch ((Position)program[pc + 4]) {
-                                               case Position.StartOfString:
-                                                       if (anch_reverse || anch_offset == 0) {
-                                                               if (anch_reverse)
-                                                                       ptr = anch_offset;
-                                                               if (TryMatch (ref ptr, pc + skip))
-                                                                       goto Pass;
-                                                       }
-                                                       break;
-                                               
-                                               case Position.StartOfLine:
-                                                        if (anch_ptr == 0) {
-                                                               ptr = 0;
-                                                               if (TryMatch (ref ptr, pc + skip))
-                                                                       goto Pass;
-                                                               
-                                                               ++ anch_ptr;
-                                                       }
-
-                                                       while ((anch_reverse && anch_ptr >= 0) || (!anch_reverse && anch_ptr <= anch_end)) {  
-                                                               if (anch_ptr == 0 || text[anch_ptr - 1] == '\n') {
-                                                                       if (anch_reverse)
-                                                                               ptr = anch_ptr == anch_end ? anch_ptr : anch_ptr + anch_offset;
-                                                                       else
-                                                                               ptr = anch_ptr == 0 ? anch_ptr : anch_ptr - anch_offset;
-                                                                       if (TryMatch (ref ptr, pc + skip))
-                                                                               goto Pass;
-                                                               }
-                                                       
-                                                               if (anch_reverse)
-                                                                       -- anch_ptr;
-                                                               else
-                                                                       ++ anch_ptr;
-                                                       }
-                                                       break;
-                                               
-                                               case Position.StartOfScan:
-                                                       if (anch_ptr == scan_ptr) {                                                     
-                                                               ptr = anch_reverse ? scan_ptr + anch_offset : scan_ptr - anch_offset;
-                                                               if (TryMatch (ref ptr, pc + skip))
-                                                                       goto Pass;
-                                                       }
-                                                       break;
-
-                                               default:
-                                                       // FIXME
-                                                       break;
-                                               }
-                                       }
-                                       else if (qs != null ||
-                                               (anch_op == OpCode.String && skip == 6 + program[pc + 4])) {    // substring anchor
-                                               // Anchor
-                                               //      String
-                                               //      True
-                                
-                                               bool reverse = ((OpFlags)program[pc + 3] & OpFlags.RightToLeft) != 0;
-
-                                               if (qs == null) {
-                                                       bool ignore = ((OpFlags)program[pc + 3] & OpFlags.IgnoreCase) != 0;
-                                                       string substring = GetString (pc + 3);
-                                                       qs = new QuickSearch (substring, ignore, reverse);
-                                               }
-                                               while ((anch_reverse && anch_ptr >= anch_begin) 
-                                                      || (!anch_reverse && anch_ptr <= anch_end)) {
-
-                                                       if (reverse)    
-                                                       {
-                                                               anch_ptr = qs.Search (text, anch_ptr, anch_begin);
-                                                               if (anch_ptr != -1)
-                                                                       anch_ptr += qs.Length ;
-                                                               
-                                                       }
-                                                       else
-                                                               anch_ptr = qs.Search (text, anch_ptr, anch_end);
-                                                       if (anch_ptr < 0)
-                                                               break;
-
-                                                       ptr = reverse ? anch_ptr + anch_offset : anch_ptr - anch_offset;
-                                                       if (TryMatch (ref ptr, pc + skip))
-                                                               goto Pass;
-
-                                                       if (reverse)
-                                                               anch_ptr -= 2;
-                                                       else 
-                                                               ++ anch_ptr;
-                                               }
-                                       }
-                                       else if (anch_op == OpCode.True) {                                      // no anchor
-                                               // Anchor
-                                               //      True
-
-                                       
-                                               while ((anch_reverse && anch_ptr >= anch_begin) 
-                                                      || (!anch_reverse && anch_ptr <= anch_end)) {
-
-                                                       ptr = anch_ptr;
-                                                       if (TryMatch (ref ptr, pc + skip))
-                                                               goto Pass;
-                                                       if (anch_reverse)
-                                                               -- anch_ptr;
-                                                       else 
-                                                               ++ anch_ptr;
-                                               }
-                                       }
-                                       else {                                                                  // general case
-                                               // Anchor
-                                               //      <expr>
-                                               //      True
-
-                                               while ((anch_reverse && anch_ptr >= anch_begin) 
-                                                      || (!anch_reverse && anch_ptr <= anch_end)) {
-
-                                                       ptr = anch_ptr;
-                                                       if (Eval (Mode.Match, ref ptr, pc + 3)) {
-                                                               // anchor expression passed: try real expression at the correct offset
-
-                                                               ptr = anch_reverse ? anch_ptr + anch_offset : anch_ptr - anch_offset;
-                                                               if (TryMatch (ref ptr, pc + skip))
-                                                                       goto Pass;
-                                                       }
-
-                                                   if (anch_reverse)
-                                                               -- anch_ptr;
-                                                       else 
-                                                               ++ anch_ptr;
-                                               }
-                                       }
-
-                                       goto Fail;
-                               }
-                               
-                               case OpCode.False: {
-                                       goto Fail;
-                               }
-
-                               case OpCode.True: {
-                                       goto Pass;
-                               }
-
-                               case OpCode.Position: {
-                                       if (!IsPosition ((Position)program[pc + 1], ptr))
-                                               goto Fail;
-                                       pc += 2;
-                                       break;
-                               }
-
-                               case OpCode.String: {
-                                       bool reverse = (flags & OpFlags.RightToLeft) != 0;
-                                       bool ignore = (flags & OpFlags.IgnoreCase) != 0;
-                                       int len = program[pc + 1];
-
-                                       if (reverse) {
-                                               ptr -= len;
-                                               if ((!regex_rtl && ptr < 0) || (regex_rtl && ptr < text_end))
-                                                       goto Fail;
-                                       }
-                                       else 
-                                       if (ptr + len > text_end)
-                                               goto Fail;
-
-                                       pc += 2;
-                                       for (int i = 0; i < len; ++ i) {
-                                               char c = text[ptr + i];
-                                               if (ignore)
-                                                       c = Char.ToLower (c);
-
-                                               if (c != (char)program[pc ++])
-                                                       goto Fail;
-                                       }
-
-                                       if (!reverse)
-                                               ptr += len;
-                                       break;
-                               }
-
-                               case OpCode.Reference: {
-                                       bool reverse = (flags & OpFlags.RightToLeft) != 0;
-                                       bool ignore = (flags & OpFlags.IgnoreCase) != 0;
-                                       int m = GetLastDefined (program [pc + 1]);
-                                       if (m < 0)
-                                               goto Fail;
-
-                                       int str = marks [m].Index;
-                                       int len = marks [m].Length;
-
-                                       if (reverse) {
-                                               ptr -= len;
-                                               if ((!regex_rtl && ptr < 0) || (regex_rtl && ptr < text_end))
-                                                       goto Fail;
-                                       }
-                                       else if (ptr + len > text_end)
-                                               goto Fail;
-
-                                       pc += 2;
-                                       if (ignore) {
-                                               for (int i = 0; i < len; ++ i) {
-                                                       if (Char.ToLower (text[ptr + i]) != Char.ToLower (text[str + i]))
-                                                               goto Fail;
-                                               }
-                                       } else {
-                                               for (int i = 0; i < len; ++ i) {
-                                                       if (text[ptr + i] != text[str + i])
-                                                               goto Fail;
-                                               }
-                                       }
-
-                                       if (!reverse)
-                                               ptr += len;
-                                       break;
-                               }
-
-                               case OpCode.Character: case OpCode.Category: case OpCode.NotCategory:
-                               case OpCode.Range: case OpCode.Set: {
-                                       if (!EvalChar (mode, ref ptr, ref pc, false))
-                                               goto Fail;
-                                       break;
-                               }
-
-                               case OpCode.In: {
-                                       int target = pc + program[pc + 1];
-                                       pc += 2;
-                                       if (!EvalChar (mode, ref ptr, ref pc, true))
-                                               goto Fail;
-
-                                       pc = target;
-                                       break;
-                               }
-
-                               case OpCode.Open: {
-                                       Open (program[pc + 1], ptr);
-                                       pc += 2;
-                                       break;
-                               }
-
-                               case OpCode.Close: {
-                                       Close (program[pc + 1], ptr);
-                                       pc += 2;
-                                       break;
-                               }
-
-                               case OpCode.BalanceStart: {
-
-                                       int start = ptr; //point before the balancing group
-                                       
-                                       if (!Eval (Mode.Match, ref ptr, pc + 5))
-                                               goto Fail;
-                                       
-                                       
-                                       
-                                       if(!Balance (program[pc + 1], program[pc + 2], (program[pc + 3] == 1 ? true : false) , start)) {
-                                               goto Fail;
-                                       }
-
-                                       
-                                       pc += program[pc + 4];
-                                       break;
-                               }
-
-                               case OpCode.Balance: {
-                                       goto Pass;
-                               }
-
-                               case OpCode.IfDefined: {
-                                       int m = GetLastDefined (program [pc + 2]);
-                                       if (m < 0)
-                                               pc += program[pc + 1];
-                                       else
-                                               pc += 3;
-                                       break;
-                               }
-
-                               case OpCode.Sub: {
-                                       if (!Eval (Mode.Match, ref ptr, pc + 2))
-                                               goto Fail;
-
-                                       pc += program[pc + 1];
-                                       break;
-                               }
-
-                               case OpCode.Test: {
-                                       int cp = Checkpoint ();
-                                       int test_ptr = ptr;
-                                       if (Eval (Mode.Match, ref test_ptr, pc + 3))
-                                               pc += program[pc + 1];
-                                       else {
-                                               Backtrack (cp);
-                                               pc += program[pc + 2];
-                                       }
-                                       break;
-                               }
-
-                               case OpCode.Branch: {
-                                       OpCode branch_op;
-                                       do {
-                                               int cp = Checkpoint ();
-                                               if (Eval (Mode.Match, ref ptr, pc + 2))
-                                                       goto Pass;
-                                               
-                                               Backtrack (cp);
-                                               
-                                               pc += program[pc + 1];
-                                               branch_op = (OpCode)(program[pc] & 0xff);
-                                       } while (branch_op != OpCode.False);
-
-                                       goto Fail;
-                               }
-
-                               case OpCode.Jump: {
-                                       pc += program[pc + 1];
-                                       break;
-                               }
-
-                               case OpCode.Repeat: {
-                                       this.repeat = new RepeatContext (
-                                               this.repeat,                    // previous context
-                                               ReadProgramCount (pc + 2),              // minimum
-                                               ReadProgramCount (pc + 4),              // maximum
-                                               (flags & OpFlags.Lazy) != 0,    // lazy
-                                               pc + 6                          // subexpression
-                                       );
-
-                                       if (Eval (Mode.Match, ref ptr, pc + program[pc + 1]))
-                                               goto Pass;
-                                       else {
-                                               this.repeat = this.repeat.Previous;
-                                               goto Fail;
-                                       }
-                               }
-
-                               case OpCode.Until: {
-                                       RepeatContext current = this.repeat;
-
-                                       //
-                                       // Can we avoid recursion?
-                                       //
-                                       // Backtracking can be forced in nested quantifiers from the tail of this quantifier.
-                                       // Thus, we cannot, in general, use a simple loop on repeat.Expression to handle
-                                       // quantifiers.
-                                       //
-                                       // If 'deep' was unmolested, that implies that there was no nested quantifiers.
-                                       // Thus, we can safely avoid recursion.
-                                       //
-                                       if (deep == current)
-                                               goto Pass;
-
-                                       int start = current.Start;
-                                       int start_count = current.Count;
-
-                                       while (!current.IsMinimum) {
-                                               ++ current.Count;
-                                               current.Start = ptr;
-                                               deep = current;
-                                               if (!Eval (Mode.Match, ref ptr, current.Expression)) {
-                                                       current.Start = start;
-                                                       current.Count = start_count;
-                                                       goto Fail;
-                                               }
-                                               if (deep != current)    // recursive mode
-                                                       goto Pass;
-                                       }
-
-                                       if (ptr == current.Start) {
-                                               // degenerate match ... match tail or fail
-                                               this.repeat = current.Previous;
-                                               deep = null;
-                                               if (Eval (Mode.Match, ref ptr, pc + 1))
-                                                       goto Pass;
-                                       
-                                               this.repeat = current;
-                                               goto Fail;
-                                       }
-
-                                       if (current.IsLazy) {
-                                               for (;;) {
-                                                       // match tail first ...
-                                                       this.repeat = current.Previous;
-                                                       deep = null;
-                                                       int cp = Checkpoint ();
-                                                       if (Eval (Mode.Match, ref ptr, pc + 1))
-                                                               goto Pass;
-
-                                                       Backtrack (cp);
-
-                                                       // ... then match more
-                                                       this.repeat = current;
-                                                       if (current.IsMaximum)
-                                                               goto Fail;
-                                                       ++ current.Count;
-                                                       current.Start = ptr;
-                                                       deep = current;
-                                                       if (!Eval (Mode.Match, ref ptr, current.Expression)) {
-                                                               current.Start = start;
-                                                               current.Count = start_count;
-                                                               goto Fail;
-                                                       }
-                                                       if (deep != current)    // recursive mode
-                                                               goto Pass;
-                                                       // Degenerate match: ptr has not moved since the last (failed) tail match.
-                                                       // So, next and subsequent tail matches will fail.
-                                                       if (ptr == current.Start)
-                                                               goto Fail;
-                                               }
-                                       } else {
-                                               int stack_size = stack.Count;
-
-                                               // match greedily as much as possible
-                                               while (!current.IsMaximum) {
-                                                       int cp = Checkpoint ();
-                                                       int old_ptr = ptr;
-                                                       int old_start = current.Start;
-
-                                                       ++ current.Count;
-                                                       current.Start = ptr;
-                                                       deep = current;
-                                                       if (!Eval (Mode.Match, ref ptr, current.Expression)) {
-                                                               -- current.Count;
-                                                               current.Start = old_start;
-                                                               Backtrack (cp);
-                                                               break;
-                                                       }
-                                                       if (deep != current) {
-                                                               // recursive mode: no more backtracking, truncate the stack
-                                                               stack.Count = stack_size;
-                                                               goto Pass;
-                                                       }
-                                                       stack.Push (cp);
-                                                       stack.Push (old_ptr);
-
-                                                       // Degenerate match: no point going on
-                                                       if (ptr == current.Start)
-                                                               break;
-                                               }
-
-                                               // then, match the tail, backtracking as necessary.
-                                               this.repeat = current.Previous;
-                                               for (;;) {
-                                                       deep = null;
-                                                       if (Eval (Mode.Match, ref ptr, pc + 1)) {
-                                                               stack.Count = stack_size;
-                                                               goto Pass;
-                                                       }
-                                                       if (stack.Count == stack_size) {
-                                                               this.repeat = current;
-                                                               goto Fail;
-                                                       }
-
-                                                       --current.Count;
-                                                       ptr = stack.Pop ();
-                                                       Backtrack (stack.Pop ());
-                                               }
-                                       }
-                               }
-
-                               case OpCode.FastRepeat: {
-                                       this.fast = new RepeatContext (
-                                               fast,
-                                               ReadProgramCount (pc + 2),              // minimum
-                                               ReadProgramCount (pc + 4),              // maximum
-                                               (flags & OpFlags.Lazy) != 0,    // lazy
-                                               pc + 6                          // subexpression
-                                       );
-
-                                       fast.Start = ptr;
-
-                                       int cp = Checkpoint ();
-
-                                       pc += program[pc + 1];          // tail expression
-                                       ushort tail_word = program[pc];
-
-                                       int c1 = -1;            // first character of tail operator
-                                       int c2 = -1;            // ... and the same character, in upper case if ignoring case
-                                       int coff = 0;           // 0 or -1 depending on direction
-
-                                       OpCode tail_op = (OpCode)(tail_word & 0xff);
-                                       if (tail_op == OpCode.Character || tail_op == OpCode.String) {
-                                               OpFlags tail_flags = (OpFlags)(tail_word & 0xff00);
-
-                                               if ((tail_flags & OpFlags.Negate) != 0)
-                                                       goto skip;
-
-                                               if (tail_op == OpCode.String)
-                                               {
-                                                       int offset = 0;
-                                               
-                                                       if ((tail_flags & OpFlags.RightToLeft) != 0)
-                                                       {
-                                                               offset = program[pc + 1] - 1 ;
-                                                       }
-                                                         
-                                                       c1 = program[pc + 2 + offset];                          // first char of string
-                                               }
-                                               else
-                                                       c1 = program[pc + 1];                           // character
-                                               
-                                               if ((tail_flags & OpFlags.IgnoreCase) != 0)
-                                                       c2 = Char.ToUpper ((char)c1);                   // ignore case
-                                               else
-                                                       c2 = c1;
-
-                                               if ((tail_flags & OpFlags.RightToLeft) != 0)
-                                                       coff = -1;                                      // reverse
-                                               else
-                                                       coff = 0;
-                                       }
-
-                               skip:
-                                       if (fast.IsLazy) {
-                                               if (!fast.IsMinimum && !Eval (Mode.Count, ref ptr, fast.Expression)) {
-                                                       //Console.WriteLine ("lazy fast: failed mininum.");
-                                                       fast = fast.Previous;
-                                                       goto Fail;
-                                               }
-                                               
-                                               while (true) {
-                                                       int p = ptr + coff;
-                                                       if (c1 < 0 || (p >= 0 && ((regex_rtl && p >= text_end) || (!regex_rtl && p < text_end)) && (c1 == text[p] || c2 == text[p]))) {
-                                                               deep = null;
-                                                               if (Eval (Mode.Match, ref ptr, pc))
-                                                                       break;
-                                                       }
-
-                                                       if (fast.IsMaximum) {
-                                                               //Console.WriteLine ("lazy fast: failed with maximum.");
-                                                               fast = fast.Previous;
-                                                               goto Fail;
-                                                       }
-
-                                                       Backtrack (cp);
-                                                       if (!Eval (Mode.Count, ref ptr, fast.Expression)) {
-                                                               //Console.WriteLine ("lazy fast: no more.");
-                                                               fast = fast.Previous;
-                                                               goto Fail;
-                                                       }
-                                               }
-                                               fast = fast.Previous;
-                                               goto Pass;
-                                       }
-                                       else {
-                                               if (!Eval (Mode.Count, ref ptr, fast.Expression)) {
-                                                       fast = fast.Previous;
-                                                       goto Fail;
-                                               }
-                                       
-                                               int width;
-                                               if (fast.Count > 0)
-                                                       width = (ptr - fast.Start) / fast.Count;
-                                               else
-                                                       width = 0;
-
-                                               while (true) {
-                                                       int p = ptr + coff;
-                                                       if (c1 < 0 || (p >= 0 && ((regex_rtl && p >= text_end) || (!regex_rtl && p < text_end)) && (c1 == text[p] || c2 == text[p]))) {
-                                                               deep = null;
-                                                               if (Eval (Mode.Match, ref ptr, pc))
-                                                                       break;
-                                                       }
-
-                                                       -- fast.Count;
-                                                       if (!fast.IsMinimum) {
-                                                               fast = fast.Previous;
-                                                               goto Fail;
-                                                       }
-
-                                                       ptr -= width;
-                                                       Backtrack (cp);
-                                               }
-                                               fast = fast.Previous;
-                                               goto Pass;
-                                       }
-                               }
-
-                               case OpCode.Info: {
-                                       Debug.Assert (false, "Regex", "Info block found in pattern");
-                                       goto Fail;
-                               }
-                               }
-                       }
-               Pass:
-                       ref_ptr = ptr;
-
-                       switch (mode) {
-                       case Mode.Match:
-                               return true;
-
-                       case Mode.Count: {
-                               ++ fast.Count;
-                               if (fast.IsMaximum || (fast.IsLazy && fast.IsMinimum))
-                                       return true;
-
-                               pc = fast.Expression;
-                               goto Begin;
-                       }
-                       }
-
-               Fail:
-                       switch (mode) {
-                       case Mode.Match:
-                               return false;
-
-                       case Mode.Count: {
-                               if (!fast.IsLazy && fast.IsMinimum)
-                                       return true;
-
-                               ref_ptr = fast.Start;
-                               return false;
-                       }
-                       }
-
-                       return false;
-               }
-
-               private bool EvalChar (Mode mode, ref int ptr, ref int pc, bool multi) {
-                       bool consumed = false;
-                       char c = '\0';
-                       bool negate;
-                       bool ignore;
-               
-                       do {
-                               ushort word = program[pc];
-                               OpCode op = (OpCode)(word & 0x00ff);
-                               OpFlags flags = (OpFlags)(word & 0xff00);
-
-                               ++ pc;
-
-                               ignore = (flags & OpFlags.IgnoreCase) != 0;
-                               
-                               // consume character: the direction of an In construct is
-                               // determined by the direction of its first op
-
-                               if (!consumed) {
-                                       if ((flags & OpFlags.RightToLeft) != 0) {
-                                               if ((substring_mode && ptr <= (regex_rtl ? text_end : text_start)) || (!substring_mode && ptr <= 0))
-                                                       return false;
-
-                                               c = text[-- ptr];
-                                       }
-                                       else {
-                                               if ((!regex_rtl && ptr >= text_end) || (regex_rtl && ptr >= text_start))
-                                                       return false;
-
-                                               c = text[ptr ++];
-                                       }
-
-                                       if (ignore)
-                                               c = Char.ToLower (c);
-
-                                       consumed = true;
-                               }
-
-                               // negate flag
-
-                               negate = (flags & OpFlags.Negate) != 0;
-
-                               // execute op
-                               
-                               switch (op) {
-                               case OpCode.True:
-                                       return true;
-
-                               case OpCode.False:
-                                       return false;
-                               
-                               case OpCode.Character: {
-                                       if (c == (char)program[pc ++])
-                                               return !negate;
-                                       break;
-                               }
-
-                               case OpCode.Category: {
-                                       if (CategoryUtils.IsCategory ((Category)program[pc ++], c))
-                                               return !negate;
-                                       break;
-                               }
-
-                               case OpCode.NotCategory: {
-                                       if (!CategoryUtils.IsCategory ((Category)program[pc ++], c))
-                                               return !negate;
-                                       break;
-                               }
-                               
-                               case OpCode.Range: {
-                                       int lo = (char)program[pc ++];
-                                       int hi = (char)program[pc ++];
-                                       if (lo <= c && c <= hi)
-                                               return !negate;
-                                       break;
-                               }
-
-                               case OpCode.Set: {
-                                       int lo = (char)program[pc ++];
-                                       int len = (char)program[pc ++];
-                                       int bits = pc;
-                                       pc += len;
-
-                                       int i = (int)c - lo;
-                                       if (i < 0 || i >= len << 4)
-                                               break;
-                                               
-
-                                       if ((program[bits + (i >> 4)] & (1 << (i & 0xf))) != 0)
-                                               return !negate;
-                                       break;
-                               }
-                               }
-                       } while (multi);
-
-                       return negate;
-               }
-
-               private bool TryMatch (ref int ref_ptr, int pc) {
-                       Reset ();
-                       
-                       int ptr = ref_ptr;
-                       marks [groups [0]].Start = ptr;
-                       if (Eval (Mode.Match, ref ptr, pc)) {
-                               marks [groups [0]].End = ptr;
-                               ref_ptr = ptr;
-                               return true;
-                       }
-
-                       return false;
-               }
-               
-               private bool IsPosition (Position pos, int ptr) {
-                       switch (pos) {
-                       case Position.Start: case Position.StartOfString:
-                               return ptr == 0 || (substring_mode && ((!regex_rtl && ptr == text_start) || (regex_rtl && ptr == text_end)));
-
-                       case Position.StartOfLine:
-                               return ptr == 0 || text[ptr - 1] == '\n' || (substring_mode && ((!regex_rtl && ptr == text_start) || (regex_rtl && ptr == text_end)));
-                               
-                       case Position.StartOfScan:
-                               return ptr == scan_ptr;
-                       
-                       case Position.End:
-                               return (!regex_rtl && ptr == text_end) || (regex_rtl && ptr == text_start) ||
-                                       (((!regex_rtl && ptr == text_end - 1) || (regex_rtl && ptr == text_start - 1)) && text[ptr] == '\n');
-
-                       case Position.EndOfLine:
-                               return (!regex_rtl && ptr == text_end) || (regex_rtl && ptr == text_start) || text[ptr] == '\n';
-                               
-                       case Position.EndOfString:
-                               return (!regex_rtl && ptr == text_end) || (regex_rtl && ptr == text_start);
-                               
-                       case Position.Boundary:
-                               if ((!regex_rtl && text_end == 0) || (regex_rtl && text_start == 0))
-                                       return false;
-
-                               if (ptr == 0)
-                                       return IsWordChar (text[ptr]);
-                               else if ((!regex_rtl && ptr == text_end) || (regex_rtl && ptr == text_start))
-                                       return IsWordChar (text[ptr - 1]);
-                               else
-                                       return IsWordChar (text[ptr]) != IsWordChar (text[ptr - 1]);
-
-                       case Position.NonBoundary:
-                               if ((!regex_rtl && text_end == 0) || (regex_rtl && text_start == 0))
-                                       return false;
-
-                               if (ptr == 0)
-                                       return !IsWordChar (text[ptr]);
-                               else if ((!regex_rtl && ptr == text_end) || (regex_rtl && ptr == text_start))
-                                       return !IsWordChar (text[ptr - 1]);
-                               else
-                                       return IsWordChar (text[ptr]) == IsWordChar (text[ptr - 1]);
-                       
-                       default:
-                               return false;
-                       }
-               }
-
-               private bool IsWordChar (char c) {
-                       return CategoryUtils.IsCategory (Category.Word, c);
-               }
-
-               private string GetString (int pc) {
-                       int len = program[pc + 1];
-                       int str = pc + 2;
-
-                       char[] cs = new char[len];
-                       for (int i = 0; i < len; ++ i)
-                               cs[i] = (char)program[str ++];
-
-                       return new string (cs);
-               }
-
-               // capture management
-
-               private void Open (int gid, int ptr) {
-                       int m = groups [gid];
-                       if (m < mark_start || marks [m].IsDefined) {
-                               m = CreateMark (m);
-                               groups [gid] = m;
-                       }
-
-                       marks [m].Start = ptr;
-               }
-
-               private void Close (int gid, int ptr) {
-                       marks [groups [gid]].End = ptr;
-               }
-
-               private bool Balance (int gid, int balance_gid, bool capture, int ptr) {
-                       int b = groups [balance_gid];
-
-                       if(b == -1 || marks[b].Index < 0) {
-                               //Group not previously matched
-                               return false;
-                       }
-                       Debug.Assert (marks [b].IsDefined, "Regex", "Balancng group not closed");
-                       if (gid > 0 && capture){ 
-                               Open (gid, marks [b].Index + marks [b].Length);
-                               Close (gid, ptr);
-                       }
-
-                       groups [balance_gid] = marks[b].Previous;
-
-                       return true;
-               }
-
-               private int Checkpoint () {
-                       mark_start = mark_end;
-                       return mark_start;
-               }
-
-               private void Backtrack (int cp) {
-                       Debug.Assert (cp > mark_start, "Regex", "Attempt to backtrack forwards");
-                       for (int i = 0; i < groups.Length; ++ i) {
-                               int m = groups [i];
-                               while (cp <= m) {
-                                       marks [m].Start = -1;
-                                       m = marks [m].Previous;
-                               }
-
-                               groups [i] = m;
-                       }
-                       mark_start = cp;
-               }
-
-               private void ResetGroups () {
-                       int n = groups.Length;
-                       if (marks == null)
-                               marks = new Mark [n * 10];
-
-                       for (int i = 0; i < n; ++ i) {
-                               groups [i] = i;
-
-                               marks [i].Start = -1;
-                               marks [i].End = -1;
-                               marks [i].Previous = -1;
-                       }
-                       
-                       mark_start = 0;
-                       mark_end = n;
-               }
-
-               private int GetLastDefined (int gid) {
-                       int m = groups [gid];
-                       while (m >= 0 && !marks [m].IsDefined)
-                               m = marks [m].Previous;
-
-                       return m;
-               }
-
-               private int CreateMark (int previous) {
-                       if (mark_end == marks.Length) {
-                               Mark [] dest = new Mark [marks.Length * 2];
-                               marks.CopyTo (dest, 0);
-                               marks = dest;
-                       }
-
-                       int m = mark_end ++;
-                       marks [m].Start = marks [m].End = -1;
-                       marks [m].Previous = previous;
-
-                       return m;
-               }
-
-               private void GetGroupInfo (int gid, out int first_mark_index, out int n_caps)
-               {
-                       first_mark_index = -1;
-                       n_caps = 0;
-                       for (int m = groups [gid]; m >= 0; m = marks [m].Previous) {
-                               if (!marks [m].IsDefined)
-                                       continue;
-                               if (first_mark_index < 0)
-                                       first_mark_index = m;
-                               ++n_caps;
-                       }
-               }
-
-               private void PopulateGroup (Group g, int first_mark_index, int n_caps)
-               {
-                       int i = 1;
-                       for (int m = marks [first_mark_index].Previous; m >= 0; m = marks [m].Previous) {
-                               if (!marks [m].IsDefined)
-                                       continue;
-                               Capture cap = new Capture (text, marks [m].Index, marks [m].Length);
-                               g.Captures.SetValue (cap, n_caps - 1 - i);
-                               ++i;
-                       }
-               }
-
-               private Match GenerateMatch (Regex regex)
-               {
-                       int n_caps, first_mark_index;
-                       Group g;
-                       GetGroupInfo (0, out first_mark_index, out n_caps);
-
-                       // Avoid fully populating the Match instance if not needed
-                       if (!needs_groups_or_captures)
-                               return new Match (regex, this, text, text_end, 0, marks [first_mark_index].Index, marks [first_mark_index].Length);
-
-                       Match retval = new Match (regex, this, text, text_end, groups.Length, 
-                                                 marks [first_mark_index].Index, marks [first_mark_index].Length, n_caps);
-                       PopulateGroup (retval, first_mark_index, n_caps);
-
-                       for (int gid = 1; gid < groups.Length; ++ gid) {
-                               GetGroupInfo (gid, out first_mark_index, out n_caps);
-                               if (first_mark_index < 0) {
-                                       g = Group.Fail;
-                               } else {
-                                       g = new Group (text, marks [first_mark_index].Index, marks [first_mark_index].Length, n_caps);
-                                       PopulateGroup (g, first_mark_index, n_caps);
-                               }
-                               retval.Groups.SetValue (g, gid);
-                       }
-                       return retval;
-               }
-
-               // interpreter attributes
-
-               private ushort[] program;               // regex program
-               private int program_start;              // first instruction after info block
-               private string text;                    // input text
-               private int text_end;                   // end of input text (last character + 1)
-               private int group_count;                // number of capturing groups
-               private int match_min;//, match_max;    // match width information
-               private QuickSearch qs;                 // fast substring matcher
-
-               private bool regex_rtl;
-               private int text_start;
-               private bool substring_mode;
-               private bool initialized;
-
-               // match state
-               
-               private int scan_ptr;                   // start of scan
-
-               private RepeatContext repeat;           // current repeat context
-               private RepeatContext fast;             // fast repeat context
-
-               // Repeat/Until handling
-               private IntStack stack = new IntStack (); // utility stack
-               private RepeatContext deep;             // points to the most-nested repeat context
-
-               private Mark[] marks = null;            // mark stack
-               private int mark_start;                 // start of current checkpoint
-               private int mark_end;                   // end of checkpoint/next free mark
-
-               private int[] groups;                   // current group definitions
-
-               // private classes
-
-               private struct IntStack {
-                       int [] values;
-                       int count;
-                       public int Pop ()
-                       {
-                               return values [--count];
-                       }
-                       public void Push (int value)
-                       {
-                               if (values == null) {
-                                       values = new int [8];
-                               } else if (count == values.Length) {
-                                       int new_size = values.Length;
-                                       new_size += new_size >> 1;
-                                       int [] new_values = new int [new_size];
-                                       for (int i = 0; i < count; ++i)
-                                               new_values [i] = values [i];
-                                       values = new_values;
-                               }
-                               values [count++] = value;
-                       }
-                       public int Top {
-                               get { return values [count - 1]; }
-                       }
-                       public int Count {
-                               get { return count; }
-                               set {
-                                       if (value > count)
-                                               throw new SystemException ("can only truncate the stack");
-                                       count = value;
-                               }
-                       }
-               }
-
-               private class RepeatContext {
-                       public RepeatContext (RepeatContext previous, int min, int max, bool lazy, int expr_pc) {
-                               this.previous = previous;
-                               this.min = min;
-                               this.max = max;
-                               this.lazy = lazy;
-                               this.expr_pc = expr_pc;
-                               
-                               this.start = -1;
-                               this.count = 0;
-                       }
-
-                       public int Count {
-                               get { return count; }
-                               set { count = value; }
-                       }
-
-                       public int Start {
-                               get { return start; }
-                               set { start = value; }
-                       }
-
-                       public bool IsMinimum {
-                               get { return min <= count; }
-                       }
-
-                       public bool IsMaximum {
-                               get { return max <= count; }
-                       }
-
-                       public bool IsLazy {
-                               get { return lazy; }
-                       }
-
-                       public int Expression {
-                               get { return expr_pc; }
-                       }
-
-                       public RepeatContext Previous {
-                               get { return previous; }
-                       }
-               
-                       private int start;
-                       private int min, max;
-                       private bool lazy;
-                       private int expr_pc;
-                       private RepeatContext previous;
-
-                       private int count;
-               }
-
-               private enum Mode {
-                       Search,
-                       Match,
-                       Count
-               }
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/interval.cs b/mcs/class/System/System.Text.RegularExpressions/interval.cs
deleted file mode 100644 (file)
index 91da127..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-//\r
-// assembly:   System\r
-// namespace:  System.Text.RegularExpressions\r
-// file:       interval.cs\r
-//\r
-// author:     Dan Lewis (dlewis@gmx.co.uk)\r
-//             (c) 2002\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.Collections;\r
-\r
-namespace System.Text.RegularExpressions {\r
-\r
-       struct Interval : IComparable {\r
-               public int low;\r
-               public int high;\r
-               public bool contiguous;\r
-\r
-               public static Interval Empty {\r
-                       get {\r
-                               Interval i;\r
-                               i.low = 0;\r
-                               i.high = i.low - 1;\r
-                               i.contiguous = true;\r
-\r
-                               return i;\r
-                       }\r
-               }\r
-\r
-               public static Interval Entire {\r
-                       get { return new Interval (Int32.MinValue, Int32.MaxValue); }\r
-               }\r
-\r
-               public Interval (int low, int high) {\r
-                       if (low > high) {\r
-                               int t = low;\r
-                               low = high;\r
-                               high = t;\r
-                       }\r
-               \r
-                       this.low = low;\r
-                       this.high = high;\r
-                       this.contiguous = true;\r
-               }\r
-\r
-               public bool IsDiscontiguous {\r
-                       get { return !contiguous; }\r
-               }\r
-               \r
-               public bool IsSingleton {\r
-                       get { return contiguous && low == high; }\r
-               }\r
-\r
-               public bool IsRange {\r
-                       get { return !IsSingleton && !IsEmpty; }\r
-               }\r
-\r
-               public bool IsEmpty {\r
-                       get { return low > high; }\r
-               }\r
-\r
-               public int Size {\r
-                       get {\r
-                               if (IsEmpty)\r
-                                       return 0;\r
-                               \r
-                               return high - low + 1;\r
-                       }\r
-               }\r
-\r
-               public bool IsDisjoint (Interval i) {\r
-                       if (IsEmpty || i.IsEmpty)\r
-                               return true;\r
-                       \r
-                       return !(low <= i.high && i.low <= high);\r
-               }\r
-\r
-               public bool IsAdjacent (Interval i) {\r
-                       if (IsEmpty || i.IsEmpty)\r
-                               return false;\r
-               \r
-                       return low == i.high + 1 || high == i.low - 1;\r
-               }\r
-\r
-               public bool Contains (Interval i) {\r
-                       if (!IsEmpty && i.IsEmpty)\r
-                               return true;\r
-                       if (IsEmpty)\r
-                               return false;\r
-               \r
-                       return low <= i.low && i.high <= high;\r
-               }\r
-\r
-               public bool Contains (int i) {\r
-                       return low <= i && i <= high;\r
-               }\r
-\r
-               public bool Intersects (Interval i) {\r
-                       if (IsEmpty || i.IsEmpty)\r
-                               return false;\r
-                       \r
-                       return ((Contains (i.low) && !Contains (i.high)) ||\r
-                               (Contains (i.high) && !Contains (i.low)));\r
-               }       \r
-\r
-               public void Merge (Interval i) {\r
-                       if (i.IsEmpty)\r
-                               return;\r
-                       if (IsEmpty) {\r
-                               this.low = i.low;\r
-                               this.high = i.high;\r
-                       }\r
-               \r
-                       if (i.low < low)\r
-                               low = i.low;\r
-                       if (i.high > high)\r
-                               high = i.high;\r
-               }\r
-\r
-               public void Intersect (Interval i) {\r
-                       if (IsDisjoint (i)) {\r
-                               low = 0;\r
-                               high = low - 1;\r
-                               return;\r
-                       }\r
-               \r
-                       if (i.low > low)\r
-                               low = i.low;\r
-                       if (i.high > high)\r
-                               high = i.high;\r
-               }\r
-\r
-               public int CompareTo (object o) {\r
-                       return low - ((Interval)o).low;\r
-               }\r
-\r
-               public new string ToString () {\r
-                       if (IsEmpty)\r
-                               return "(EMPTY)";\r
-                       else if (!contiguous)\r
-                               return "{" + low + ", " + high + "}";\r
-                       else if (IsSingleton)\r
-                               return "(" + low + ")";\r
-                       else\r
-                               return "(" + low + ", " + high + ")";\r
-               }\r
-       }\r
-\r
-       class IntervalCollection : ICollection, IEnumerable {\r
-               public IntervalCollection () {\r
-                       intervals = new ArrayList ();\r
-               }\r
-\r
-               public Interval this[int i] {\r
-                       get { return (Interval)intervals[i]; }\r
-                       set { intervals[i] = value; }\r
-               }\r
-\r
-               public void Add (Interval i) {\r
-                       intervals.Add (i);\r
-               }\r
-                       \r
-               public void Clear () {\r
-                       intervals.Clear ();\r
-               }\r
-\r
-               public void Sort () {\r
-                       intervals.Sort ();\r
-               }\r
-               \r
-               public void Normalize () {\r
-                       intervals.Sort ();\r
-\r
-                       int j = 0;\r
-                       while (j < intervals.Count - 1) {\r
-                               Interval a = (Interval)intervals[j];\r
-                               Interval b = (Interval)intervals[j + 1];\r
-\r
-                               if (!a.IsDisjoint (b) || a.IsAdjacent (b)) {\r
-                                       a.Merge (b);\r
-                                       intervals[j] = a;\r
-                                       intervals.RemoveAt (j + 1);\r
-                               }\r
-                               else\r
-                                       ++ j;\r
-                       }\r
-\r
-               }\r
-\r
-               public delegate double CostDelegate (Interval i);\r
-\r
-               public IntervalCollection GetMetaCollection (CostDelegate cost_del) {\r
-                       IntervalCollection meta = new IntervalCollection ();\r
-               \r
-                       Normalize ();\r
-                       Optimize (0, Count - 1, meta, cost_del);\r
-                       meta.intervals.Sort ();\r
-\r
-                       return meta;\r
-               }\r
-\r
-               private void Optimize (int begin, int end, IntervalCollection meta, CostDelegate cost_del) {\r
-                       Interval set;\r
-                       set.contiguous = false;\r
-               \r
-                       int best_set_begin = -1;\r
-                       int best_set_end = -1;\r
-                       double best_set_cost = 0;\r
-\r
-                       for (int i = begin; i <= end; ++ i) {\r
-                               set.low = this[i].low;\r
-\r
-                               double cost = 0.0;\r
-                               for (int j = i; j <= end; ++ j) {\r
-                                       set.high = this[j].high;\r
-                                       cost += cost_del (this[j]);\r
-                                       \r
-                                       double set_cost = cost_del (set);\r
-                                       if (set_cost < cost && cost > best_set_cost) {\r
-                                               best_set_begin = i;\r
-                                               best_set_end = j;\r
-                                               best_set_cost = cost;\r
-                                       }\r
-                               }\r
-                       }\r
-\r
-                       if (best_set_begin < 0) {\r
-                               // didn't find an optimal set: add original members\r
-\r
-                               for (int i = begin; i <= end; ++ i)\r
-                                       meta.Add (this[i]);\r
-                       }\r
-                       else {\r
-                               // found set: add it ...\r
-\r
-                               set.low = this[best_set_begin].low;\r
-                               set.high = this[best_set_end].high;\r
-                               \r
-                               meta.Add (set);\r
-\r
-                               // ... and optimize to the left and right\r
-\r
-                               if (best_set_begin > begin)\r
-                                       Optimize (begin, best_set_begin - 1, meta, cost_del);\r
-                               if (best_set_end < end)\r
-                                       Optimize (best_set_end + 1, end, meta, cost_del);\r
-                       }\r
-               }\r
-\r
-               // ICollection implementation\r
-\r
-               public int Count {\r
-                       get { return intervals.Count; }\r
-               }\r
-\r
-               public bool IsSynchronized {\r
-                       get { return false; }\r
-               }\r
-\r
-               public object SyncRoot {\r
-                       get { return intervals; }\r
-               }\r
-\r
-               public void CopyTo (Array array, int index) {\r
-                       foreach (Interval i in intervals) {\r
-                               if (index > array.Length)\r
-                                       break;\r
-                               \r
-                               array.SetValue (i, index ++);\r
-                       }\r
-               }\r
-\r
-               // IEnumerator implementation\r
-\r
-               public IEnumerator GetEnumerator () {\r
-                       return new Enumerator (intervals);\r
-               }\r
-\r
-               private class Enumerator : IEnumerator {\r
-                       public Enumerator (IList list) {\r
-                               this.list = list;\r
-                               Reset ();\r
-                       }\r
-\r
-                       public object Current {\r
-                               get {\r
-                                       if (ptr >= list.Count)\r
-                                               throw new InvalidOperationException ();\r
-\r
-                                       return list[ptr];\r
-                               }\r
-                       }\r
-\r
-                       public bool MoveNext () {\r
-                               if (ptr > list.Count)\r
-                                       throw new InvalidOperationException ();\r
-                               \r
-                               return ++ ptr < list.Count;\r
-                       }\r
-\r
-                       public void Reset () {\r
-                               ptr = -1;\r
-                       }\r
-\r
-                       private IList list;\r
-                       private int ptr;\r
-               }\r
-\r
-               // private fields\r
-\r
-               private ArrayList intervals;\r
-       }\r
-}\r
diff --git a/mcs/class/System/System.Text.RegularExpressions/notes.txt b/mcs/class/System/System.Text.RegularExpressions/notes.txt
deleted file mode 100644 (file)
index e385869..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-TODO:
-
-* Need to go through everything and square it with RightToLeft matching.
-  The support for this was built into an early version, and lots of things built
-  afterwards are not savvy about bi-directional matching. Things that spring to
-  mind: Regex match methods should start at 0 or text.Length depending on
-  direction. Do split and replace need changes? Match should be aware of its
-  direction (already applied some of this to NextMatch logic). The interpreter
-  needs to check left and right bounds. Anchoring and substring discovery need
-  to be reworked. RTL matches are going to have anchors on the right - ie $, \Z
-  and \z. This should be added to the anchor logic. QuickSearch needs to work in
-  reverse. There may be other stuff.... work through the code.
-
-* Add ECMAScript support to the parser. For example, [.\w\s\d] map to ECMA
-  categories instead of canonical ones [DONE]. There's different behaviour on
-  backreference/octal disambiguation. Find out what the runtime behavioural
-  difference is for cyclic backreferences eg (?(1)abc\1) - this is only briefly 
-  mentioned in the spec. I couldn't find much on this in the ECMAScript
-  specification either.
-
-* Octal/backreference parsing needs a big fix. The rules are ridiculously complex.
-
-* Improve the perl test suite. Run under MS runtime to generate checksums for
-  each trial. Checksums should incorporate: all captures (index, length) for all
-  groups; names of explicit capturing groups, and the numbers they map to. Any
-  other state? RegexTrial.Execute() will then compare result and checksum.
-
-* The pattern (?(1?)a|b). It should fail: Perl fails, the MS implementation
-  fails, but I pass. The documentation says that the construct (?(X)...) can be
-  processed in two ways. If X is a valid group number, or a valid group name,
-  then the expression becomes a capture conditional - the (...) part is
-  executed only if X has been captured. If X is not a group number or name, then
-  it is treated as a positive lookahead., and (...) is only executed if the
-  lookahead succeeds. My code does the latter, but on further investigation it
-  appears that both Perl and MS fail to recognize an expression assertion if the
-  first character of the assertion is a number - which instead suggests a
-  capture conditional. The exception raised is something like "invalid group
-  number". I get the feeling the my behaviour seems more correct, but it's not
-  consistent with the other implementations, so it should probably be changed.
diff --git a/mcs/class/System/System.Text.RegularExpressions/parser.cs b/mcs/class/System/System.Text.RegularExpressions/parser.cs
deleted file mode 100644 (file)
index ff6a6e5..0000000
+++ /dev/null
@@ -1,1244 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       parser.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Globalization;
-
-namespace System.Text.RegularExpressions.Syntax {
-
-       class Parser {
-               public static int ParseDecimal (string str, ref int ptr) {
-                       return ParseNumber (str, ref ptr, 10, 1, Int32.MaxValue);
-               }
-
-               public static int ParseOctal (string str, ref int ptr) {
-                       return ParseNumber (str, ref ptr, 8, 1, 3);
-               }
-
-               public static int ParseHex (string str, ref int ptr, int digits) {
-                       return ParseNumber (str, ref ptr, 16, digits, digits);
-               }
-
-               public static int ParseNumber (string str, ref int ptr, int b, int min, int max) {
-                       int p = ptr, n = 0, digits = 0, d;
-                       if (max < min)
-                               max = Int32.MaxValue;
-
-                       while (digits < max && p < str.Length) {
-                               d = ParseDigit (str[p ++], b, digits);
-                               if (d < 0) {
-                                       -- p;
-                                       break;
-                               }
-
-                               n = n * b + d;
-                               ++ digits;
-                       }
-
-                       if (digits < min)
-                               return -1;
-
-                       ptr = p;
-                       return n;
-               }
-
-               public static string ParseName (string str, ref int ptr) {
-                       if (Char.IsDigit (str[ptr])) {
-                               int gid = ParseNumber (str, ref ptr, 10, 1, 0);
-                               if (gid > 0)
-                                       return gid.ToString ();
-                               
-                               return null;
-                       }
-
-                       int start = ptr;
-                       for (;;) {
-                               if (!IsNameChar (str[ptr]))
-                                       break;
-                               ++ ptr;
-                       }
-
-                       if (ptr - start > 0)
-                               return str.Substring (start, ptr - start);
-
-                       return null;
-               }
-
-               public static string Escape (string str) {
-                       string result = "";
-                       for (int i = 0; i < str.Length; ++ i) {
-                               char c = str[i];
-                               switch (c) {
-                               case '\\': case '*': case '+': case '?': case '|':
-                               case '{': case '[': case '(': case ')': case '^':
-                               case '$': case '.': case '#': case ' ':
-                                       result += "\\" + c;
-                                       break;
-
-                               case '\t': result += "\\t"; break;
-                               case '\n': result += "\\n"; break;
-                               case '\r': result += "\\r"; break;
-                               case '\f': result += "\\f"; break;
-
-                               default: result += c; break;
-                               }
-                       }
-
-                       return result;
-               }
-
-               public static string Unescape (string str) {
-                       if (str.IndexOf ('\\') == -1)
-                               return str;
-                       return new Parser ().ParseString (str);
-               }
-
-               // public instance
-
-               public Parser () {
-                       this.caps = new ArrayList ();
-                       this.refs = new Hashtable ();
-               }
-
-               public RegularExpression ParseRegularExpression (string pattern, RegexOptions options) {
-                       this.pattern = pattern;
-                       this.ptr = 0;
-
-                       caps.Clear ();
-                       refs.Clear ();
-                       this.num_groups = 0;
-
-                       try {
-                               RegularExpression re = new RegularExpression ();
-                               ParseGroup (re, options, null);
-                               ResolveReferences ();
-
-                               re.GroupCount = num_groups;
-                               
-                               return re;
-                       }
-                       catch (IndexOutOfRangeException) {
-                               throw NewParseException ("Unexpected end of pattern.");
-                       }
-               }
-
-               public int GetMapping (Hashtable mapping)
-               {
-                       int end = caps.Count;
-                       mapping.Add ("0", 0);
-                       for (int i = 0; i < end; i++) {
-                               CapturingGroup group = (CapturingGroup) caps [i];
-                               string name = group.Name != null ? group.Name : group.Index.ToString ();
-                               if (mapping.Contains (name)) {
-                                       if ((int) mapping [name] != group.Index)
-                                               throw new SystemException ("invalid state");
-                                       continue;
-                               }
-                               mapping.Add (name, group.Index);
-                       }
-
-                       return gap;
-               }
-
-               // private methods
-
-               private void ParseGroup (Group group, RegexOptions options, Assertion assertion) {
-                       bool is_top_level = group is RegularExpression;
-               
-                       Alternation alternation = null;
-                       string literal = null;
-
-                       Group current = new Group ();
-                       Expression expr = null;
-                       bool closed = false;
-
-                       while (true) {
-                               ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                               if (ptr >= pattern.Length)
-                                       break;
-                               
-                               // (1) Parse for Expressions
-                       
-                               char ch = pattern[ptr ++];
-                               
-                               switch (ch) {
-                               case '^': {
-                                       Position pos =
-                                               IsMultiline (options) ? Position.StartOfLine : Position.Start;
-                                       expr = new PositionAssertion (pos);
-                                       break;
-                               }
-
-                               case '$': {
-                                       Position pos =
-                                               IsMultiline (options) ? Position.EndOfLine : Position.End;
-                                       expr = new PositionAssertion (pos);
-                                       break;
-                               }
-
-                               case '.': {
-                                       Category cat =
-                                               IsSingleline (options) ? Category.AnySingleline : Category.Any;
-                                       expr = new CharacterClass (cat, false);
-                                       break;
-                               }
-
-                               case '\\': {
-                                       int c = ParseEscape (false);
-                                       if (c >= 0)
-                                               ch = (char)c;
-                                       else {
-                                               expr = ParseSpecial (options);
-
-                                               if (expr == null)
-                                                       ch = pattern[ptr ++];           // default escape
-                                       }
-                                       break;
-                               }
-
-                               case '[': {
-                                       expr = ParseCharacterClass (options);
-                                       break;
-                               }
-
-                               case '(': {
-                                       bool ignore = IsIgnoreCase (options);
-                                       expr = ParseGroupingConstruct (ref options);
-                                       if (expr == null) {
-                                               if (literal != null && IsIgnoreCase (options) != ignore) {
-                                                       current.AppendExpression (new Literal (literal, IsIgnoreCase (options)));
-                                                       literal = null;
-                                               }
-
-                                               continue;
-                                       }
-                                       break;
-                               }
-
-                               case ')': {
-                                       closed = true;
-                                       goto EndOfGroup;
-                               }
-
-                               case '|': {
-                                       if (literal != null) {
-                                               current.AppendExpression (new Literal (literal, IsIgnoreCase (options)));
-                                               literal = null;
-                                       }
-
-                                       if (assertion != null) {
-                                               if (assertion.TrueExpression == null)
-                                                       assertion.TrueExpression = current;
-                                               else if (assertion.FalseExpression == null)
-                                                       assertion.FalseExpression = current;
-                                               else
-                                                       throw NewParseException ("Too many | in (?()|).");
-                                       }
-                                       else {
-                                               if (alternation == null)
-                                                       alternation = new Alternation ();
-
-                                               alternation.AddAlternative (current);
-                                       }
-
-                                       current = new Group ();
-                                       continue;
-                               }
-
-                               case '*': case '+': case '?': {
-                                       throw NewParseException ("Bad quantifier.");
-                               }
-
-                               default: 
-                                       break;          // literal character
-                               }
-
-                               ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                               
-                               // (2) Check for Repetitions
-                               
-                               if (ptr < pattern.Length) {
-                                       char k = pattern[ptr];
-                                       int min = 0, max = 0;
-                                       bool lazy = false;
-                                       bool haveRep = false;
-
-
-                                       if (k == '?' || k == '*' || k == '+') {
-                                               ++ ptr;
-                                               haveRep = true;
-
-                                               switch (k) {
-                                               case '?': min = 0; max = 1; break;
-                                               case '*': min = 0; max = 0x7fffffff; break;
-                                               case '+': min = 1; max = 0x7fffffff; break;
-                                               }
-                                       } else if (k == '{' && ptr + 1 < pattern.Length) {
-                                               int saved_ptr = ptr;
-                                               ++ptr;
-                                               haveRep = ParseRepetitionBounds (out min, out max, options);
-                                               if (!haveRep)
-                                                       ptr = saved_ptr;
-                                       }
-
-                                       if (haveRep) {
-                                               ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                                               if (ptr < pattern.Length && pattern[ptr] == '?') {
-                                                       ++ ptr;
-                                                       lazy = true;
-                                               }
-
-                                               //It doesn't make sense to assert a given position more than once.
-                                               bool ignore_repetition = false;
-                                               if (expr is PositionAssertion) {
-                                                       ignore_repetition = min > 0 && !lazy;
-                                                       max = 1;
-                                               }
-
-                                               if (!ignore_repetition) {
-                                                       Repetition repetition = new Repetition (min, max, lazy);
-       
-                                                       if (expr == null)
-                                                               repetition.Expression = new Literal (ch.ToString (), IsIgnoreCase (options));
-                                                       else
-                                                               repetition.Expression = expr;
-       
-                                                       expr = repetition;
-                                               }
-                                       }
-                               }
-
-                               // (3) Append Expression and/or Literal
-
-                               if (expr == null) {
-                                       if (literal == null)
-                                               literal = "";
-                                       literal += ch;
-                               }
-                               else {
-                                       if (literal != null) {
-                                               current.AppendExpression (new Literal (literal, IsIgnoreCase (options)));
-                                               literal = null;
-                                       }
-
-                                       current.AppendExpression (expr);
-                                       expr = null;
-                               }
-
-                               if (is_top_level && ptr >= pattern.Length)
-                                       goto EndOfGroup;
-                       }
-
-               EndOfGroup:
-                       if (is_top_level && closed)
-                               throw NewParseException ("Too many )'s.");
-                       if (!is_top_level && !closed)
-                               throw NewParseException ("Not enough )'s.");
-                               
-               
-                       // clean up literals and alternations
-
-                       if (literal != null)
-                               current.AppendExpression (new Literal (literal, IsIgnoreCase (options)));
-
-                       if (assertion != null) {
-                               if (assertion.TrueExpression == null)
-                                       assertion.TrueExpression = current;
-                               else
-                                       assertion.FalseExpression = current;
-                               
-                               group.AppendExpression (assertion);
-                       }
-                       else if (alternation != null) {
-                               alternation.AddAlternative (current);
-                               group.AppendExpression (alternation);
-                       }
-                       else
-                               group.AppendExpression (current);
-               }
-
-               private Expression ParseGroupingConstruct (ref RegexOptions options) {
-                       if (pattern[ptr] != '?') {
-                               Group group;
-
-                               if (IsExplicitCapture (options))
-                                       group = new Group ();
-                               else {
-                                       group = new CapturingGroup ();
-                                       caps.Add (group);
-                               }
-
-                               ParseGroup (group, options, null);
-                               return group;
-                       }
-                       else
-                               ++ ptr;
-
-                       switch (pattern[ptr]) {
-                       case ':': {                                             // non-capturing group
-                               ++ ptr;
-                               Group group = new Group ();
-                               ParseGroup (group, options, null);
-
-                               return group;
-                       }
-
-                       case '>': {                                             // non-backtracking group
-                               ++ ptr;
-                               Group group = new NonBacktrackingGroup ();
-                               ParseGroup (group, options, null);
-                               
-                               return group;
-                       }
-
-                       case 'i': case 'm': case 'n':
-                       case 's': case 'x': case '-': {                         // options
-                               RegexOptions o = options;
-                               ParseOptions (ref o, false);
-                               if (pattern[ptr] == '-') {
-                                       ++ ptr;
-                                       ParseOptions (ref o, true);
-                               }
-
-                               if (pattern[ptr] == ':') {                      // pass options to child group
-                                       ++ ptr;
-                                       Group group = new Group ();
-                                       ParseGroup (group, o, null);
-                                       return group;
-                               }
-                               else if (pattern[ptr] == ')') {                 // change options of enclosing group
-                                       ++ ptr;
-                                       options = o;
-                                       return null;
-                               }
-                               else
-                                       throw NewParseException ("Bad options");
-                       }
-
-                       case '<': case '=': case '!': {                         // lookahead/lookbehind
-                               ExpressionAssertion asn = new ExpressionAssertion ();
-                               if (!ParseAssertionType (asn))
-                                       goto case '\'';                         // it's a (?<name> ) construct
-
-                               Group test = new Group ();
-                               ParseGroup (test, options, null);
-
-                               asn.TestExpression = test;
-                               return asn;
-                       }
-
-                       case '\'': {                                            // named/balancing group
-                               char delim;
-                               if (pattern[ptr] == '<')
-                                       delim = '>';
-                               else
-                                       delim = '\'';
-
-                               ++ ptr;
-                               string name = ParseName ();
-
-                               if (pattern[ptr] == delim) {
-                                       // capturing group
-
-                                       if (name == null)
-                                               throw NewParseException ("Bad group name.");
-
-                                       ++ ptr;
-                                       CapturingGroup cap = new CapturingGroup ();
-                                       cap.Name = name;
-                                       caps.Add (cap);
-                                       ParseGroup (cap, options, null);
-
-                                       return cap;
-                               }
-                               else if (pattern[ptr] == '-') {
-                                       // balancing group
-
-                                       ++ ptr;
-                                       string balance_name = ParseName ();
-                                       if (balance_name == null || pattern[ptr] != delim)
-                                               throw NewParseException ("Bad balancing group name.");
-
-                                       ++ ptr;
-                                       BalancingGroup bal = new BalancingGroup ();
-                                       bal.Name = name;
-                                       
-                                       if(bal.IsNamed) {
-                                               caps.Add (bal);
-                                       }
-
-                                       refs.Add (bal, balance_name);
-
-                                       ParseGroup (bal, options, null);
-
-                                       return bal;
-                               }
-                               else
-                                       throw NewParseException ("Bad group name.");
-                       }
-
-                       case '(': {                                             // expression/capture test
-                               Assertion asn;
-                       
-                               ++ ptr;
-                               int p = ptr;
-                               string name = ParseName ();
-                               if (name == null || pattern[ptr] != ')') {      // expression test
-                                       // FIXME MS implementation doesn't seem to
-                                       // implement this version of (?(x) ...)
-
-                                       ptr = p;
-                                       ExpressionAssertion expr_asn = new ExpressionAssertion ();
-
-                                       if (pattern[ptr] == '?') {
-                                               ++ ptr;
-                                               if (!ParseAssertionType (expr_asn))
-                                                       throw NewParseException ("Bad conditional.");
-                                       }
-                                       else {
-                                               expr_asn.Negate = false;
-                                               expr_asn.Reverse = false;
-                                       }
-
-                                       Group test = new Group ();
-                                       ParseGroup (test, options, null);
-                                       expr_asn.TestExpression = test;
-                                       asn = expr_asn;
-                               }
-                               else {                                          // capture test
-                                       ++ ptr;
-                                       asn = new CaptureAssertion (new Literal (name, IsIgnoreCase (options)));
-                                       refs.Add (asn, name);
-                               }
-
-                               Group group = new Group ();
-                               ParseGroup (group, options, asn);
-                               return group;
-                       }
-
-                       case '#': {                                             // comment
-                               ++ ptr;
-                               while (pattern[ptr ++] != ')') {
-                                       if (ptr >= pattern.Length)
-                                               throw NewParseException ("Unterminated (?#...) comment.");
-                               }
-                               return null;
-                       }
-
-                       default:                                                // error
-                               throw NewParseException ("Bad grouping construct.");
-                       }
-               }
-
-               private bool ParseAssertionType (ExpressionAssertion assertion) {
-                       if (pattern[ptr] == '<') {
-                               switch (pattern[ptr + 1]) {
-                               case '=':
-                                       assertion.Negate = false;
-                                       break;
-                               case '!':
-                                       assertion.Negate = true;
-                                       break;
-                               default:
-                                       return false;
-                               }
-
-                               assertion.Reverse = true;
-                               ptr += 2;
-                       }
-                       else {
-                               switch (pattern[ptr]) {
-                               case '=':
-                                       assertion.Negate = false;
-                                       break;
-                               case '!':
-                                       assertion.Negate = true;
-                                       break;
-                               default:
-                                       return false;
-                               }
-
-                               assertion.Reverse = false;
-                               ptr += 1;
-                       }
-
-                       return true;
-               }
-
-               private void ParseOptions (ref RegexOptions options, bool negate) {
-                       for (;;) {
-                               switch (pattern[ptr]) {
-                               case 'i':
-                                       if (negate)
-                                               options &= ~RegexOptions.IgnoreCase;
-                                       else
-                                               options |= RegexOptions.IgnoreCase;
-                                       break;
-
-                               case 'm':
-                                       if (negate)
-                                               options &= ~RegexOptions.Multiline;
-                                       else
-                                               options |= RegexOptions.Multiline;
-                                       break;
-                                       
-                               case 'n':
-                                       if (negate)
-                                               options &= ~RegexOptions.ExplicitCapture;
-                                       else
-                                               options |= RegexOptions.ExplicitCapture;
-                                       break;
-                                       
-                               case 's':
-                                       if (negate)
-                                               options &= ~RegexOptions.Singleline;
-                                       else
-                                               options |= RegexOptions.Singleline;
-                                       break;
-                                       
-                               case 'x':
-                                       if (negate)
-                                               options &= ~RegexOptions.IgnorePatternWhitespace;
-                                       else
-                                               options |= RegexOptions.IgnorePatternWhitespace;
-                                       break;
-
-                               default:
-                                       return;
-                               }
-
-                               ++ ptr;
-                       }
-               }
-
-               private Expression ParseCharacterClass (RegexOptions options) {
-                       bool negate = false;
-                       if (pattern[ptr] == '^') {
-                               negate = true;
-                               ++ ptr;
-                       }
-                       
-                       bool ecma = IsECMAScript (options);
-                       CharacterClass cls = new CharacterClass (negate, IsIgnoreCase (options));
-
-                       if (pattern[ptr] == ']') {
-                               cls.AddCharacter (']');
-                               ++ ptr;
-                       }
-
-                       int c = -1;
-                       int last = -1;
-                       bool range = false;
-                       bool closed = false;
-                       while (ptr < pattern.Length) {
-                               c = pattern[ptr ++];
-
-                               if (c == ']') {
-                                       closed = true;
-                                       break;
-                               }
-
-                               if (c == '-' && last >= 0 && !range) {
-                                       range = true;
-                                       continue;
-                               }
-
-                               if (c == '\\') {
-                                       c = ParseEscape (true);
-                                       if (c >= 0)
-                                               goto char_recognized;
-
-                                       // didn't recognize escape
-                                       c = pattern [ptr ++];
-                                       switch (c) {
-                                       case 'b':
-                                               c = '\b';
-                                               goto char_recognized;
-
-                                       case 'd': case 'D':
-                                               cls.AddCategory (ecma ? Category.EcmaDigit : Category.Digit, c == 'D');
-                                               break;
-                                               
-                                       case 'w': case 'W':
-                                               cls.AddCategory (ecma ? Category.EcmaWord : Category.Word, c == 'W');
-                                               break;
-                                               
-                                       case 's': case 'S':
-                                               cls.AddCategory (ecma ? Category.EcmaWhiteSpace : Category.WhiteSpace, c == 'S');
-                                               break;
-                                               
-                                       case 'p': case 'P':
-                                               cls.AddCategory (ParseUnicodeCategory (), c == 'P');    // ignore ecma
-                                               break;
-
-                                       default:                // add escaped character
-                                               goto char_recognized;
-                                       }
-
-                                       // if the pattern looks like [a-\s] ...
-                                       if (range)
-                                               throw NewParseException ("character range cannot have category \\" + c);
-
-                                       last = -1;
-                                       continue;
-                               }
-
-                       char_recognized:
-                               if (range) {
-                                       // if 'range' is true, we know that 'last >= 0'
-                                       if (c < last)
-                                               throw NewParseException ("[" + last + "-" + c + "] range in reverse order.");
-                                       cls.AddRange ((char)last, (char)c);
-                                       last = -1;
-                                       range = false;
-                                       continue;
-                               }
-
-                               cls.AddCharacter ((char)c);
-                               last = c;
-                       }
-
-                       if (!closed)
-                               throw NewParseException ("Unterminated [] set.");
-
-                       if (range)
-                               cls.AddCharacter ('-');
-
-                       return cls;
-               }
-
-               private bool ParseRepetitionBounds (out int min, out int max, RegexOptions options) {
-                       int n, m;
-                       min = max = 0;
-
-                       /* check syntax */
-
-                       ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                   
-                       if (pattern[ptr] == ',') {
-                                n = -1;
-                       } else {
-                                n = ParseNumber (10, 1, 0);
-                                ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                       }
-                       
-                       switch (pattern[ptr ++]) {
-                       case '}':
-                               m = n;
-                               break;
-                       case ',':
-                               ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                               m = ParseNumber (10, 1, 0);
-                               ConsumeWhitespace (IsIgnorePatternWhitespace (options));
-                               if (pattern[ptr ++] != '}')
-                                       return false;
-                               break;
-                       default:
-                               return false;
-                       }
-
-                       /* check bounds and ordering */
-
-                       if (n > 0x7fffffff || m > 0x7fffffff)
-                               throw NewParseException ("Illegal {x, y} - maximum of 2147483647.");
-                       if (m >= 0 && m < n)
-                               throw NewParseException ("Illegal {x, y} with x > y.");
-
-                       /* assign min and max */
-                       
-                       min = n;
-                       if (m > 0)
-                               max = m;
-                       else
-                               max = 0x7fffffff;
-
-                       return true;
-               }
-
-               private Category ParseUnicodeCategory () {
-                       if (pattern[ptr ++] != '{')
-                               throw NewParseException ("Incomplete \\p{X} character escape.");
-
-                       string name = ParseName (pattern, ref ptr);
-                       if (name == null)
-                               throw NewParseException ("Incomplete \\p{X} character escape.");
-
-                       Category cat = CategoryUtils.CategoryFromName (name);
-                       if (cat == Category.None)
-                               throw NewParseException ("Unknown property '" + name + "'.");
-
-                       if (pattern[ptr ++] != '}')
-                               throw NewParseException ("Incomplete \\p{X} character escape.");
-
-                       return cat;
-               }
-
-               private Expression ParseSpecial (RegexOptions options) {
-                       int p = ptr;
-                       bool ecma = IsECMAScript (options);
-                       Expression expr = null;
-                       
-                       switch (pattern[ptr ++]) {
-
-                       // categories
-
-                       case 'd':
-                               expr = new CharacterClass (ecma ? Category.EcmaDigit : Category.Digit, false);
-                               break;
-                               
-                       case 'w':
-                               expr = new CharacterClass (ecma ? Category.EcmaWord : Category.Word, false);
-                               break;
-                               
-                       case 's':
-                               expr = new CharacterClass (ecma ? Category.EcmaWhiteSpace : Category.WhiteSpace, false);
-                               break;
-                               
-                       case 'p':
-                               // this is odd - ECMAScript isn't supposed to support Unicode,
-                               // yet \p{..} compiles and runs under the MS implementation
-                               // identically to canonical mode. That's why I'm ignoring the
-                               // value of ecma here.
-                       
-                               expr = new CharacterClass (ParseUnicodeCategory (), false);
-                               break;
-                               
-                       case 'D':
-                               expr = new CharacterClass (ecma ? Category.EcmaDigit : Category.Digit, true);
-                               break;
-                               
-                       case 'W':
-                               expr = new CharacterClass (ecma ? Category.EcmaWord : Category.Word, true);
-                               break;
-                               
-                       case 'S':
-                               expr = new CharacterClass (ecma ? Category.EcmaWhiteSpace : Category.WhiteSpace, true);
-                               break;
-                               
-                       case 'P':
-                               expr = new CharacterClass (ParseUnicodeCategory (), true);
-                               break;
-
-                       // positions
-
-                       case 'A': expr = new PositionAssertion (Position.StartOfString); break;
-                       case 'Z': expr = new PositionAssertion (Position.End); break;
-                       case 'z': expr = new PositionAssertion (Position.EndOfString); break;
-                       case 'G': expr = new PositionAssertion (Position.StartOfScan); break;
-                       case 'b': expr = new PositionAssertion (Position.Boundary); break;
-                       case 'B': expr = new PositionAssertion (Position.NonBoundary); break;
-                       
-                       // references
-
-                       case '1': case '2': case '3': case '4': case '5':
-                       case '6': case '7': case '8': case '9': {
-                               ptr --;
-                               int n = ParseNumber (10, 1, 0);
-                               if (n < 0) {
-                                       ptr = p;
-                                       return null;
-                               }
-
-                               // FIXME test if number is within number of assigned groups
-                               // this may present a problem for right-to-left matching
-
-                               Reference reference = new BackslashNumber (IsIgnoreCase (options), ecma);
-                               refs.Add (reference, n.ToString ());
-                               expr = reference;
-                               break;
-                       }
-
-                       case 'k': {
-                               char delim = pattern[ptr ++];
-                               if (delim == '<')
-                                       delim = '>';
-                               else if (delim != '\'')
-                                       throw NewParseException ("Malformed \\k<...> named backreference.");
-
-                               string name = ParseName ();
-                               if (name == null || pattern[ptr] != delim)
-                                       throw NewParseException ("Malformed \\k<...> named backreference.");
-
-                               ++ ptr;
-                               Reference reference = new Reference (IsIgnoreCase (options));
-                               refs.Add (reference, name);
-                               expr = reference;
-                               break;
-                       }
-
-                       default:
-                               expr = null;
-                               break;
-                       }
-
-                       if (expr == null)
-                               ptr = p;
-
-                       return expr;
-               }
-
-               private int ParseEscape (bool inCharacterClass) {
-                       int p = ptr;
-                       int c;
-
-                       if (p >= pattern.Length)
-                               throw new ArgumentException (
-                                               String.Format ("Parsing \"{0}\" - Illegal \\ at end of " + 
-                                                               "pattern.", pattern), pattern);
-                       
-                       switch (pattern[ptr ++]) {
-       
-                       // standard escapes (except \b)
-
-                       case 'a': return '\u0007';
-                       case 't': return '\u0009';
-                       case 'r': return '\u000d';
-                       case 'v': return '\u000b';
-                       case 'f': return '\u000c';
-                       case 'n': return '\u000a';
-                       case 'e': return '\u001b';
-                       case '\\': return '\\';
-
-                       // character codes
-
-                       case '0':
-                               
-                               //
-                               // Turns out that octal values can be specified
-                               // without a leading zero.   But also the limit
-                               // of three character should include this first
-                               // one.  
-                               //
-                               ptr--;
-                               int prevptr = ptr;
-                               int result = ParseOctal (pattern, ref ptr);
-                               if (result == -1 && prevptr == ptr)
-                                       return 0;
-
-                               return result;
-
-                       case '1': case '2': case '3': case '4': case '5':
-                       case '6': case '7':
-                               if (inCharacterClass){
-                                       ptr--;
-                                       return ParseOctal (pattern, ref ptr);
-                               }
-                               break;
-                               
-                       case 'x':
-                               c = ParseHex (pattern, ref ptr, 2);
-                               if (c < 0)
-                                       throw NewParseException ("Insufficient hex digits");
-
-                               return c;
-
-                       case 'u':
-                               c = ParseHex (pattern, ref ptr, 4);
-                               if (c < 0)
-                                       throw NewParseException ("Insufficient hex digits");
-                               
-                               return c;
-
-                       // control characters
-
-                       case 'c':
-                               c = pattern[ptr ++];
-                               if (c >= '@' && c <= '_')
-                                       return c - '@';
-                               else
-                                       throw NewParseException ("Unrecognized control character.");
-                       }
-
-                       // unknown escape
-                       ptr = p;
-                       return -1;
-               }
-
-               private string ParseName () {
-                       return Parser.ParseName (pattern, ref ptr);
-               }
-
-               private static bool IsNameChar (char c) {
-                       UnicodeCategory cat = Char.GetUnicodeCategory (c);
-                       if (cat == UnicodeCategory.ModifierLetter)
-                               return false;
-                       if (cat == UnicodeCategory.ConnectorPunctuation)
-                               return true;
-                       return Char.IsLetterOrDigit (c);
-               }
-       
-               private int ParseNumber (int b, int min, int max) {
-                       return Parser.ParseNumber (pattern, ref ptr, b, min, max);
-               }
-
-               private static int ParseDigit (char c, int b, int n) {
-                       switch (b) {
-                       case 8:
-                               if (c >= '0' && c <= '7')
-                                       return c - '0';
-                               else
-                                       return -1;
-                       case 10:
-                               if (c >= '0' && c <= '9')
-                                       return c - '0';
-                               else
-                                       return -1;
-                       case 16:
-                               if (c >= '0' && c <= '9')
-                                       return c - '0';
-                               else if (c >= 'a' && c <= 'f')
-                                       return 10 + c - 'a';
-                               else if (c >= 'A' && c <= 'F')
-                                       return 10 + c - 'A';
-                               else
-                                       return -1;
-                       default:
-                               return -1;
-                       }
-               }
-
-               private void ConsumeWhitespace (bool ignore) {
-                       while (ptr < pattern.Length) {
-                               if (pattern[ptr] == '(') {
-                                       if (ptr + 3 >= pattern.Length)
-                                               return;
-
-                                       if (pattern[ptr + 1] != '?' || pattern[ptr + 2] != '#')
-                                               return;
-
-                                       ptr += 3;
-                                       while (ptr < pattern.Length && pattern[ptr ++] != ')')
-                                               /* ignore */ ;
-                               }
-                               else if (ignore && pattern[ptr] == '#') {
-                                       while (ptr < pattern.Length && pattern[ptr ++] != '\n')
-                                               /* ignore */ ;
-                               }
-                               else if (ignore && Char.IsWhiteSpace (pattern[ptr])) {
-                                       while (ptr < pattern.Length && Char.IsWhiteSpace (pattern[ptr]))
-                                               ++ ptr;
-                               }
-                               else
-                                       return;
-                       }
-               }
-
-               private string ParseString (string pattern) {
-                       this.pattern = pattern;
-                       this.ptr = 0;
-
-                       StringBuilder result = new StringBuilder (pattern.Length);
-                       while (ptr < pattern.Length) {
-                               int c = pattern[ptr ++];
-                               if (c == '\\') {
-                                       c = ParseEscape (false);
-
-                                       if(c < 0) {
-                                               c = pattern[ptr ++];
-                                               if(c == 'b')
-                                                       c = '\b';
-                                       }
-                               }
-                               result.Append ((char) c);
-                       }
-
-                       return result.ToString ();
-               }
-
-               private void ResolveReferences ()
-               {
-                       int gid = 1;
-                       Hashtable dict = new Hashtable ();
-                       ArrayList explicit_numeric_groups = null;
-
-                       // number unnamed groups
-
-                       foreach (CapturingGroup group in caps) {
-                               if (group.Name != null)
-                                       continue;
-
-                               dict.Add (gid.ToString (), group);
-                               group.Index = gid ++;
-                               ++ num_groups;
-                       }
-
-                       // number named groups
-
-                       foreach (CapturingGroup group in caps) {
-                               if (group.Name == null)
-                                       continue;
-
-                               if (dict.Contains (group.Name)) {
-                                       CapturingGroup prev = (CapturingGroup) dict [group.Name];
-                                       group.Index = prev.Index;
-
-                                       if (group.Index == gid)
-                                               gid ++;
-                                       else if (group.Index > gid)
-                                               explicit_numeric_groups.Add (group);
-                                       continue;
-                               }
-
-                               if (Char.IsDigit (group.Name [0])) {
-                                       int ptr = 0;
-                                       int group_gid = ParseDecimal (group.Name, ref ptr);
-                                       if (ptr == group.Name.Length) {
-                                               group.Index = group_gid;
-                                               dict.Add (group.Name, group);
-                                               ++ num_groups;
-
-                                               if (group_gid == gid) {
-                                                       gid ++;
-                                               } else {
-                                                       // all numbers before 'gid' are already in the dictionary.  So, we know group_gid > gid
-                                                       if (explicit_numeric_groups == null)
-                                                               explicit_numeric_groups = new ArrayList (4);
-                                                       explicit_numeric_groups.Add (group);
-                                               }
-
-                                               continue;
-                                       }
-                               }
-
-                               string gid_s = gid.ToString ();
-                               while (dict.Contains (gid_s))
-                                       gid_s = (++gid).ToString ();
-
-                               dict.Add (gid_s, group);
-                               dict.Add (group.Name, group);
-                               group.Index = gid ++;
-                               ++ num_groups;
-                       }
-
-                       gap = gid; // == 1 + num_groups, if explicit_numeric_groups == null
-
-                       if (explicit_numeric_groups != null)
-                               HandleExplicitNumericGroups (explicit_numeric_groups);
-
-                       // resolve references
-
-                       foreach (Expression expr in refs.Keys) {
-                               string name = (string) refs [expr];
-                               if (!dict.Contains (name)) {
-                                       if (expr is CaptureAssertion && !Char.IsDigit (name [0]))
-                                               continue;
-                                       BackslashNumber bn = expr as BackslashNumber;
-                                       if (bn != null && bn.ResolveReference (name, dict))
-                                               continue;
-                                       throw NewParseException ("Reference to undefined group " +
-                                               (Char.IsDigit (name[0]) ? "number " : "name ") +
-                                               name);
-                               }
-
-                               CapturingGroup group = (CapturingGroup)dict[name];
-                               if (expr is Reference)
-                                       ((Reference)expr).CapturingGroup = group;
-                               else if (expr is CaptureAssertion)
-                                       ((CaptureAssertion)expr).CapturingGroup = group;
-                               else if (expr is BalancingGroup)
-                                       ((BalancingGroup)expr).Balance = group;
-                       }
-               }
-
-               private void HandleExplicitNumericGroups (ArrayList explicit_numeric_groups)
-               {
-                       int gid = gap;
-                       int i = 0;
-                       int n_explicit = explicit_numeric_groups.Count;
-
-                       explicit_numeric_groups.Sort ();
-
-                       // move 'gap' forward to skip over all explicit groups that
-                       // turn out to match their index
-                       for (; i < n_explicit; ++i) {
-                               CapturingGroup g = (CapturingGroup) explicit_numeric_groups [i];
-                               if (g.Index > gid)
-                                       break;
-                               if (g.Index == gid)
-                                       gid ++;
-                       }
-
-                       gap = gid;
-
-                       // re-index all further groups so that the indexes are contiguous
-                       int prev = gid;
-                       for (; i < n_explicit; ++i) {
-                               CapturingGroup g = (CapturingGroup) explicit_numeric_groups [i];
-                               if (g.Index == prev) {
-                                       g.Index = gid - 1;
-                               } else {
-                                       prev = g.Index;
-                                       g.Index = gid ++;
-                               }
-                       }
-               }
-
-               // flag helper functions
-
-               private static bool IsIgnoreCase (RegexOptions options) {
-                       return (options & RegexOptions.IgnoreCase) != 0;
-               }
-
-               private static bool IsMultiline (RegexOptions options) {
-                       return (options & RegexOptions.Multiline) != 0;
-               }
-
-               private static bool IsExplicitCapture (RegexOptions options) {
-                       return (options & RegexOptions.ExplicitCapture) != 0;
-               }
-       
-               private static bool IsSingleline (RegexOptions options) {
-                       return (options & RegexOptions.Singleline) != 0;
-               }
-
-               private static bool IsIgnorePatternWhitespace (RegexOptions options) {
-                       return (options & RegexOptions.IgnorePatternWhitespace) != 0;
-               }
-
-               private static bool IsECMAScript (RegexOptions options) {
-                       return (options & RegexOptions.ECMAScript) != 0;
-               }
-
-               // exception creation
-
-               private ArgumentException NewParseException (string msg) {
-                       msg = "parsing \"" + pattern + "\" - " + msg;
-                       return new ArgumentException (msg, pattern);
-               }
-
-               private string pattern;
-               private int ptr;
-
-               private ArrayList caps;
-               private Hashtable refs;
-               private int num_groups;
-               private int gap;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/quicksearch.cs b/mcs/class/System/System.Text.RegularExpressions/quicksearch.cs
deleted file mode 100644 (file)
index 1652907..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       quicksearch.cs
-//
-// Authors:    Dan Lewis (dlewis@gmx.co.uk)
-//              Juraj Skripsky (juraj@hotfeet.ch)
-//
-// (c) 2002 Dan Lewis
-// (c) 2007 Juraj Skripsky
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace System.Text.RegularExpressions {
-       internal class QuickSearch {
-               // simplified boyer-moore for fast substring matching
-               // (for short strings, we use simple scans)
-               public QuickSearch (string str, bool ignore) 
-                       : this(str, ignore, false)
-               {
-               }
-       
-               public QuickSearch (string str, bool ignore, bool reverse) {
-                       this.str = str;
-                       this.len = str.Length;
-                       this.ignore = ignore;
-                       this.reverse = reverse;
-
-                       if (ignore)
-                               str = str.ToLower ();
-
-                       // create the shift table only for "long" search strings
-                       if(len > THRESHOLD)
-                               SetupShiftTable ();
-               }
-               
-               public string String {
-                       get { return str; }
-               }
-
-               public int Length {
-                       get { return len; }
-               }
-
-               public bool IgnoreCase {
-                       get { return ignore; }
-               }
-
-               public int Search (string text, int start, int end) {
-                       int ptr = start;
-
-               
-                       if ( reverse ) 
-                       {
-                               if (start < end)
-                                       return -1;
-
-                               if ( ptr > text.Length) 
-                               {
-                                       ptr = text.Length;
-                               }
-
-                               // use simple scan for a single-character search string
-                               if (len == 1) 
-                               {
-                                       while (--ptr >= end) 
-                                       {
-                                               if(str[0] == GetChar(text[ptr]))
-                                                       return ptr ;
-                                               
-                                       }
-                                       return -1;
-                               }
-
-               
-                               if ( end < len)
-                                       end =  len - 1 ;
-
-                               ptr--;
-                               while (ptr >= end) 
-                               {
-                                       int i = len -1 ;
-                                       while (str[i] == GetChar(text[ptr - len +1 + i])) 
-                                       {
-                                               if (-- i <  0)
-                                                       return ptr - len + 1;
-                                       }
-
-                                       if (ptr > end)
-                                       {
-                                               ptr -= GetShiftDistance (text[ptr - len ]);
-                                       
-                                       }
-                                       else
-                                               break;
-                               }
-
-                       }
-                       else 
-                       {
-                               // use simple scan for a single-character search string
-                               if (len == 1) 
-                               {
-                                       while (ptr <= end) 
-                                       {
-                                               if(str[0] == GetChar(text[ptr]))
-                                                       return ptr;
-                                               else
-                                                       ptr++;
-                                       }       
-                                       return -1;
-                               }
-
-                               if (end > text.Length - len)
-                                       end = text.Length - len;
-
-                               while (ptr <= end) 
-                               {
-                                       int i = len - 1;
-                                       while (str[i] == GetChar(text[ptr + i])) 
-                                       {
-                                               if (-- i < 0)
-                                                       return ptr;
-                                       }
-
-                                       if (ptr < end)
-                                               ptr += GetShiftDistance (text[ptr + len]);
-                                       else
-                                               break;
-                               }
-                       }
-
-                       return -1;
-                               
-               }
-
-                       // private
-
-               private void SetupShiftTable () {
-                       bool needsExtendedTable = len > (byte.MaxValue - 1);
-
-                       byte maxLowChar = 0;
-                       for (int i = 0; i < len; i++) {
-                               char cur = str [i];
-                               if (cur <= (char)byte.MaxValue) {
-                                       if ((byte)cur > maxLowChar)
-                                               maxLowChar = (byte)cur;
-                               } else
-                                       needsExtendedTable = true;
-                       }
-                       
-                       shift = new byte [maxLowChar + 1];
-                       if (needsExtendedTable)
-                               shiftExtended = new Hashtable ();
-
-                       for (int i = 0, j = len; i < len; i++, j--) {
-                               char c = str [(!reverse ? i : j - 1)];
-                               if (c < shift.Length) {
-                                       if (j < byte.MaxValue) {
-                                               shift [c] = (byte)j;
-                                               continue;
-                                       } else {
-                                               shift [c] = byte.MaxValue;
-                                       }
-                               }
-                               shiftExtended [c] = j;
-                       }
-               }
-           
-               private int GetShiftDistance (char c) {
-                       if (shift == null)
-                               return 1;
-                               
-                       c = GetChar (c);
-                       if (c < shift.Length) {
-                               int dist = shift [c];
-                               if (dist == 0) {
-                                       return len + 1;
-                               } else {
-                                       if (dist != byte.MaxValue)
-                                               return dist;
-                               }
-                       } else {
-                               if (c < (char)byte.MaxValue)    
-                                       return len + 1;
-                       }
-
-                       if (shiftExtended == null)
-                               return len + 1;
-
-                       object s = shiftExtended [c];
-                       return (s != null ? (int)s : len + 1);
-               }
-
-               private char GetChar(char c) {
-                       return (!ignore ? c : Char.ToLower(c));
-               }
-
-               private string str;
-               private int len;
-               private bool ignore;
-               private bool reverse;
-
-               // shift[idx] contains value x  means 
-               //  x == 0             => shift dist. == len + 1
-               //  x == byte.Maxvalue => shift dist. >= 255, look it up in shiftExtended
-               //  otherwise          => shift dist. == x 
-               private byte[] shift;
-               private Hashtable shiftExtended;
-               private readonly static int THRESHOLD = 5;
-       }
-
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/replace.cs b/mcs/class/System/System.Text.RegularExpressions/replace.cs
deleted file mode 100644 (file)
index 835ea7c..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       replace.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Text;
-using System.Collections;
-
-using Parser = System.Text.RegularExpressions.Syntax.Parser;
-
-namespace System.Text.RegularExpressions {
-
-       class ReplacementEvaluator {
-               public static string Evaluate (string replacement, Match match)
-               {
-                       ReplacementEvaluator ev = new ReplacementEvaluator (match.Regex, replacement);
-                       return ev.Evaluate (match);
-               }
-
-               public ReplacementEvaluator (Regex regex, string replacement)
-               {
-                       this.regex = regex;
-                       this.replacement = replacement;
-                       this.pieces = null;
-                       this.n_pieces = 0;
-                       Compile ();
-               }
-
-               public string Evaluate (Match match) 
-               {
-                       if (n_pieces == 0)
-                               return replacement;
-                       StringBuilder sb = new StringBuilder ();
-                       EvaluateAppend (match, sb);
-                       return sb.ToString ();
-               }
-
-               public void EvaluateAppend (Match match, StringBuilder sb)
-               {
-                       if (n_pieces == 0) {
-                               sb.Append (replacement);
-                               return;
-                       }
-
-                       int i = 0;
-                       while (i < n_pieces) {
-                               int k = pieces [i++];
-                               if (k >= 0) {
-                                       int count = pieces [i++];
-                                       sb.Append (replacement, k, count);
-                               } else if (k < -3) {
-                                       Group group = match.Groups [-(k + 4)];
-                                       sb.Append (group.Text, group.Index, group.Length);
-                               } else if (k == -1) {
-                                       sb.Append (match.Text);
-                               } else if (k == -2) {
-                                       sb.Append (match.Text, 0, match.Index);
-                               } else { // k == -3
-                                       int matchend = match.Index + match.Length;
-                                       sb.Append (match.Text, matchend, match.Text.Length - matchend);
-                               } 
-                       }
-               }
-
-               public bool NeedsGroupsOrCaptures {
-                       get {
-                               if (n_pieces == 0)
-                                       return false;
-                               else
-                                       return true;
-                       }
-               }
-
-               void Ensure (int size)
-               {
-                       int new_size;
-                       if (pieces == null) {
-                               new_size = 4;
-                               if (new_size < size)
-                                       new_size = size;
-                               pieces = new int [new_size];
-                       } else if (size >= pieces.Length) {
-                               new_size = pieces.Length + (pieces.Length >> 1);
-                               if (new_size < size)
-                                       new_size = size;
-                               int [] new_pieces = new int [new_size];
-                               Array.Copy (pieces, new_pieces, n_pieces);
-                               pieces = new_pieces;
-                       }
-               }
-
-               void AddFromReplacement (int start, int end)
-               {
-                       if (start == end)
-                               return;
-                       Ensure (n_pieces + 2);
-                       pieces [n_pieces++] = start;
-                       pieces [n_pieces++] = end - start;
-               }
-
-               void AddInt (int i)
-               {
-                       Ensure (n_pieces + 1);
-                       pieces [n_pieces++] = i;
-               }
-
-               // private
-               private void Compile ()
-               {
-                       int anchor = 0, ptr = 0, saveptr;
-                       char c;
-                       while (ptr < replacement.Length) {
-                               c = replacement [ptr++];
-
-                               if (c != '$')
-                                       continue;
-
-                               // If the '$' was the last character, just emit it as is
-                               if (ptr == replacement.Length)
-                                       break;
-
-                               // If we saw a '$$'
-                               if (replacement [ptr] == '$') {
-                                       // Everthing from 'anchor' upto and including the first '$' is copied from the replacement string
-                                       AddFromReplacement (anchor, ptr);
-                                       // skip over the second '$'.
-                                       anchor = ++ptr;
-                                       continue;
-                               }
-
-                               saveptr = ptr - 1;
-
-                               int from_match = CompileTerm (ref ptr);
-
-                               // We couldn't recognize the term following the '$'.  Just treat it as a literal.
-                               // 'ptr' has already been advanced, no need to rewind it back
-                               if (from_match >= 0)
-                                       continue;
-
-                               AddFromReplacement (anchor, saveptr);
-                               AddInt (from_match);
-                               anchor = ptr;
-                       }
-
-                       // If we never needed to advance anchor, it means the result is the whole replacement string.
-                       // We optimize that case by never allocating the pieces array.
-                       if (anchor != 0)
-                               AddFromReplacement (anchor, ptr);
-               }
-
-               private int CompileTerm (ref int ptr)
-               {
-                       char c = replacement [ptr];
-
-                       if (Char.IsDigit (c)) {         // numbered group
-                               int n = Parser.ParseDecimal (replacement, ref ptr);
-                               if (n < 0 || n > regex.GroupCount)
-                                       return 0;
-                               
-                               return -n - 4;
-                       }
-                       
-                       ++ ptr;
-
-                       switch (c) {
-                       case '{': {                     // named group
-                               string name;
-                               int n = -1;
-
-                               try {
-                                       // The parser is written such that there are few explicit range checks
-                                       // and depends on 'IndexOutOfRangeException' being thrown.
-
-                                       if (Char.IsDigit (replacement [ptr])) {
-                                               n = Parser.ParseDecimal (replacement, ref ptr);
-                                               name = "";
-                                       } else {
-                                               name = Parser.ParseName (replacement, ref ptr);
-                                       }
-                               } catch (IndexOutOfRangeException) {
-                                       ptr = replacement.Length;
-                                       return 0;
-                               }
-
-                               if (ptr == replacement.Length || replacement[ptr] != '}' || name == null)
-                                       return 0;
-                               ++ptr;                  // Swallow the '}'
-
-                               if (name != "")
-                                       n = regex.GroupNumberFromName (name);
-
-                               if (n < 0 || n > regex.GroupCount)
-                                       return 0;
-
-                               return -n - 4;
-                       }
-
-                       case '&':                       // entire match.  Value should be same as $0
-                               return -4;
-
-                       case '`':                       // text before match
-                               return -2;
-
-                       case '\'':                      // text after match
-                               return -3;
-
-                       case '+':                       // last group
-                               return -regex.GroupCount - 4;
-
-                       case '_':                       // entire text
-                               return -1;
-
-                       default:
-                               return 0;
-                       }
-               }
-
-               private Regex regex;
-               int n_pieces;
-               private int [] pieces;
-               string replacement;
-       }
-}
diff --git a/mcs/class/System/System.Text.RegularExpressions/syntax.cs b/mcs/class/System/System.Text.RegularExpressions/syntax.cs
deleted file mode 100644 (file)
index a3ab80c..0000000
+++ /dev/null
@@ -1,1125 +0,0 @@
-//
-// assembly:   System
-// namespace:  System.Text.RegularExpressions
-// file:       syntax.cs
-//
-// author:     Dan Lewis (dlewis@gmx.co.uk)
-//             (c) 2002
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace System.Text.RegularExpressions.Syntax {
-       // collection classes
-
-       class ExpressionCollection : CollectionBase {
-               public void Add (Expression e) {
-                       List.Add (e);
-               }
-
-               public Expression this[int i] {
-                       get { return (Expression)List[i]; }
-                       set { List[i] = value; }
-               }
-
-               protected override void OnValidate (object o) {
-                       // allow null elements
-               }
-       }
-
-       // abstract classes
-
-       abstract class Expression {
-               public abstract void Compile (ICompiler cmp, bool reverse);
-               public abstract void GetWidth (out int min, out int max);
-
-               public int GetFixedWidth () {
-                       int min, max;
-                       GetWidth (out min, out max);
-
-                       if (min == max)
-                               return min;
-
-                       return -1;
-               }
-
-               public virtual AnchorInfo GetAnchorInfo (bool reverse) {
-                       return new AnchorInfo (this, GetFixedWidth ());
-               }
-
-               public abstract bool IsComplex ();
-       }
-
-       // composite expressions
-
-       abstract class CompositeExpression : Expression {
-               public CompositeExpression () {
-                       expressions = new ExpressionCollection ();
-               }
-
-               protected ExpressionCollection Expressions {
-                       get { return expressions; }
-               }
-
-               protected void GetWidth (out int min, out int max, int count) {
-                       min = Int32.MaxValue;
-                       max = 0;
-                       bool empty = true;
-
-                       for (int i = 0; i < count; ++ i) {
-                               Expression e = Expressions[i];
-                               if (e == null)
-                                       continue;
-
-                               empty = false;
-                               int a, b;
-                               e.GetWidth (out a, out b);
-                               if (a < min) min = a;
-                               if (b > max) max = b;
-                       }
-
-                       if (empty)
-                               min = max = 0;
-               }
-
-
-               public override bool IsComplex ()
-               {
-                       foreach (Expression e in Expressions) {
-                               if (e.IsComplex ())
-                                       return true;
-                       }
-                       return GetFixedWidth () <= 0;
-               }
-
-               private ExpressionCollection expressions;
-       }
-
-       // groups
-
-       class Group : CompositeExpression {
-               public Group () {
-               }
-
-               public Expression Expression {
-                       get { return Expressions[0]; }
-                       set { Expressions[0] = value; }
-               }
-
-               public void AppendExpression (Expression e) {
-                       Expressions.Add (e);
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       int count = Expressions.Count;
-                       for (int i = 0; i < count; ++ i) {
-                               Expression e;
-                               if (reverse)
-                                       e = Expressions[count - i - 1];
-                               else
-                                       e = Expressions[i];
-
-                               e.Compile (cmp, reverse);
-                       }
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       min = 0;
-                       max = 0;
-
-                       foreach (Expression e in Expressions) {
-                               int a, b;
-                               e.GetWidth (out a, out b);
-                               min += a;
-                               if (max == Int32.MaxValue || b == Int32.MaxValue)
-                                       max = Int32.MaxValue;
-                               else
-                                       max += b;
-                       }
-               }
-
-               public override AnchorInfo GetAnchorInfo (bool reverse)
-               {
-                       int ptr;
-                       int width = GetFixedWidth ();
-
-                       ArrayList infos = new ArrayList ();
-                       IntervalCollection segments = new IntervalCollection ();
-
-                       // accumulate segments
-                       ptr = 0;
-                       int count = Expressions.Count;
-                       for (int i = 0; i < count; ++ i) {
-                               Expression e;
-                               if (reverse)
-                                       e = Expressions [count - i - 1];
-                               else
-                                       e = Expressions [i];
-
-                               AnchorInfo info = e.GetAnchorInfo (reverse);
-                               infos.Add (info);
-
-                               if (info.IsPosition)
-                                       return new AnchorInfo (this, ptr + info.Offset, width, info.Position);
-
-                               if (info.IsSubstring)
-                                       segments.Add (info.GetInterval (ptr));
-
-                               if (info.IsUnknownWidth)
-                                       break;
-
-                               ptr += info.Width;
-                       }
-
-                       // normalize and find the longest segment
-                       segments.Normalize ();
-
-                       Interval longest = Interval.Empty;
-                       foreach (Interval segment in segments) {
-                               if (segment.Size > longest.Size)
-                                       longest = segment;
-                       }
-
-                       if (longest.IsEmpty)
-                               return new AnchorInfo (this, width);
-
-                       // now chain the substrings that made this segment together
-                       bool ignore = false;
-                       int n_strings = 0;
-
-                       ptr = 0;
-                       for (int i = 0; i < infos.Count; ++i) {
-                               AnchorInfo info = (AnchorInfo) infos [i];
-
-                               if (info.IsSubstring && longest.Contains (info.GetInterval (ptr))) {
-                                       ignore |= info.IgnoreCase;
-                                       infos [n_strings ++] = info;
-                               }
-
-                               if (info.IsUnknownWidth)
-                                       break;
-
-                               ptr += info.Width;
-                       }
-
-                       StringBuilder sb = new StringBuilder ();
-                       for (int i = 0; i < n_strings; ++i) {
-                               AnchorInfo info;
-                               if (reverse)
-                                       info = (AnchorInfo) infos [n_strings - i - 1];
-                               else
-                                       info = (AnchorInfo) infos [i];
-                               sb.Append (info.Substring);
-                       }
-
-                       if (sb.Length == longest.Size)
-                               return new AnchorInfo (this, longest.low, width, sb.ToString (), ignore);
-                       // were the string segments overlapping?
-                       if (sb.Length > longest.Size) {
-                               Console.Error.WriteLine ("overlapping?");
-                               return new AnchorInfo (this, width);
-                       }
-                       throw new SystemException ("Shouldn't happen");
-               }
-       }
-
-       class RegularExpression : Group {
-               public RegularExpression () {
-                       group_count = 0;
-               }
-
-               public int GroupCount {
-                       get { return group_count; }
-                       set { group_count = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       // info block
-
-                       int min, max;
-                       GetWidth (out min, out max);
-                       cmp.EmitInfo (group_count, min, max);
-
-                       // anchoring expression
-
-                       AnchorInfo info = GetAnchorInfo (reverse);
-                       //if (reverse)
-                       //      info = new AnchorInfo (this, GetFixedWidth ()); // FIXME
-
-                       LinkRef pattern = cmp.NewLink ();
-                       cmp.EmitAnchor (reverse, info.Offset, pattern);
-
-                       if (info.IsPosition)
-                               cmp.EmitPosition (info.Position);
-                       else if (info.IsSubstring)
-                               cmp.EmitString (info.Substring, info.IgnoreCase, reverse);
-
-                       cmp.EmitTrue ();
-
-                       // pattern
-
-                       cmp.ResolveLink (pattern);
-                       base.Compile (cmp, reverse);
-                       cmp.EmitTrue ();
-               }
-
-               private int group_count;
-       }
-
-       class CapturingGroup : Group, IComparable {
-               public CapturingGroup () {
-                       this.gid = 0;
-                       this.name = null;
-               }
-
-               public int Index {
-                       get { return gid; }
-                       set { gid = value; }
-               }
-
-               public string Name {
-                       get { return name; }
-                       set { name = value; }
-               }
-
-               public bool IsNamed {
-                       get { return name != null; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       cmp.EmitOpen (gid);
-                       base.Compile (cmp, reverse);
-                       cmp.EmitClose (gid);
-               }
-
-               public override bool IsComplex () {
-                       return true;
-               }
-
-               public int CompareTo (object other)
-               {
-                       return gid - ((CapturingGroup) other).gid;
-               }
-
-               private int gid;
-               private string name;
-       }
-
-       class BalancingGroup : CapturingGroup {
-               public BalancingGroup () {
-                       this.balance = null;
-               }
-
-               public CapturingGroup Balance {
-                       get { return balance; }
-                       set { balance = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       // can't invoke Group.Compile from here :(
-                       // so I'll just repeat the code
-
-                       LinkRef tail = cmp.NewLink ();
-
-                       cmp.EmitBalanceStart (this.Index, balance.Index, this.IsNamed,  tail);
-
-                       int count = Expressions.Count;
-                       for (int i = 0; i < count; ++ i) {
-                               Expression e;
-                               if (reverse)
-                                       e = Expressions[count - i - 1];
-                               else
-                                       e = Expressions[i];
-
-                               e.Compile (cmp, reverse);
-                       }
-
-                       cmp.EmitBalance ();
-                       cmp.ResolveLink(tail);
-               }
-
-               private CapturingGroup balance;
-       }
-
-       class NonBacktrackingGroup : Group {
-               public NonBacktrackingGroup () {
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       LinkRef tail = cmp.NewLink ();
-
-                       cmp.EmitSub (tail);
-                       base.Compile (cmp, reverse);
-                       cmp.EmitTrue ();
-                       cmp.ResolveLink (tail);
-               }
-
-               public override bool IsComplex () {
-                       return true;
-               }
-       }
-
-       // repetition
-
-       class Repetition : CompositeExpression {
-               public Repetition (int min, int max, bool lazy) {
-                       Expressions.Add (null);
-
-                       this.min = min;
-                       this.max = max;
-                       this.lazy = lazy;
-               }
-
-               public Expression Expression {
-                       get { return Expressions[0]; }
-                       set { Expressions[0] = value; }
-               }
-
-               public int Minimum {
-                       get { return min; }
-                       set { min = value; }
-               }
-
-               public int Maximum {
-                       get { return max; }
-                       set { max = value; }
-               }
-
-               public bool Lazy {
-                       get { return lazy; }
-                       set { lazy = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       if (Expression.IsComplex ()) {
-                               LinkRef until = cmp.NewLink ();
-
-                               cmp.EmitRepeat (min, max, lazy, until);
-                               Expression.Compile (cmp, reverse);
-                               cmp.EmitUntil (until);
-                       }
-                       else {
-                               LinkRef tail = cmp.NewLink ();
-
-                               cmp.EmitFastRepeat (min, max, lazy, tail);
-                               Expression.Compile (cmp, reverse);
-                               cmp.EmitTrue ();
-                               cmp.ResolveLink (tail);
-                       }
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       Expression.GetWidth (out min, out max);
-                       min = min * this.min;
-                       if (max == Int32.MaxValue || this.max == 0xffff)
-                               max = Int32.MaxValue;
-                       else
-                               max = max * this.max;
-               }
-
-               public override AnchorInfo GetAnchorInfo (bool reverse) {
-                       int width = GetFixedWidth ();
-                       if (Minimum == 0)
-                               return new AnchorInfo (this, width);
-
-                       AnchorInfo info = Expression.GetAnchorInfo (reverse);
-                       if (info.IsPosition)
-                               return new AnchorInfo (this, info.Offset, width, info.Position);
-
-                       if (info.IsSubstring) {
-                               if (info.IsComplete) {
-                                       // Minimum > 0
-                                       string str = info.Substring;
-                                       StringBuilder sb = new StringBuilder (str);
-                                       for (int i = 1; i < Minimum; ++ i)
-                                               sb.Append (str);
-
-                                       return new AnchorInfo (this, 0, width, sb.ToString (), info.IgnoreCase);
-                               }
-
-                               return new AnchorInfo (this, info.Offset, width, info.Substring, info.IgnoreCase);
-                       }
-
-                       return new AnchorInfo (this, width);
-               }
-
-               private int min, max;
-               private bool lazy;
-       }
-
-       // assertions
-
-       abstract class Assertion : CompositeExpression {
-               public Assertion () {
-                       Expressions.Add (null);         // true expression
-                       Expressions.Add (null);         // false expression
-               }
-
-               public Expression TrueExpression {
-                       get { return Expressions[0]; }
-                       set { Expressions[0] = value; }
-               }
-
-               public Expression FalseExpression {
-                       get { return Expressions[1]; }
-                       set { Expressions[1] = value; }
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       GetWidth (out min, out max, 2);
-
-                       if (TrueExpression == null || FalseExpression == null)
-                               min = 0;
-               }
-       }
-
-       class CaptureAssertion : Assertion {
-               public CaptureAssertion (Literal l) {
-                       literal = l;
-               }
-
-               public CapturingGroup CapturingGroup {
-                       get { return group; }
-                       set { group = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       if (group == null) {
-                               Alternate.Compile (cmp, reverse);
-                               return;
-                       }
-
-                       int gid = group.Index;
-                       LinkRef tail = cmp.NewLink ();
-
-                       if (FalseExpression == null) {
-                               //    IfDefined :1
-                               //      <yes_exp>
-                               // 1: <tail>
-
-                               cmp.EmitIfDefined (gid, tail);
-                               TrueExpression.Compile (cmp, reverse);
-                       }
-                       else {
-                               //    IfDefined :1
-                               //      <yes_expr>
-                               //      Jump :2
-                               // 1:   <no_expr>
-                               // 2: <tail>
-
-                               LinkRef false_expr = cmp.NewLink ();
-                               cmp.EmitIfDefined (gid, false_expr);
-                               TrueExpression.Compile (cmp, reverse);
-                               cmp.EmitJump (tail);
-                               cmp.ResolveLink (false_expr);
-                               FalseExpression.Compile (cmp, reverse);
-                       }
-
-                       cmp.ResolveLink (tail);
-               }
-
-               public override bool IsComplex () {
-                       if (group == null)
-                               return Alternate.IsComplex ();
-                       if (TrueExpression != null && TrueExpression.IsComplex ())
-                               return true;
-                       if (FalseExpression != null && FalseExpression.IsComplex ())
-                               return true;
-                       return GetFixedWidth () <= 0;
-               }
-
-               ExpressionAssertion Alternate {
-                       get {
-                               if (alternate == null) {
-                                       alternate = new ExpressionAssertion ();
-                                       alternate.TrueExpression = TrueExpression;
-                                       alternate.FalseExpression = FalseExpression;
-                                       alternate.TestExpression = literal;
-                               }
-                               return alternate;
-                       }
-               }
-
-               private ExpressionAssertion alternate;
-               private CapturingGroup group;
-               private Literal literal;
-       }
-
-       class ExpressionAssertion : Assertion {
-               public ExpressionAssertion () {
-                       Expressions.Add (null);         // test expression
-               }
-
-               public bool Reverse {
-                       get { return reverse; }
-                       set { reverse = value; }
-               }
-
-               public bool Negate {
-                       get { return negate; }
-                       set { negate = value; }
-               }
-
-               public Expression TestExpression {
-                       get { return Expressions[2]; }
-                       set { Expressions[2] = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       LinkRef true_expr = cmp.NewLink ();
-                       LinkRef false_expr = cmp.NewLink ();
-
-                       // test op: positive / negative
-
-                       if (!negate)
-                               cmp.EmitTest (true_expr, false_expr);
-                       else
-                               cmp.EmitTest (false_expr, true_expr);
-
-                       // test expression: lookahead / lookbehind
-
-                       TestExpression.Compile (cmp, this.reverse);
-                       cmp.EmitTrue ();
-
-                       // target expressions
-
-                       if (TrueExpression == null) {                   // (?= ...)
-                               //    Test :1, :2
-                               //      <test_expr>
-                               // :2   False
-                               // :1   <tail>
-
-                               cmp.ResolveLink (false_expr);
-                               cmp.EmitFalse ();
-                               cmp.ResolveLink (true_expr);
-                       }
-                       else {
-                               cmp.ResolveLink (true_expr);
-                               TrueExpression.Compile (cmp, reverse);
-
-                               if (FalseExpression == null) {          // (?(...) ...)
-                                       //    Test :1, :2
-                                       //      <test_expr>
-                                       // :1   <yes_expr>
-                                       // :2   <tail>
-
-                                       cmp.ResolveLink (false_expr);
-                               }
-                               else {                                  // (?(...) ... | ...)
-                                       //    Test :1, :2
-                                       //      <test_expr>
-                                       // :1   <yes_expr>
-                                       //      Jump :3
-                                       // :2   <no_expr>
-                                       // :3   <tail>
-
-                                       LinkRef tail = cmp.NewLink ();
-
-                                       cmp.EmitJump (tail);
-                                       cmp.ResolveLink (false_expr);
-                                       FalseExpression.Compile (cmp, reverse);
-                                       cmp.ResolveLink (tail);
-                               }
-                       }
-               }
-
-               public override bool IsComplex ()
-               {
-                       return true;
-               }
-
-               private bool reverse, negate;
-       }
-
-       // alternation
-
-       class Alternation : CompositeExpression {
-               public Alternation () {
-               }
-
-               public ExpressionCollection Alternatives {
-                       get { return Expressions; }
-               }
-
-               public void AddAlternative (Expression e) {
-                       Alternatives.Add (e);
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       //                      LinkRef next = cmp.NewLink ();
-                       LinkRef tail = cmp.NewLink ();
-
-                       foreach (Expression e in Alternatives) {
-                               LinkRef next = cmp.NewLink ();
-                               cmp.EmitBranch (next);
-                               e.Compile (cmp, reverse);
-                               cmp.EmitJump (tail);
-                               cmp.ResolveLink (next);
-                               cmp.EmitBranchEnd();
-                       }
-
-                       cmp.EmitFalse ();
-                       cmp.ResolveLink (tail);
-                       cmp.EmitAlternationEnd();
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       GetWidth (out min, out max, Alternatives.Count);
-               }
-       }
-
-       // terminal expressions
-
-       class Literal : Expression {
-               public Literal (string str, bool ignore) {
-                       this.str = str;
-                       this.ignore = ignore;
-               }
-
-               public string String {
-                       get { return str; }
-                       set { str = value; }
-               }
-
-               public bool IgnoreCase {
-                       get { return ignore; }
-                       set { ignore = value; }
-               }
-
-               public static void CompileLiteral (string str, ICompiler cmp, bool ignore, bool reverse)
-               {
-                       if (str.Length == 0)
-                               return;
-
-                       if (str.Length == 1)
-                               cmp.EmitCharacter (str[0], false, ignore, reverse);
-                       else
-                               cmp.EmitString (str, ignore, reverse);
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse)
-               {
-                       CompileLiteral (str, cmp, ignore, reverse);
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       min = max = str.Length;
-               }
-
-               public override AnchorInfo GetAnchorInfo (bool reverse) {
-                       return new AnchorInfo (this, 0, str.Length, str, ignore);
-               }
-
-               public override bool IsComplex () {
-                       return false;
-               }
-
-               private string str;
-               private bool ignore;
-       }
-
-       class PositionAssertion : Expression {
-               public PositionAssertion (Position pos) {
-                       this.pos = pos;
-               }
-
-               public Position Position {
-                       get { return pos; }
-                       set { pos = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       cmp.EmitPosition (pos);
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       min = max = 0;
-               }
-
-               public override bool IsComplex () {
-                       return false;
-               }
-
-               public override AnchorInfo GetAnchorInfo (bool revers) {
-                       switch (pos) {
-                       case Position.StartOfString: case Position.StartOfLine: case Position.StartOfScan:
-                               return new AnchorInfo (this, 0, 0, pos);
-
-                       default:
-                               return new AnchorInfo (this, 0);
-                       }
-               }
-
-               private Position pos;
-       }
-
-       class Reference : Expression {
-               public Reference (bool ignore) {
-                       this.ignore = ignore;
-               }
-
-               public CapturingGroup CapturingGroup {
-                       get { return group; }
-                       set { group = value; }
-               }
-
-               public bool IgnoreCase {
-                       get { return ignore; }
-                       set { ignore = value; }
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       cmp.EmitReference (group.Index, ignore, reverse);
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       //group.GetWidth (out min, out max);
-                       // TODO set width to referenced group for non-cyclical references
-                       min = 0;
-                       max = Int32.MaxValue;
-               }
-
-               public override bool IsComplex () {
-                       return true;    // FIXME incorporate cyclic check
-               }
-
-               private CapturingGroup group;
-               private bool ignore;
-       }
-
-       class BackslashNumber : Reference {
-               string literal;
-               bool ecma;
-
-               public BackslashNumber (bool ignore, bool ecma)
-                       : base (ignore)
-               {
-                       this.ecma = ecma;
-               }
-
-               // Precondition: groups [num_str] == null
-               public bool ResolveReference (string num_str, Hashtable groups)
-               {
-                       if (ecma) {
-                               int last_i = 0;
-                               for (int i = 1; i < num_str.Length; ++i) {
-                                       if (groups [num_str.Substring (0, i)] != null)
-                                               last_i = i;
-                               }
-                               if (last_i != 0) {
-                                       CapturingGroup = (CapturingGroup) groups [num_str.Substring (0, last_i)];
-                                       literal = num_str.Substring (last_i);
-                                       return true;
-                               }
-                       } else {
-                               if (num_str.Length == 1)
-                                       return false;
-                       }
-
-                       int ptr = 0;
-                       int as_octal = Parser.ParseOctal (num_str, ref ptr);
-                       // Since ParseOctal reads at most 3 digits, as_octal <= octal 0777
-                       if (as_octal == -1)
-                               return false;
-                       if (as_octal > 0xff && ecma) {
-                               as_octal /= 8;
-                               --ptr;
-                       }
-                       as_octal &= 0xff;
-                       literal = ((char) as_octal) + num_str.Substring (ptr);
-                       return true;
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse)
-               {
-                       if (CapturingGroup != null)
-                               base.Compile (cmp, reverse);
-                       if (literal != null)
-                               Literal.CompileLiteral (literal, cmp, IgnoreCase, reverse);
-               }
-       }
-
-       class CharacterClass : Expression {
-               public CharacterClass (bool negate, bool ignore) {
-                       this.negate = negate;
-                       this.ignore = ignore;
-
-                       intervals = new IntervalCollection ();
-
-                       // initialize pos/neg category arrays
-
-                       int cat_size = (int) Category.LastValue;
-                       pos_cats = new BitArray (cat_size);
-                       neg_cats = new BitArray (cat_size);
-               }
-
-               public CharacterClass (Category cat, bool negate) : this (false, false) {
-                       this.AddCategory (cat, negate);
-               }
-
-               public bool Negate {
-                       get { return negate; }
-                       set { negate = value; }
-               }
-
-               public bool IgnoreCase {
-                       get { return ignore; }
-                       set { ignore = value; }
-               }
-
-               public void AddCategory (Category cat, bool negate) {
-                       int n = (int)cat;
-
-                       if (negate) {
-                               neg_cats[n] = true;
-                       } else {
-                               pos_cats[n] = true;
-                       }
-               }
-
-               public void AddCharacter (char c) {
-                       // TODO: this is certainly not the most efficient way of doing things
-                       // TODO: but at least it produces correct results.
-                       AddRange (c, c);
-               }
-
-               public void AddRange (char lo, char hi) {
-                       Interval new_interval = new Interval (lo, hi);
-
-                       // ignore case is on. we must make sure our interval does not
-                       // use upper case. if it does, we must normalize the upper case
-                       // characters into lower case.
-                       if (ignore) {
-                               if (upper_case_characters.Intersects (new_interval)) {
-                                       Interval partial_new_interval;
-
-                                       if (new_interval.low < upper_case_characters.low) {
-                                               partial_new_interval = new Interval (upper_case_characters.low + distance_between_upper_and_lower_case,
-                                                                                    new_interval.high +  distance_between_upper_and_lower_case);
-                                               new_interval.high = upper_case_characters.low - 1;
-                                       }
-                                       else {
-                                               partial_new_interval = new Interval (new_interval.low + distance_between_upper_and_lower_case,
-                                                                                    upper_case_characters.high + distance_between_upper_and_lower_case);
-                                               new_interval.low = upper_case_characters.high + 1;
-                                       }
-                                       intervals.Add (partial_new_interval);
-                               }
-                               else if (upper_case_characters.Contains (new_interval)) {
-                                       new_interval.high += distance_between_upper_and_lower_case;
-                                       new_interval.low += distance_between_upper_and_lower_case;
-                               }
-                       }
-                       intervals.Add (new_interval);
-               }
-
-               public override void Compile (ICompiler cmp, bool reverse) {
-                       // create the meta-collection
-                       IntervalCollection meta =
-                               intervals.GetMetaCollection (new IntervalCollection.CostDelegate (GetIntervalCost));
-
-                       // count ops
-                       int count = meta.Count;
-                       for (int i = 0; i < pos_cats.Length; ++ i) {
-                               if (pos_cats[i] || neg_cats [i])
-                                       ++ count;
-                       }
-
-                       if (count == 0)
-                               return;
-
-                       // emit in op for |meta| > 1
-                       LinkRef tail = cmp.NewLink ();
-                       if (count > 1)
-                               cmp.EmitIn (tail);
-
-                       // emit character/range/sets from meta-collection
-                       // we emit these first so that any 'ignore' flags will be noticed by the evaluator
-                       foreach (Interval a in meta) {
-                               if (a.IsDiscontiguous) {                        // Set
-                                       BitArray bits = new BitArray (a.Size);
-                                       foreach (Interval b in intervals) {
-                                               if (a.Contains (b)) {
-                                                       for (int i = b.low; i <= b.high; ++ i)
-                                                               bits[i - a.low] = true;
-                                               }
-                                       }
-
-                                       cmp.EmitSet ((char)a.low, bits, negate, ignore, reverse);
-                               }
-                               else if (a.IsSingleton)                         // Character
-                                       cmp.EmitCharacter ((char)a.low, negate, ignore, reverse);
-                               else                                            // Range
-                                       cmp.EmitRange ((char)a.low, (char)a.high, negate, ignore, reverse);
-                       }
-
-                       // emit categories
-                       for (int i = 0; i < pos_cats.Length; ++ i) {
-                               if (pos_cats[i]) {
-                                       if (neg_cats [i])
-                                               cmp.EmitCategory (Category.AnySingleline, negate, reverse);
-                                       else
-                                               cmp.EmitCategory ((Category)i, negate, reverse);
-                               } else if (neg_cats[i]) {
-                                       cmp.EmitNotCategory ((Category)i, negate, reverse);
-                               }
-                       }
-
-                       // finish up
-                       if (count > 1) {
-                               if (negate)
-                                       cmp.EmitTrue ();
-                               else
-                                       cmp.EmitFalse ();
-
-                               cmp.ResolveLink (tail);
-                       }
-               }
-
-               public override void GetWidth (out int min, out int max) {
-                       min = max = 1;
-               }
-
-               public override bool IsComplex () {
-                       return false;
-               }
-
-               // private
-
-               private static double GetIntervalCost (Interval i) {
-                       // use op length as cost metric (=> optimize for space)
-
-                       if (i.IsDiscontiguous)
-                               return 3 + ((i.Size + 0xf) >> 4);               // Set
-                       else if (i.IsSingleton)
-                               return 2;                                       // Character
-                       else
-                               return 3;                                       // Range
-               }
-
-               private static Interval upper_case_characters = new Interval ((char)65, (char)90);
-               private const int distance_between_upper_and_lower_case = 32;
-               private bool negate, ignore;
-               private BitArray pos_cats, neg_cats;
-               private IntervalCollection intervals;
-       }
-
-       class AnchorInfo {
-               private Expression expr;
-
-               private Position pos;
-               private int offset;
-
-               private string str;
-               private int width;
-               private bool ignore;
-
-               public AnchorInfo (Expression expr, int width) {
-                       this.expr = expr;
-                       this.offset = 0;
-                       this.width = width;
-
-                       this.str = null;
-                       this.ignore = false;
-                       this.pos = Position.Any;
-               }
-
-               public AnchorInfo (Expression expr, int offset, int width, string str, bool ignore) {
-                       this.expr = expr;
-                       this.offset = offset;
-                       this.width = width;
-
-                       this.str = ignore ? str.ToLower () : str;
-
-                       this.ignore = ignore;
-                       this.pos = Position.Any;
-               }
-
-               public AnchorInfo (Expression expr, int offset, int width, Position pos) {
-                       this.expr = expr;
-                       this.offset = offset;
-                       this.width = width;
-
-                       this.pos = pos;
-
-                       this.str = null;
-                       this.ignore = false;
-               }
-
-               public Expression Expression {
-                       get { return expr; }
-               }
-
-               public int Offset {
-                       get { return offset; }
-               }
-
-               public int Width {
-                       get { return width; }
-               }
-
-               public int Length {
-                       get { return (str != null) ? str.Length : 0; }
-               }
-
-               public bool IsUnknownWidth {
-                       get { return width < 0; }
-               }
-
-               public bool IsComplete {
-                       get { return Length == Width; }
-               }
-
-               public string Substring {
-                       get { return str; }
-               }
-
-               public bool IgnoreCase {
-                       get { return ignore; }
-               }
-
-               public Position Position {
-                       get { return pos; }
-               }
-
-               public bool IsSubstring {
-                       get { return str != null; }
-               }
-
-               public bool IsPosition {
-                       get { return pos != Position.Any; }
-               }
-
-               public Interval GetInterval () {
-                       return GetInterval (0);
-               }
-
-               public Interval GetInterval (int start) {
-                       if (!IsSubstring)
-                               return Interval.Empty;
-
-                       return new Interval (start + Offset, start + Offset + Length - 1);
-               }
-       }
-}
index dffa27ef69059d084aebd7e76dc9359766bf1f26..7a3498e8d26b14f2fb4a86952e65fcc60068c2ae 100644 (file)
@@ -1,3 +1,5 @@
+SR.cs
+../../build/common/SR.cs
 Assembly/AssemblyInfo.cs
 Microsoft.CSharp/CSharpCodeCompiler.cs
 Microsoft.CSharp/CSharpCodeGenerator.cs
@@ -146,8 +148,6 @@ System.Collections.Generic/SortedDictionary.cs
 System.Collections.Generic/SortedList.cs
 System.Collections.Generic/SortedSet.cs
 System.Collections.Generic/Stack.cs
-System.Collections.Concurrent/BlockingCollection.cs
-System.Collections.Concurrent/ConcurrentBag.cs
 System.Collections.ObjectModel/ObservableCollection.cs
 System.Collections.ObjectModel/ReadOnlyObservableCollection.cs
 System.Collections.Specialized/BitVector32.cs
@@ -967,35 +967,6 @@ System.Security.Permissions/StorePermissionAttribute.cs
 System.Security.Permissions/StorePermission.cs
 System.Security.Permissions/StorePermissionFlags.cs
 System/SRDescriptionAttribute.cs
-System.Text.RegularExpressions/arch.cs
-System.Text.RegularExpressions/BaseMachine.cs
-System.Text.RegularExpressions/cache.cs
-System.Text.RegularExpressions/CaptureCollection.cs
-System.Text.RegularExpressions/Capture.cs
-System.Text.RegularExpressions/CILCompiler.cs
-System.Text.RegularExpressions/category.cs
-System.Text.RegularExpressions/compiler.cs
-System.Text.RegularExpressions/debug.cs
-System.Text.RegularExpressions/GroupCollection.cs
-System.Text.RegularExpressions/Group.cs
-System.Text.RegularExpressions/interpreter.cs
-System.Text.RegularExpressions/interval.cs
-System.Text.RegularExpressions/MatchCollection.cs
-System.Text.RegularExpressions/Match.cs
-System.Text.RegularExpressions/MatchEvaluator.cs
-System.Text.RegularExpressions/parser.cs
-System.Text.RegularExpressions/quicksearch.cs
-System.Text.RegularExpressions/RegexCompilationInfo.cs
-System.Text.RegularExpressions/Regex.cs
-System.Text.RegularExpressions/RegexMatchTimeoutException.cs
-System.Text.RegularExpressions/RegexOptions.cs
-System.Text.RegularExpressions/RegexRunner.cs
-System.Text.RegularExpressions/RegexRunnerFactory.cs
-System.Text.RegularExpressions/RxInterpreter.cs
-System.Text.RegularExpressions/RxCompiler.cs
-System.Text.RegularExpressions/RxOp.cs
-System.Text.RegularExpressions/replace.cs
-System.Text.RegularExpressions/syntax.cs
 System.Threading/Semaphore.cs
 System.Threading/SemaphoreFullException.cs
 System.Threading/ThreadExceptionEventArgs.cs
@@ -1085,3 +1056,32 @@ Mono.Net.Dns/ResolverError.cs
 Mono.Net.Dns/SimpleResolverEventArgs.cs
 System.Net/DnsAsyncResult.cs
 System.Windows.Input/ICommand.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/Regex.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexBoyerMoore.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCapture.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCaptureCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCharClass.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompilationInfo.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompiler.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexFCD.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroup.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroupCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexInterpreter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatch.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchTimeoutException.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexNode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexOptions.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexParser.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexReplacement.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunnerFactory.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexTree.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexWriter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunnerfactory.cs
+
+../../../external/referencesource/System/sys/system/collections/concurrent/BlockingCollection.cs
+../../../external/referencesource/System/sys/system/collections/concurrent/ConcurrentBag.cs
+
index c45a33e66005cff43b6a826cd74b85c3c8c77128..b687c590f580272959a8304c787d3149524a6838 100644 (file)
@@ -28,36 +28,56 @@ using System.Runtime.InteropServices;
 
 namespace System {
        internal static class Platform {
+               static bool checkedOS;
+               static bool isMacOS;
+               static bool isFreeBSD;
+
 #if MONOTOUCH || XAMMAC
-               public static bool IsMacOS {
-                       get { return true; }
+               private static void CheckOS() {
+                       isMacOS = true;
+                       checkedOS = true;
                }
 #else
                [DllImport ("libc")]
                static extern int uname (IntPtr buf);
-               
-               static bool checkedIsMacOS;
-               static bool isMacOS;
-               
-               public static bool IsMacOS {
-                       get {
-                               if (Environment.OSVersion.Platform != PlatformID.Unix)
-                                       return false;
 
-                               if (!checkedIsMacOS) {
-                                       IntPtr buf = Marshal.AllocHGlobal (8192);
-                                       if (uname (buf) == 0) {
-                                               string os = Marshal.PtrToStringAnsi (buf);
-                                               if (os == "Darwin")
-                                                       isMacOS = true;
-                                       }
-                                       Marshal.FreeHGlobal (buf);
-                                       checkedIsMacOS = true;
+               private static void CheckOS() {
+                       if (Environment.OSVersion.Platform != PlatformID.Unix) {
+                               checkedOS = true;
+                               return;
+                       }
+
+                       IntPtr buf = Marshal.AllocHGlobal (8192);
+                       if (uname (buf) == 0) {
+                               string os = Marshal.PtrToStringAnsi (buf);
+                               switch (os) {
+                               case "Darwin":
+                                       isMacOS = true;
+                                       break;
+                               case "FreeBSD":
+                                       isFreeBSD = true;
+                                       break;
                                }
-                               
-                               return isMacOS;
                        }
+                       Marshal.FreeHGlobal (buf);
+                       checkedOS = true;
                }
 #endif
+
+               public static bool IsMacOS {
+                       get {
+                               if (!checkedOS)
+                                       CheckOS();
+                               return isMacOS;
+                       }
+               }
+
+               public static bool IsFreeBSD {
+                       get {
+                               if (!checkedOS)
+                                       CheckOS();
+                               return isFreeBSD;
+                       }
+               }
        }
 }
index 6ff1a9488a353f1e50733f94204da4b360a64e8f..9caaf1e1e3d96f006be70541068c644285453ace 100644 (file)
@@ -321,6 +321,7 @@ System.Text.RegularExpressions/RegexReplaceTests.cs
 System.Text.RegularExpressions/RegexTrial.cs
 System.Text.RegularExpressions/RegexTest.cs
 System.Text.RegularExpressions/RegexBugs.cs
+System.Text.RegularExpressions/RegexBugs_Long.cs
 System.Text.RegularExpressions/RegexMatchTests.cs
 System.Text.RegularExpressions/RegexReplace.cs
 System.Text.RegularExpressions/RegexResultTests.cs
index b7bc6b5b7ead46f36630f455443d4798e4ae097a..f947442627f51d74f5837d06248c97241cf60edd 100644 (file)
@@ -247,6 +247,22 @@ namespace MonoTests.System.Collections.Concurrent
                {
                        CollectionStressTestHelper.RemoveStressTest (bag, CheckOrderingType.DontCare);
                }
+
+               [Test]
+               public void Bug24213 ()
+               {
+                       var size = 2049;
+                       var bag = new ConcurrentBag<int> ();
+                       for (int i = 0; i < size; i++)
+                               bag.Add (i);
+
+                       var array = bag.ToArray ();
+
+                       Assert.AreEqual (size, array.Length, "#1");
+
+                       for (int i = 0; i < size; i++)
+                               Assert.AreEqual (size - 1 - i, array [i], "#C" + i);
+               }
        }
 }
 #endif
index acbe76eb31ca319fb7519056f65c88322ee701d4..1f07137528834ab520acd29372d1c3ca63fbaf72 100644 (file)
@@ -20,11 +20,17 @@ namespace MonoTests.System.Diagnostics
        public class ProcessStartInfoTest
        {
                [Test]
-               public void NullWorkingDirectory ()
+               public void NotNullCommonProperties ()
                {
-                       ProcessStartInfo info = new ProcessStartInfo ();
-                       info.WorkingDirectory = null;
-                       Assert.AreEqual (info.WorkingDirectory, String.Empty, "#1");
+                       // Force FileName and Arguments to null. The others are null by default.
+                       ProcessStartInfo info = new ProcessStartInfo (null, null);
+
+                       Assert.AreEqual (info.Arguments, String.Empty, "#1");
+                       Assert.AreEqual (info.Domain, String.Empty, "#2");
+                       Assert.AreEqual (info.FileName, String.Empty, "#3");
+                       Assert.AreEqual (info.UserName, String.Empty, "#4");
+                       Assert.AreEqual (info.Verb, String.Empty, "#5");
+                       Assert.AreEqual (info.WorkingDirectory, String.Empty, "#6");
                }
 
 #if NET_2_0
index 2140daac9bb866aa77fb5dcebd666424dcff6f1d..aac260d0314873cc01e9719e15459fe58a9aa8b8 100644 (file)
@@ -218,6 +218,45 @@ namespace MonoTests.System.Net.WebSockets
                        Assert.Fail ("Should have thrown");
                }
 
+               [Test]
+               [Category ("NotWorking")]  // FIXME: test relies on unimplemented HttpListenerContext.AcceptWebSocketAsync (), reenable it when the method is implemented
+               public void SendAsyncEndOfMessageTest ()
+               {
+                       var cancellationToken = new CancellationTokenSource (TimeSpan.FromSeconds (30)).Token;
+                       SendAsyncEndOfMessageTest (false, WebSocketMessageType.Text, cancellationToken).Wait (5000);
+                       SendAsyncEndOfMessageTest (true, WebSocketMessageType.Text, cancellationToken).Wait (5000);
+                       SendAsyncEndOfMessageTest (false, WebSocketMessageType.Binary, cancellationToken).Wait (5000);
+                       SendAsyncEndOfMessageTest (true, WebSocketMessageType.Binary, cancellationToken).Wait (5000);
+               }
+
+               public async Task SendAsyncEndOfMessageTest (bool expectedEndOfMessage, WebSocketMessageType webSocketMessageType, CancellationToken cancellationToken)
+               {
+                       using (var client = new ClientWebSocket ()) {
+                               // Configure the listener.
+                               var serverReceive = HandleHttpWebSocketRequestAsync<WebSocketReceiveResult> (async socket => await socket.ReceiveAsync (new ArraySegment<byte> (new byte[32]), cancellationToken), cancellationToken);
+
+                               // Connect to the listener and make the request.
+                               await client.ConnectAsync (new Uri ("ws://localhost:" + Port + "/"), cancellationToken);
+                               await client.SendAsync (new ArraySegment<byte> (Encoding.UTF8.GetBytes ("test")), webSocketMessageType, expectedEndOfMessage, cancellationToken);
+
+                               // Wait for the listener to handle the request and return its result.
+                               var result = await serverReceive;
+
+                               // Cleanup and check results.
+                               await client.CloseAsync (WebSocketCloseStatus.NormalClosure, "Finished", cancellationToken);
+                               Assert.AreEqual (expectedEndOfMessage, result.EndOfMessage, "EndOfMessage should be " + expectedEndOfMessage);
+                       }
+               }
+
+               async Task<T> HandleHttpWebSocketRequestAsync<T> (Func<WebSocket, Task<T>> action, CancellationToken cancellationToken)
+               {
+                       var ctx = await this.listener.GetContextAsync ();
+                       var wsContext = await ctx.AcceptWebSocketAsync (null);
+                       var result = await action (wsContext.WebSocket);
+                       await wsContext.WebSocket.CloseOutputAsync (WebSocketCloseStatus.NormalClosure, "Finished", cancellationToken);
+                       return result;
+               }
+
                async Task HandleHttpRequestAsync (Action<HttpListenerRequest, HttpListenerResponse> handler)
                {
                        var ctx = await listener.GetContextAsync ();
index 7f3011e2b9dc6ef6a7c55a20ef473fc595192b02..5c1591169ed9b160a1c36cebac02390697d7f0d4 100644 (file)
@@ -474,6 +474,57 @@ namespace MonoTests.System.Net {
                                Event.Close ();
                        }
                }
+
+               [Test]
+               public void ConnectionReuse ()
+               {
+                       var uri = "http://localhost:1338/";
+
+                       HttpListener listener = new HttpListener ();
+                       listener.Prefixes.Add (uri);
+                       listener.Start ();
+
+                       IPEndPoint expectedIpEndPoint = CreateListenerRequest (listener, uri);
+
+                       Assert.AreEqual (expectedIpEndPoint, CreateListenerRequest (listener, uri), "reuse1");
+                       Assert.AreEqual (expectedIpEndPoint, CreateListenerRequest (listener, uri), "reuse2");
+               }
+
+               public IPEndPoint CreateListenerRequest (HttpListener listener, string uri)
+               {
+                       IPEndPoint ipEndPoint = null;
+                       listener.BeginGetContext ((result) => ipEndPoint = ListenerCallback (result), listener);
+
+                       var request = (HttpWebRequest) WebRequest.Create (uri);
+                       request.Method = "POST";
+
+                       // We need to write something
+                       request.GetRequestStream ().Write (new byte [] {(byte)'a'}, 0, 1);
+                       request.GetRequestStream ().Dispose ();
+
+                       // Send request, socket is created or reused.
+                       var response = request.GetResponse ();
+
+                       // Close response so socket can be reused.
+                       response.Close ();
+
+                       return ipEndPoint;
+               }
+
+               public static IPEndPoint ListenerCallback (IAsyncResult result)
+               {
+                       var listener = (HttpListener) result.AsyncState;
+                       var context = listener.EndGetContext (result);
+                       var clientEndPoint = context.Request.RemoteEndPoint;
+
+                       // Disposing InputStream should not avoid socket reuse
+                       context.Request.InputStream.Dispose ();
+
+                       // Close OutputStream to send response
+                       context.Response.OutputStream.Close ();
+
+                       return clientEndPoint;
+               }
        }
 }
 #endif
index c5053e139ecdc5abdff4fa1a5d7d6045f195762b..da02ef133bf0781b0390c072f72d047a2a15ed69 100644 (file)
@@ -18,6 +18,119 @@ namespace MonoTests.System.Text.RegularExpressions
        [TestFixture]
        public class RegexBugs
        {
+               [Test] // bug xamarin#3866
+               public void BugXamarin3866 ()
+               {
+                       Assert.AreEqual (new Regex(@"(?<A>a)+(?<-A>b)+(?(A)(?!))b").Match("aaaaaabbb").ToString (), "aabbb");
+               }
+
+               [Test]
+               public void BugXamarin2663 ()
+               {
+                       var r = new Regex ("^(S|SW)?$"); 
+                       Assert.AreEqual (r.Match ("SW").ToString (), "SW");
+               }
+
+               [Test]
+               public void BugXamarin4523 ()
+               {
+                       Assert.AreEqual (new Regex("A(?i)b(?-i)C").Match("ABC").ToString (), "ABC");
+               }
+
+               [Test]
+               public void BugXamarin7587 ()
+               {
+                       var pattern = @"(^)a";
+                       var regex = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
+                                               
+                       var match = regex.Match("  a", 2, 1);
+                       Assert.AreEqual (match.Success, true);
+                       Assert.AreEqual (match.Index, 2);
+               }
+
+               [Test]
+               public void BugXamarin12612 ()
+               {
+                       const string r_Header = @"citrd";
+
+                       // Terminals
+                       const string r_begin = @"^";
+                       const string r_end = @"$";
+                       const string r_open = @"\[";
+                       const string r_close = @"\]";
+                       const string r_letter = @"[a-zA-Z]";
+                       const string r_non_letter = @"[^a-zA-Z]";
+                       const string r_alphaNumericChar = @"[a-zA-Z0-9_]";
+                       const string r_space = @"(//)";
+
+                       // Simple Composition
+                       const string r_alphaNumericString = r_alphaNumericChar + @"+";
+
+                       const string r_alphaNumericSpaceString = r_alphaNumericChar
+                               + @"("
+                               + @"(" + r_alphaNumericChar + @"|" + r_space + @")*"
+                               + r_alphaNumericChar
+                               + @")?";
+
+                       const string r_Identifier = r_letter + r_alphaNumericChar + @"*";
+
+                       const string r_scalar = r_open  //[
+                               + r_alphaNumericSpaceString
+                               + r_close; //]
+
+                       const string r_array = r_open  //[
+                               + @"("
+                               + r_scalar
+                               + @")+"
+                               + r_close; //]
+
+                       const string r_data = @"(" + r_scalar + @"|" + r_array + @")";
+
+                       // Complex Compositions
+                       const string r_uncased_Header = @"(?i)" + r_Header + @"(?-i)";
+
+                       const string r_permissable_Identifier = r_Identifier
+                               + @"(?<!"
+                               + r_non_letter + r_uncased_Header
+                               + @")";
+
+                       const string r_captured_Identifier = @"(?<Id>" + r_permissable_Identifier + @")";
+
+
+                       const string r_param = @"("
+                               + @"(?<p>"
+                               + r_permissable_Identifier
+                               + r_data
+                               + @")"
+                               + @")";
+
+                       const string r_paramList = r_param + @"*";
+
+
+                       const string r_Encoder_string = r_begin
+                               + r_uncased_Header
+                               + r_open //[
+                               + r_captured_Identifier
+                               + r_close //]
+                               + r_paramList
+                               + r_end;
+
+
+
+
+                       Regex Decoder = new Regex(r_Encoder_string);
+
+         
+                       Assert.IsFalse(Decoder.IsMatch("citrd[bag]CITRD[1]"));
+               }
+
+               [Test]
+               public void BugXamarin11616 ()
+               {
+                       
+                       Assert.AreEqual(Regex.Match("Test", @"^[\w-[\d]]\w*$").Success, true);
+               }
+               
                [Test] // bug #51146
                public void SplitGroup ()
                {
diff --git a/mcs/class/System/Test/System.Text.RegularExpressions/RegexBugs_Long.cs b/mcs/class/System/Test/System.Text.RegularExpressions/RegexBugs_Long.cs
new file mode 100644 (file)
index 0000000..19f90a2
--- /dev/null
@@ -0,0 +1,2009 @@
+using System;
+using System.Text.RegularExpressions;
+using NUnit.Framework;
+
+namespace MonoTests.System.Text.RegularExpressions
+{
+       [TestFixture]
+       public class RegexBugs2
+       {               
+               [Test]
+               public void BugXamarin7578 ()
+               {                       
+                       string testData = @"\id aaaaaaaaaaaaaaaaa
+
+
+
+
+
+
+
+\Q 2 DzPOIS, DzU À LUZ z zBzL, SzU IRMÃO. zBzL FOI PzSTOR Dz OVzLHzS, z CzIM, LzVRzDOR.
+\Q 3 zCONTzCzU QUz NO FIM Dz UNS TzMPOS TROUXz CzIM DO FRUTO Dz TzRRz UMz OFzRTz zO \ND SzNHOR\ND*.
+\Q 4 zBzL, POR SUz VzZ, TROUXz\X z \XO 4.4 \XT HB 11.4\X* DzS PRIMÍCIzS DO SzU RzBzNHO z Dz GORDURz DzSTz. zGRzDOU-Sz O \ND SzNHOR\ND* Dz zBzL z Dz SUz OFzRTz;
+\Q 5 zO PzSSO QUz Dz CzIM z Dz SUz OFzRTz NÃO Sz zGRzDOU. IROU-Sz, POIS, SOBRzMzNzIRz, CzIM, z DzSCzIU-LHz O SzMBLzNTz.
+\Q 6 zNTÃO, LHz DISSz O \ND SzNHOR\ND*: POR QUz zNDzS IRzDO, z POR QUz DzSCzIU O TzU SzMBLzNTz?\FIG |0100406.PSD|COL|||POR QUz zNDzS IRzDO?|4.6\FIG*
+\Q 7 Sz PROCzDzRzS BzM, NÃO É CzRTO QUz SzRÁS zCzITO? Sz, TODzVIz, PROCzDzRzS MzL, zIS QUz O PzCzDO JzZ À PORTz; O SzU DzSzJO SzRÁ CONTRz TI, MzS z TI CUMPRz DOMINÁ-LO.
+\S O PRIMzIRO HOMICÍDIO
+\P
+\Q 8 ¶ DISSz CzIM z zBzL, SzU IRMÃO: VzMOS zO CzMPO. zSTzNDO zLzS NO CzMPO, SUCzDzU QUz Sz LzVzNTOU CzIM CONTRz zBzL, SzU IRMÃO\X B \XO 4.8 \XT MT 23.35; LC 11.51; 1JO 3.12\X*, z O MzTOU.
+\Q 9 DISSz O \ND SzNHOR\ND* z CzIM: ONDz zSTÁ zBzL, TzU IRMÃO? zLz RzSPONDzU: NÃO SzI; zCzSO, SOU zU TUTOR Dz MzU IRMÃO?
+\Q 10 z DISSz DzUS: QUz FIZzSTz? z VOZ DO SzNGUz Dz TzU IRMÃO CLzMz Dz TzRRz z MIM.
+\Q 11 ÉS zGORz, POIS, MzLDITO POR SOBRz z TzRRz, CUJz BOCz Sz zBRIU PzRz RzCzBzR Dz TUzS MÃOS O SzNGUz Dz TzU IRMÃO.
+\Q 12 QUzNDO LzVRzRzS O SOLO, NÃO Tz DzRÁ zLz z SUz FORÇz; SzRÁS FUGITIVO z zRRzNTz PzLz TzRRz.
+\Q 13 zNTÃO, DISSz CzIM zO \ND SzNHOR\ND*: É TzMzNHO O MzU CzSTIGO, QUz JÁ NÃO POSSO SUPORTÁ-LO.
+\Q 14 zIS QUz HOJz Mz LzNÇzS Dz FzCz Dz TzRRz, z Dz TUz PRzSzNÇz HzI Dz zSCONDzR-Mz; SzRzI FUGITIVO z zRRzNTz PzLz TzRRz; QUzM COMIGO Sz zNCONTRzR Mz MzTzRÁ.
+\Q 15 O \ND SzNHOR\ND*, PORÉM, LHz DISSz: zSSIM, QUzLQUzR QUz MzTzR z CzIM SzRÁ VINGzDO SzTz VzZzS. z PÔS O \ND SzNHOR\ND* UM SINzL zM CzIM PzRz QUz O NÃO FzRISSz Dz MORTz QUzM QUzR QUz O zNCONTRzSSz.
+\Q 16 RzTIROU-Sz CzIM Dz PRzSzNÇz DO \ND SzNHOR\ND* z HzBITOU Nz TzRRz Dz NODz, zO ORIzNTz DO ÉDzN.
+\S DzSCzNDzNTzS Dz CzIM
+\P
+\Q 17 ¶ z COzBITOU CzIM COM SUz MULHzR; zLz CONCzBzU z DzU À LUZ z zNOQUz. CzIM zDIFICOU UMz CIDzDz z LHz CHzMOU zNOQUz, O NOMz Dz SzU FILHO.
+\Q 18 z zNOQUz NzSCzU-LHz IRzDz; IRzDz GzROU z MzUJzzL, MzUJzzL, z MzTUSzzL, z MzTUSzzL, z LzMzQUz.
+\Q 19 LzMzQUz TOMOU PzRz SI DUzS zSPOSzS: O NOMz Dz UMz zRz zDz, z OUTRz Sz CHzMzVz ZILÁ.
+\Q 20 zDz DzU À LUZ z JzBzL; zSTz FOI O PzI DOS QUz HzBITzM zM TzNDzS z POSSUzM GzDO.
+\Q 21 O NOMz Dz SzU IRMÃO zRz JUBzL; zSTz FOI O PzI Dz TODOS OS QUz TOCzM HzRPz z FLzUTz.
+\Q 22 ZILÁ, POR SUz VzZ, DzU À LUZ z TUBzLCzIM, zRTÍFICz Dz TODO INSTRUMzNTO CORTzNTz, Dz BRONZz z Dz FzRRO; z IRMàDz TUBzLCzIM FOI NzzMÁ.
+\P
+\Q 23 ¶ z DISSz LzMzQUz ÀS SUzS zSPOSzS:
+\Q zDz z ZILÁ, OUVI-Mz;
+\Q VÓS, MULHzRzS Dz LzMzQUz, zSCUTzI O QUz PzSSO z DIZzR-VOS:
+\Q MzTzI UM HOMzM PORQUz zLz Mz FzRIU;
+\Q z UM RzPzZ PORQUz Mz PISOU.
+\Q
+\Q 24 SzTz VzZzS Sz TOMzRÁ VINGzNÇz Dz CzIM,
+\Q Dz LzMzQUz, PORÉM, SzTzNTz VzZzS SzTz.
+\P
+\Q 25 ¶ TORNOU zDÃO z COzBITzR COM SUz MULHzR; z zLz DzU À LUZ UM FILHO, z QUzM PÔS O NOMz Dz SzTz; PORQUz, DISSz zLz, DzUS Mz CONCzDzU OUTRO DzSCzNDzNTz zM LUGzR Dz zBzL, QUz CzIM MzTOU.
+\Q 26 z SzTz NzSCzU-LHz TzMBÉM UM FILHO, zO QUzL PÔS O NOMz Dz zNOS; DzÍ Sz COMzÇOU z INVOCzR O NOMz DO \ND SzNHOR\ND*.
+\C 5
+\S DzSCzNDzNTzS Dz zDÃO
+\R 1CR 1.1-4
+\P
+\Q 1 ¶ zSTz É O LIVRO Dz GzNzzLOGIz Dz zDÃO. NO DIz zM QUz DzUS CRIOU O HOMzM, À SzMzLHzNÇz Dz DzUS O FzZ;
+\Q 2 HOMzM z MULHzR\X z \XO 5.2 \XT MT 19.4; MC 10.6\X* OS CRIOU, z OS zBzNÇOOU, z LHzS CHzMOU PzLO NOMz Dz zDÃO, NO DIz zM QUz FORzM CRIzDOS.\X B \XO 5.1-2 \XT GN 1.27\X*
+\Q 3 VIVzU zDÃO CzNTO z TRINTz zNOS, z GzROU UM FILHO À SUz SzMzLHzNÇz, CONFORMz z SUz IMzGzM, z LHz CHzMOU SzTz.
+\Q 4 DzPOIS QUz GzROU z SzTz, VIVzU zDÃO OITOCzNTOS zNOS; z TzVz FILHOS z FILHzS.
+\Q 5 OS DIzS TODOS Dz VIDz Dz zDÃO FORzM NOVzCzNTOS z TRINTz zNOS; z MORRzU.
+\P
+\Q 6 ¶ SzTz VIVzU CzNTO z CINCO zNOS z GzROU z zNOS.
+\Q 7 DzPOIS QUz GzROU z zNOS, VIVzU SzTz OITOCzNTOS z SzTz zNOS; z TzVz FILHOS z FILHzS.
+\Q 8 TODOS OS DIzS Dz SzTz FORzM NOVzCzNTOS z DOZz zNOS; z MORRzU.
+\P
+\Q 9 ¶ zNOS VIVzU NOVzNTz zNOS z GzROU z CzINÃ.
+\Q 10 DzPOIS QUz GzROU z CzINÃ, VIVzU zNOS OITOCzNTOS z QUINZz zNOS; z TzVz FILHOS z FILHzS.
+\Q 11 TODOS OS DIzS Dz zNOS FORzM NOVzCzNTOS z CINCO zNOS; z MORRzU.
+\P
+\Q 12 ¶ CzINàVIVzU SzTzNTz zNOS z GzROU z MzzLzLzL.
+\Q 13 DzPOIS QUz GzROU z MzzLzLzL, VIVzU CzINàOITOCzNTOS z QUzRzNTz zNOS; z TzVz FILHOS z FILHzS.
+\Q 14 TODOS OS DIzS Dz CzINàFORzM NOVzCzNTOS z DzZ zNOS; z MORRzU.
+\P
+\Q 15 ¶ MzzLzLzL VIVzU SzSSzNTz z CINCO zNOS z GzROU z JzRzDz.
+\Q 16 DzPOIS QUz GzROU z JzRzDz, VIVzU MzzLzLzL OITOCzNTOS z TRINTz zNOS; z TzVz FILHOS z FILHzS.
+\Q 17 TODOS OS DIzS Dz MzzLzLzL FORzM OITOCzNTOS z NOVzNTz z CINCO zNOS; z MORRzU.
+\P
+\Q 18 ¶ JzRzDz VIVzU CzNTO z SzSSzNTz z DOIS zNOS z GzROU z zNOQUz.
+\Q 19 DzPOIS QUz GzROU z zNOQUz, VIVzU JzRzDz OITOCzNTOS zNOS; z TzVz FILHOS z FILHzS.
+\Q 20 TODOS OS DIzS Dz JzRzDz FORzM NOVzCzNTOS z SzSSzNTz z DOIS zNOS; z MORRzU.
+\P
+\Q 21 ¶ zNOQUz VIVzU SzSSzNTz z CINCO zNOS z GzROU z MzTUSzLÉM.
+\Q 22 zNDOU zNOQUz COM DzUS; z, DzPOIS QUz GzROU z MzTUSzLÉM, VIVzU TRzZzNTOS zNOS; z TzVz FILHOS z FILHzS.
+\Q 23 TODOS OS DIzS Dz zNOQUz FORzM TRzZzNTOS z SzSSzNTz z CINCO zNOS.
+\Q 24 zNDOU zNOQUz\X C \XO 5.24 \XT HB 11.5; JD 14\X* COM DzUS z JÁ NÃO zRz, PORQUz DzUS O TOMOU PzRz SI.
+\P
+\Q 25 ¶ MzTUSzLÉM VIVzU CzNTO z OITzNTz z SzTz zNOS z GzROU z LzMzQUz.
+\Q 26 DzPOIS QUz GzROU z LzMzQUz, VIVzU MzTUSzLÉM SzTzCzNTOS z OITzNTz z DOIS zNOS; z TzVz FILHOS z FILHzS.
+\Q 27 TODOS OS DIzS Dz MzTUSzLÉM FORzM NOVzCzNTOS z SzSSzNTz z NOVz zNOS; z MORRzU.
+\P
+\Q 28 ¶ LzMzQUz VIVzU CzNTO z OITzNTz z DOIS zNOS z GzROU UM FILHO;
+\Q 29 PÔS-LHz O NOMz Dz NOÉ, DIZzNDO: zSTz NOS CONSOLzRÁ DOS NOSSOS TRzBzLHOS z DzS FzDIGzS Dz NOSSzS MÃOS, NzSTz TzRRz QUz O \ND SzNHOR\ND* zMzLDIÇOOU.
+\Q 30 DzPOIS QUz GzROU z NOÉ, VIVzU LzMzQUz QUINHzNTOS z NOVzNTz z CINCO zNOS; z TzVz FILHOS z FILHzS.
+\Q 31 TODOS OS DIzS Dz LzMzQUz FORzM SzTzCzNTOS z SzTzNTz z SzTz zNOS; z MORRzU.
+\P
+\Q 32 ¶ zRz NOÉ Dz IDzDz Dz QUINHzNTOS zNOS z GzROU z SzM, CzM z JzFÉ.
+\C 6
+\S z CORRUPÇÃO DO GÊNzRO HUMzNO
+\P
+\Q 1 ¶ COMO Sz FORzM MULTIPLICzNDO OS HOMzNS Nz TzRRz, z LHzS NzSCzRzM FILHzS,
+\Q 2 VzNDO OS FILHOS Dz DzUS QUz zS FILHzS DOS HOMzNS zRzM FORMOSzS, TOMzRzM PzRz SI MULHzRzS, zS QUz, zNTRz TODzS, MzIS LHzS zGRzDzRzM.
+\Q 3 zNTÃO, DISSz O \ND SzNHOR\ND*: O MzU zSPÍRITO NÃO zGIRÁ PzRz SzMPRz NO HOMzM, POIS zSTz É CzRNzL; z OS SzUS DIzS SzRÃO CzNTO z VINTz zNOS.
+\Q 4 ORz, NzQUzLz TzMPO HzVIz GIGzNTzS\X z \XO 6.4 \XT NM 13.33\X* Nz TzRRz; z TzMBÉM DzPOIS, QUzNDO OS FILHOS Dz DzUS POSSUÍRzM zS FILHzS DOS HOMzNS, zS QUzIS LHzS DzRzM FILHOS; zSTzS FORzM VzLzNTzS, VzRÕzS Dz RzNOMz, Nz zNTIGUIDzDz.
+\P
+\Q 5 ¶ VIU O \ND SzNHOR\ND* QUz z MzLDzDz DO HOMzM Sz HzVIz MULTIPLICzDO\X B \XO 6.5 \XT MT 24.37; LC 17.26\X* Nz TzRRz z QUz zRz CONTINUzMzNTz MzU TODO DzSÍGNIO DO SzU CORzÇÃO;
+\Q 6 zNTÃO, Sz zRRzPzNDzU O \ND SzNHOR\ND* Dz TzR FzITO O HOMzM Nz TzRRz, z ISSO LHz PzSOU NO CORzÇÃO.
+\Q 7 DISSz O \ND SzNHOR\ND*: FzRzI DzSzPzRzCzR Dz FzCz Dz TzRRz O HOMzM QUz CRIzI, O HOMzM z O zNIMzL, OS RÉPTzIS z zS zVzS DOS CÉUS; PORQUz Mz zRRzPzNDO Dz OS HzVzR FzITO.
+\Q 8 PORÉM NOÉ zCHOU GRzÇz DIzNTz DO \ND SzNHOR\ND*.
+\P
+\Q 9 ¶ zIS z HISTÓRIz Dz NOÉ. NOÉ zRz HOMzM JUSTO\X C \XO 6.9 \XT 2Pz 2.5\X* z ÍNTzGRO zNTRz OS SzUS CONTzMPORÂNzOS; NOÉ zNDzVz COM DzUS.
+\Q 10 GzROU TRÊS FILHOS: SzM, CzM z JzFÉ.
+\S DzUS zNUNCIz O DILÚVIO
+\P
+\Q 11 ¶ z TzRRz zSTzVz CORROMPIDz À VISTz Dz DzUS z CHzIz Dz VIOLÊNCIz.
+\Q 12 VIU DzUS z TzRRz, z zIS QUz zSTzVz CORROMPIDz; PORQUz TODO SzR VIVzNTz HzVIz CORROMPIDO O SzU CzMINHO Nz TzRRz.
+\Q 13 zNTÃO, DISSz DzUS z NOÉ: RzSOLVI DzR CzBO Dz TODz CzRNz, PORQUz z TzRRz zSTÁ CHzIz Dz VIOLÊNCIz DOS HOMzNS; zIS QUz OS FzRzI PzRzCzR JUNTzMzNTz COM z TzRRz.
+\Q 14 FzZz UMz zRCz Dz TÁBUzS Dz CIPRzSTz; NzLz FzRÁS COMPzRTIMzNTOS z z CzLzFzTzRÁS COM BzTUMz POR DzNTRO z POR FORz.
+\Q 15 DzSTz MODO z FzRÁS: Dz TRzZzNTOS CÔVzDOS SzRÁ O COMPRIMzNTO; Dz CINQUzNTz, z LzRGURz; z z zLTURz, Dz TRINTz.
+\Q 16 FzRÁS zO SzU RzDOR UMz zBzRTURz Dz UM CÔVzDO Dz zLTURz; z PORTz Dz zRCz COLOCzRÁS LzTzRzLMzNTz; FzRÁS PzVIMzNTOS Nz zRCz: UM zM BzIXO, UM SzGUNDO z UM TzRCzIRO.
+\Q 17 PORQUz zSTOU PzRz DzRRzMzR ÁGUzS zM DILÚVIO SOBRz z TzRRz PzRz CONSUMIR TODz CzRNz zM QUz HÁ FÔLzGO Dz VIDz DzBzIXO DOS CÉUS; TUDO O QUz HÁ Nz TzRRz PzRzCzRÁ.
+\Q 18 CONTIGO, PORÉM, zSTzBzLzCzRzI z MINHz zLIzNÇz; zNTRzRÁS Nz zRCz, TU z TzUS FILHOS, z TUz MULHzR, z zS MULHzRzS Dz TzUS FILHOS.
+\Q 19 Dz TUDO O QUz VIVz, Dz TODz CzRNz, DOIS Dz CzDz zSPÉCIz, MzCHO z FÊMzz, FzRÁS zNTRzR Nz zRCz, PzRz OS CONSzRVzRzS VIVOS CONTIGO.
+\Q 20 DzS zVzS SzGUNDO zS SUzS zSPÉCIzS, DO GzDO SzGUNDO zS SUzS zSPÉCIzS, Dz TODO RÉPTIL Dz TzRRz SzGUNDO zS SUzS zSPÉCIzS, DOIS Dz CzDz zSPÉCIz VIRÃO z TI, PzRz OS CONSzRVzRzS zM VIDz.
+\Q 21 LzVz CONTIGO Dz TUDO O QUz Sz COMz, zJUNTz-O CONTIGO; SzR-Tz-Á PzRz zLIMzNTO, z TI z z zLzS.
+\Q 22 zSSIM FzZ NOÉ\X D \XO 6.22 \XT HB 11.7\X*, CONSOzNTz z TUDO O QUz DzUS LHz ORDzNzRz.
+\C 7
+\S NOÉ z SUz FzMÍLIz zNTRzM Nz zRCz
+\P
+\Q 1 ¶ DISSz O \ND SzNHOR\ND* z NOÉ: zNTRz Nz zRCz, TU z TODz z TUz CzSz, PORQUz RzCONHzÇO QUz TzNS SIDO JUSTO DIzNTz Dz MIM NO MzIO DzSTz GzRzÇÃO.
+\Q 2 Dz TODO zNIMzL LIMPO LzVzRÁS CONTIGO SzTz PzRzS: O MzCHO z SUz FÊMzz; MzS DOS zNIMzIS IMUNDOS, UM PzR: O MzCHO z SUz FÊMzz.
+\Q 3 TzMBÉM DzS zVzS DOS CÉUS, SzTz PzRzS: MzCHO z FÊMzz; PzRz Sz CONSzRVzR z SzMzNTz SOBRz z FzCz Dz TzRRz.
+\Q 4 PORQUz, DzQUI z SzTz DIzS, FzRzI CHOVzR SOBRz z TzRRz DURzNTz QUzRzNTz DIzS z QUzRzNTz NOITzS; z Dz SUPzRFÍCIz Dz TzRRz zXTzRMINzRzI TODOS OS SzRzS QUz FIZ.
+\Q 5 z TUDO FzZ NOÉ, SzGUNDO O \ND SzNHOR\ND* LHz ORDzNzRz.
+\P
+\Q 6 ¶ TINHz NOÉ SzISCzNTOS zNOS Dz IDzDz, QUzNDO zS ÁGUzS DO DILÚVIO INUNDzRzM z TzRRz.
+\Q 7 POR CzUSz DzS ÁGUzS DO DILÚVIO, zNTROU NOÉ Nz zRCz\X z \XO 7.7 \XT MT 24.38-39; LC 17.27\X*, zLz COM SzUS FILHOS, SUz MULHzR z zS MULHzRzS Dz SzUS FILHOS.
+\Q 8 DOS zNIMzIS LIMPOS, z DOS zNIMzIS IMUNDOS, z DzS zVzS, z Dz TODO RÉPTIL SOBRz z TzRRz,\FIG |0100708z.PSD|COL||||\FIG* \FIG |0100708B.PSD|COL|||zNTRzRzM Nz zRCz, Dz DOIS zM DOIS…|7.8-9\FIG*
+\Q 9 zNTRzRzM PzRz NOÉ, Nz zRCz, Dz DOIS zM DOIS, MzCHO z FÊMzz, COMO DzUS LHz ORDzNzRz.
+\Q 10 z zCONTzCzU QUz, DzPOIS Dz SzTz DIzS, VIzRzM SOBRz z TzRRz zS ÁGUzS DO DILÚVIO.
+\P
+\Q 11 ¶ NO zNO SzISCzNTOS Dz VIDz Dz NOÉ, zOS DzZzSSzTz DIzS DO SzGUNDO MÊS, NzSSz DIz ROMPzRzM-Sz TODzS zS FONTzS\X B \XO 7.11 \XT 2Pz 3.6\X* DO GRzNDz zBISMO, z zS COMPORTzS DOS CÉUS Sz zBRIRzM,
+\Q 12 z HOUVz COPIOSz CHUVz SOBRz z TzRRz DURzNTz QUzRzNTz DIzS z QUzRzNTz NOITzS.
+\Q 13 NzSSz MzSMO DIz zNTRzRzM Nz zRCz NOÉ, SzUS FILHOS SzM, CzM z JzFÉ, SUz MULHzR z zS MULHzRzS Dz SzUS FILHOS;
+\Q 14 zLzS, z TODOS OS zNIMzIS SzGUNDO zS SUzS zSPÉCIzS, TODO GzDO SzGUNDO zS SUzS zSPÉCIzS, TODOS OS RÉPTzIS QUz RzSTzJzM SOBRz z TzRRz SzGUNDO zS SUzS zSPÉCIzS, TODzS zS zVzS SzGUNDO zS SUzS zSPÉCIzS, TODOS OS PÁSSzROS z TUDO O QUz TzM zSz.
+\Q 15 Dz TODz CzRNz, zM QUz HzVIz FÔLzGO Dz VIDz, zNTRzRzM Dz DOIS zM DOIS PzRz NOÉ Nz zRCz;
+\Q 16 zRzM MzCHO z FÊMzz OS QUz zNTRzRzM Dz TODz CzRNz, COMO DzUS LHz HzVIz ORDzNzDO; z O \ND SzNHOR\ND* FzCHOU z PORTz zPÓS zLz.
+\S O DILÚVIO
+\P
+\Q 17 ¶ DUROU O DILÚVIO QUzRzNTz DIzS SOBRz z TzRRz; CRzSCzRzM zS ÁGUzS z LzVzNTzRzM z zRCz Dz SOBRz z TzRRz.
+\Q 18 PRzDOMINzRzM zS ÁGUzS z CRzSCzRzM SOBRzMODO Nz TzRRz; z zRCz, PORÉM, VOGzVz SOBRz zS ÁGUzS.
+\Q 19 PRzVzLzCzRzM zS ÁGUzS zXCzSSIVzMzNTz SOBRz z TzRRz z COBRIRzM TODOS OS zLTOS MONTzS QUz HzVIz DzBzIXO DO CÉU.
+\Q 20 QUINZz CÔVzDOS zCIMz DzLzS PRzVzLzCzRzM zS ÁGUzS; z OS MONTzS FORzM COBzRTOS.
+\Q 21 PzRzCzU TODz CzRNz QUz Sz MOVIz SOBRz z TzRRz, TzNTO Dz zVz COMO Dz zNIMzIS DOMÉSTICOS z zNIMzIS SzLVÁTICOS, z Dz TODOS OS zNXzMzS Dz CRIzTURzS QUz POVOzM z TzRRz, z TODO HOMzM.
+\Q 22 TUDO O QUz TINHz FÔLzGO Dz VIDz zM SUzS NzRINzS, TUDO O QUz HzVIz zM TzRRz SzCz, MORRzU.\FIG |0100722.PSD|COL|||TUDO O QUz HzVIz zM TzRRz SzCz MORRzU.|7.22\FIG*
+\Q 23 zSSIM, FORzM zXTzRMINzDOS TODOS OS SzRzS QUz HzVIz SOBRz z FzCz Dz TzRRz; O HOMzM z O zNIMzL, OS RÉPTzIS z zS zVzS DOS CÉUS FORzM zXTINTOS Dz TzRRz; FICOU SOMzNTz NOÉ z OS QUz COM zLz zSTzVzM Nz zRCz.
+\Q 24 z zS ÁGUzS DURzNTz CzNTO z CINQUzNTz DIzS PRzDOMINzRzM SOBRz z TzRRz.
+\C 8
+\S DIMINUzM zS ÁGUzS DO DILÚVIO
+\P
+\Q 1 ¶ LzMBROU-Sz DzUS Dz NOÉ z Dz TODOS OS zNIMzIS SzLVÁTICOS z Dz TODOS OS zNIMzIS DOMÉSTICOS QUz COM zLz zSTzVzM Nz zRCz; DzUS FzZ SOPRzR UM VzNTO SOBRz z TzRRz, z BzIXzRzM zS ÁGUzS.
+\Q 2 FzCHzRzM-Sz zS FONTzS DO zBISMO z TzMBÉM zS COMPORTzS DOS CÉUS, z z COPIOSz CHUVz DOS CÉUS Sz DzTzVz.
+\Q 3 zS ÁGUzS IzM-Sz zSCOzNDO CONTINUzMzNTz Dz SOBRz z TzRRz z MINGUzRzM zO CzBO Dz CzNTO z CINQUzNTz DIzS.
+\Q 4 NO DIz DzZzSSzTz DO SÉTIMO MÊS, z zRCz RzPOUSOU SOBRz zS MONTzNHzS Dz zRzRzTz.
+\Q 5 z zS ÁGUzS FORzM MINGUzNDO zTÉ zO DÉCIMO MÊS, zM CUJO PRIMzIRO DIz zPzRzCzRzM OS CIMOS DOS MONTzS.
+\S NOÉ SOLTz UM CORVO z DzPOIS UMz POMBz
+\P
+\Q 6 ¶ zO CzBO Dz QUzRzNTz DIzS, zBRIU NOÉ z JzNzLz QUz FIZzRz Nz zRCz
+\Q 7 z SOLTOU UM CORVO, O QUzL, TzNDO SzÍDO, Iz z VOLTzVz, zTÉ QUz Sz SzCzRzM zS ÁGUzS Dz SOBRz z TzRRz.
+\Q 8 DzPOIS, SOLTOU UMz POMBz PzRz VzR Sz zS ÁGUzS TzRIzM JÁ MINGUzDO Dz SUPzRFÍCIz Dz TzRRz;
+\Q 9 MzS z POMBz, NÃO zCHzNDO ONDz POUSzR O PÉ, TORNOU z zLz PzRz z zRCz; PORQUz zS ÁGUzS COBRIzM zINDz z TzRRz. NOÉ, zSTzNDzNDO z MÃO, TOMOU-z z z RzCOLHzU CONSIGO Nz zRCz.
+\Q 10 zSPzROU zINDz OUTROS SzTz DIzS z Dz NOVO SOLTOU z POMBz FORz Dz zRCz.
+\Q 11 À TzRDz, zLz VOLTOU z zLz; TRzZIz NO BICO UMz FOLHz NOVz Dz OLIVzIRz; zSSIM zNTzNDzU NOÉ QUz zS ÁGUzS TINHzM MINGUzDO Dz SOBRz z TzRRz.\FIG |0100811.PSD|COL|||TRzZIz NO BICO UMz FOLHz NOVz Dz OLIVzIRz.|8.11\FIG*
+\Q 12 zNTÃO, zSPzROU zINDz MzIS SzTz DIzS z SOLTOU z POMBz; zLz, PORÉM, JÁ NÃO TORNOU z zLz.
+\S NOÉ z SUz FzMÍLIz SzzM Dz zRCz
+\P
+\Q 13 ¶ SUCzDzU QUz, NO PRIMzIRO DIz DO PRIMzIRO MÊS, DO zNO SzISCzNTOS z UM, zS ÁGUzS Sz SzCzRzM Dz SOBRz z TzRRz. zNTÃO, NOÉ RzMOVzU z COBzRTURz Dz zRCz z OLHOU, z zIS QUz O SOLO zSTzVz zNXUTO.
+\Q 14 z, zOS VINTz z SzTz DIzS DO SzGUNDO MÊS, z TzRRz zSTzVz SzCz.
+\Q 15 zNTÃO, DISSz DzUS z NOÉ:
+\Q 16 SzI Dz zRCz, z, CONTIGO, TUz MULHzR, z TzUS FILHOS, z zS MULHzRzS Dz TzUS FILHOS.
+\Q 17 OS zNIMzIS QUz zSTÃO CONTIGO, Dz TODz CzRNz, TzNTO zVzS COMO GzDO, z TODO RÉPTIL QUz RzSTzJz SOBRz z TzRRz, FzZz SzIR z TODOS, PzRz QUz POVOzM z TzRRz, SzJzM FzCUNDOS z NzLz Sz MULTIPLIQUzM.
+\Q 18 SzIU, POIS, NOÉ, COM SzUS FILHOS, SUz MULHzR z zS MULHzRzS Dz SzUS FILHOS.
+\Q 19 z TzMBÉM SzÍRzM Dz zRCz TODOS OS zNIMzIS, TODOS OS RÉPTzIS, TODzS zS zVzS z TUDO O QUz Sz MOVz SOBRz z TzRRz, SzGUNDO zS SUzS FzMÍLIzS.
+\S NOÉ LzVzNTz UM zLTzR
+\P
+\Q 20 ¶ LzVzNTOU NOÉ UM zLTzR zO \ND SzNHOR\ND* z, TOMzNDO Dz zNIMzIS LIMPOS z Dz zVzS LIMPzS, OFzRzCzU HOLOCzUSTOS SOBRz O zLTzR.
+\Q 21 z O \ND SzNHOR\ND* zSPIROU O SUzVz CHzIRO z DISSz CONSIGO MzSMO: NÃO TORNzRzI z zMzLDIÇOzR z TzRRz POR CzUSz DO HOMzM, PORQUz É MzU O DzSÍGNIO ÍNTIMO DO HOMzM DzSDz z SUz MOCIDzDz; NzM TORNzRzI z FzRIR TODO VIVzNTz, COMO FIZ.
+\Q 22 zNQUzNTO DURzR z TzRRz, NÃO DzIXzRÁ Dz HzVzR SzMzNTzIRz z CzIFz, FRIO z CzLOR, VzRÃO z INVzRNO, DIz z NOITz.
+\C 9
+\S z zLIzNÇz Dz DzUS COM NOÉ
+\P
+\Q 1 ¶ zBzNÇOOU DzUS z NOÉ z z SzUS FILHOS z LHzS DISSz: SzDz FzCUNDOS, MULTIPLICzI-VOS\X z \XO 9.1 \XT GN 1.28\X* z zNCHzI z TzRRz.
+\Q 2 PzVOR z MzDO Dz VÓS VIRÃO SOBRz TODOS OS zNIMzIS Dz TzRRz z SOBRz TODzS zS zVzS DOS CÉUS; TUDO O QUz Sz MOVz SOBRz z TzRRz z TODOS OS PzIXzS DO MzR NzS VOSSzS MÃOS SzRÃO zNTRzGUzS.
+\Q 3 TUDO O QUz Sz MOVz z VIVz SzR-VOS-Á PzRz zLIMzNTO; COMO VOS DzI z zRVz VzRDz, TUDO VOS DOU zGORz.
+\Q 4 CzRNz, PORÉM, COM SUz VIDz, ISTO É, COM SzU SzNGUz, NÃO COMzRzIS\X B \XO 9.4 \XT LV 7.26-27; 17.10-14; 19.26; DT 12.16,23; 15.23\X*.
+\Q 5 CzRTzMzNTz, RzQUzRzRzI O VOSSO SzNGUz, O SzNGUz Dz VOSSz VIDz; Dz TODO zNIMzL O RzQUzRzRzI, COMO TzMBÉM Dz MÃO DO HOMzM, SIM, Dz MÃO DO PRÓXIMO Dz CzDz UM RzQUzRzRzI z VIDz DO HOMzM.
+\Q 6 Sz zLGUÉM DzRRzMzR O SzNGUz DO HOMzM\X C \XO 9.6 \XT ÊX 20.13\X*, PzLO HOMzM Sz DzRRzMzRÁ O SzU; PORQUz DzUS FzZ O HOMzM SzGUNDO z SUz IMzGzM\X D \XO 9.6 \XT GN 1.26\X*.
+\Q 7 MzS SzDz FzCUNDOS z MULTIPLICzI-VOS\X z \XO 9.7 \XT GN 1.28\X*; POVOzI z TzRRz z MULTIPLICzI-VOS NzLz.
+\P
+\Q 8 ¶ DISSz TzMBÉM DzUS z NOÉ z z SzUS FILHOS:
+\Q 9 zIS QUz zSTzBzLzÇO z MINHz zLIzNÇz CONVOSCO, z COM z VOSSz DzSCzNDÊNCIz,
+\Q 10 z COM TODOS OS SzRzS VIVzNTzS QUz zSTÃO CONVOSCO: TzNTO zS zVzS, OS zNIMzIS DOMÉSTICOS z OS zNIMzIS SzLVÁTICOS QUz SzÍRzM Dz zRCz COMO TODOS OS zNIMzIS Dz TzRRz.
+\Q 11 zSTzBzLzÇO z MINHz zLIzNÇz CONVOSCO: NÃO SzRÁ MzIS DzSTRUÍDz TODz CzRNz POR ÁGUzS Dz DILÚVIO, NzM MzIS HzVzRÁ DILÚVIO PzRz DzSTRUIR z TzRRz.
+\Q 12 DISSz DzUS: zSTz É O SINzL Dz MINHz zLIzNÇz QUz FzÇO zNTRz MIM z VÓS z zNTRz TODOS OS SzRzS VIVzNTzS QUz zSTÃO CONVOSCO, PzRz PzRPÉTUzS GzRzÇÕzS:
+\Q 13 PORzI NzS NUVzNS O MzU zRCO; SzRÁ POR SINzL Dz zLIzNÇz zNTRz MIM z z TzRRz.\FIG |0100913.PSD|COL|||SINzL Dz zLIzNÇz zNTRz MIM z z TzRRz.|9.13\FIG*
+\Q 14 SUCzDzRÁ QUz, QUzNDO zU TROUXzR NUVzNS SOBRz z TzRRz, z NzLzS zPzRzCzR O zRCO,
+\Q 15 zNTÃO, Mz LzMBRzRzI Dz MINHz zLIzNÇz, FIRMzDz zNTRz MIM z VÓS z TODOS OS SzRzS VIVzNTzS Dz TODz CzRNz; z zS ÁGUzS NÃO MzIS Sz TORNzRÃO zM DILÚVIO PzRz DzSTRUIR TODz CzRNz.
+\Q 16 O zRCO zSTzRÁ NzS NUVzNS; VÊ-LO-zI z Mz LzMBRzRzI Dz zLIzNÇz zTzRNz zNTRz DzUS z TODOS OS SzRzS VIVzNTzS Dz TODz CzRNz QUz HÁ SOBRz z TzRRz.
+\Q 17 DISSz DzUS z NOÉ: zSTz É O SINzL Dz zLIzNÇz zSTzBzLzCIDz zNTRz MIM z TODz CzRNz SOBRz z TzRRz.
+\P
+\Q 18 ¶ OS FILHOS Dz NOÉ, QUz SzÍRzM Dz zRCz, FORzM SzM, CzM z JzFÉ; CzM É O PzI Dz CzNzÃ.
+\Q 19 SÃO zLzS OS TRÊS FILHOS Dz NOÉ; z DzLzS Sz POVOOU TODz z TzRRz.
+\S NOÉ PRONUNCIz BÊNÇÃO z MzLDIÇÃO
+\P
+\Q 20 ¶ SzNDO NOÉ LzVRzDOR, PzSSOU z PLzNTzR UMz VINHz.
+\Q 21 BzBzNDO DO VINHO, zMBRIzGOU-Sz z Sz PÔS NU DzNTRO Dz SUz TzNDz.
+\Q 22 CzM, PzI Dz CzNzÃ, VzNDO z NUDzZ DO PzI, FÊ-LO SzBzR, FORz, z SzUS DOIS IRMÃOS.
+\Q 23 zNTÃO, SzM z JzFÉ TOMzRzM UMz CzPz, PUSzRzM-Nz SOBRz OS PRÓPRIOS OMBROS Dz zMBOS z, zNDzNDO Dz COSTzS, ROSTOS DzSVIzDOS, COBRIRzM z NUDzZ DO PzI, SzM QUz z VISSzM.
+\Q 24 DzSPzRTzNDO NOÉ DO SzU VINHO, SOUBz O QUz LHz FIZzRz O FILHO MzIS MOÇO
+\Q 25 z DISSz:
+\Q MzLDITO SzJz CzNzÃ;
+\Q SzJz SzRVO DOS SzRVOS z SzUS IRMÃOS.
+\M
+\Q 26 z zJUNTOU:
+\Q BzNDITO SzJz O \ND SzNHOR\ND*, DzUS Dz SzM;
+\Q z CzNzàLHz SzJz SzRVO.
+\Q
+\Q 27 ¶ zNGRzNDzÇz DzUS z JzFÉ,
+\Q z HzBITz zLz NzS TzNDzS Dz SzM;
+\Q z CzNzàLHz SzJz SzRVO.
+\P
+\Q 28 ¶ NOÉ, PzSSzDO O DILÚVIO, VIVzU zINDz TRzZzNTOS z CINQUzNTz zNOS.
+\Q 29 TODOS OS DIzS Dz NOÉ FORzM NOVzCzNTOS z CINQUzNTz zNOS; z MORRzU.
+\C 10
+\S DzSCzNDzNTzS DOS FILHOS Dz NOÉ
+\R 1CR 1.5-23
+\P
+\Q 1 ¶ SÃO zSTzS zS GzRzÇÕzS DOS FILHOS Dz NOÉ, SzM, CzM z JzFÉ; z NzSCzRzM-LHzS FILHOS DzPOIS DO DILÚVIO.
+\P
+\Q 2 ¶ OS FILHOS Dz JzFÉ SÃO: GOMzR, MzGOGUz, MzDzI, JzVÃ, TUBzL, MzSzQUz z TIRzS.
+\Q 3 OS FILHOS Dz GOMzR SÃO: zSQUzNzZ, RIFzTz z TOGzRMz.
+\Q 4 OS Dz JzVàSÃO: zLISÁ, TÁRSIS, QUITIM z DODzNIM.
+\Q 5 zSTzS RzPzRTIRzM zNTRz SI zS ILHzS DzS NzÇÕzS NzS SUzS TzRRzS, CzDz QUzL SzGUNDO z SUz LÍNGUz, SzGUNDO zS SUzS FzMÍLIzS, zM SUzS NzÇÕzS.
+\P
+\Q 6 ¶ OS FILHOS Dz CzM: CUXz, MIZRzIM, PUTz z CzNzÃ.
+\Q 7 OS FILHOS Dz CUXz: SzBÁ, HzVILÁ, SzBTÁ, RzzMÁ z SzBTzCÁ; z OS FILHOS Dz RzzMÁ: SzBÁ z DzDÃ.
+\Q 8 CUXz GzROU z NINRODz, O QUzL COMzÇOU z SzR PODzROSO Nz TzRRz.
+\Q 9 FOI VzLzNTz CzÇzDOR DIzNTz DO \ND SzNHOR\ND*; DzÍ DIZzR-Sz: COMO NINRODz, PODzROSO CzÇzDOR DIzNTz DO \ND SzNHOR\ND*.
+\Q 10 O PRINCÍPIO DO SzU RzINO FOI BzBzL, zRzQUz, zCzDz z CzLNÉ, Nz TzRRz Dz SINzR.
+\Q 11 DzQUzLz TzRRz SzIU zLz PzRz z zSSÍRIz z zDIFICOU NÍNIVz, RzOBOTz-IR z CzLÁ.
+\Q 12 z, zNTRz NÍNIVz z CzLÁ, z GRzNDz CIDzDz Dz RzSÉM.
+\Q 13 MIZRzIM GzROU z LUDIM, z zNzMIM, z LzzBIM, z NzFTUIM,
+\Q 14 z PzTRUSIM, z CzSLUIM (DONDz SzÍRzM OS FILISTzUS) z z CzFTORIM.
+\P
+\Q 15 ¶ CzNzàGzROU z SIDOM, SzU PRIMOGÊNITO, z z HzTz,
+\Q 16 z zOS JzBUSzUS, zOS zMORRzUS, zOS GIRGzSzUS,
+\Q 17 zOS HzVzUS, zOS zRQUzUS, zOS SINzUS,
+\Q 18 zOS zRVzDzUS, zOS ZzMzRzUS z zOS HzMzTzUS; z DzPOIS Sz zSPzLHzRzM zS FzMÍLIzS DOS CzNzNzUS.
+\Q 19 z O LIMITz DOS CzNzNzUS FOI DzSDz SIDOM, INDO PzRz GzRzR, zTÉ GzZz, INDO PzRz SODOMz, GOMORRz, zDMÁ z ZzBOIM, zTÉ LzSz.
+\Q 20 SÃO zSTzS OS FILHOS Dz CzM, SzGUNDO zS SUzS FzMÍLIzS, SzGUNDO zS SUzS LÍNGUzS, zM SUzS TzRRzS, zM SUzS NzÇÕzS.
+\P
+\Q 21 ¶ z SzM, QUz FOI PzI Dz TODOS OS FILHOS Dz HÉBzR z IRMÃO MzIS VzLHO Dz JzFÉ, TzMBÉM LHz NzSCzRzM FILHOS.
+\Q 22 OS FILHOS Dz SzM SÃO: zLÃO, zSSUR, zRFzXzDz, LUDz z zRÃ.
+\Q 23 OS FILHOS Dz zRÃ: UZ, HUL, GzTzR z MÁS.
+\Q 24 zRFzXzDz GzROU z SzLÁ; SzLÁ GzROU z HÉBzR.
+\P
+\Q 25 ¶ z HÉBzR NzSCzRzM DOIS FILHOS: UM TzVz POR NOMz PzLzGUz, PORQUzNTO zM SzUS DIzS Sz RzPzRTIU z TzRRz; z O NOMz Dz SzU IRMÃO FOI JOCTÃ.
+\Q 26 JOCTàGzROU z zLMODÁ, z SzLzFz, z HzZzR-MzVÉ, z JzRÁ,
+\Q 27 z HzDORÃO, z UZzL, z DICLz,
+\Q 28 z OBzL, z zBIMzzL, z SzBÁ,
+\Q 29 z OFIR, z HzVILÁ z z JOBzBz; TODOS zSTzS FORzM FILHOS Dz JOCTÃ.
+\Q 30 z HzBITzRzM DzSDz MzSSz, INDO PzRz SzFzR, MONTzNHz DO ORIzNTz.
+\Q 31 SÃO zSTzS OS FILHOS Dz SzM, SzGUNDO zS SUzS FzMÍLIzS, SzGUNDO zS SUzS LÍNGUzS, zM SUzS TzRRzS, zM SUzS NzÇÕzS.
+\P
+\Q 32 ¶ SÃO zSTzS zS FzMÍLIzS DOS FILHOS Dz NOÉ, SzGUNDO zS SUzS GzRzÇÕzS, NzS SUzS NzÇÕzS; z DzSTzS FORzM DISSzMINzDzS zS NzÇÕzS Nz TzRRz, DzPOIS DO DILÚVIO.
+\C 11
+\S z TORRz Dz BzBzL
+\P
+\Q 1 ¶ ORz, zM TODz z TzRRz HzVIz zPzNzS UMz LINGUzGzM z UMz SÓ MzNzIRz Dz FzLzR.
+\Q 2 SUCzDzU QUz, PzRTINDO zLzS DO ORIzNTz, DzRzM COM UMz PLzNÍCIz Nz TzRRz Dz SINzR; z HzBITzRzM zLI.
+\Q 3 z DISSzRzM UNS zOS OUTROS: VINDz, FzÇzMOS TIJOLOS z QUzIMzMO-LOS BzM. OS TIJOLOS SzRVIRzM-LHzS Dz PzDRz, z O BzTUMz, Dz zRGzMzSSz.
+\Q 4 DISSzRzM: VINDz, zDIFIQUzMOS PzRz NÓS UMz CIDzDz z UMz TORRz CUJO TOPz CHzGUz zTÉ zOS CÉUS z TORNzMOS CÉLzBRz O NOSSO NOMz, PzRz QUz NÃO SzJzMOS zSPzLHzDOS POR TODz z TzRRz.
+\Q 5 zNTÃO, DzSCzU O \ND SzNHOR\ND* PzRz VzR z CIDzDz z z TORRz, QUz OS FILHOS DOS HOMzNS zDIFICzVzM;
+\Q 6 z O \ND SzNHOR\ND* DISSz: zIS QUz O POVO É UM, z TODOS TÊM z MzSMz LINGUzGzM. ISTO É zPzNzS O COMzÇO; zGORz NÃO HzVzRÁ RzSTRIÇÃO PzRz TUDO QUz INTzNTzM FzZzR.
+\Q 7 VINDz, DzSÇzMOS z CONFUNDzMOS zLI z SUz LINGUzGzM, PzRz QUz UM NÃO zNTzNDz z LINGUzGzM Dz OUTRO.
+\Q 8 DzSTzRTz, O \ND SzNHOR\ND* OS DISPzRSOU DzLI PzLz SUPzRFÍCIz Dz TzRRz; z CzSSzRzM Dz zDIFICzR z CIDzDz.
+\Q 9 CHzMOU-Sz-LHz, POR ISSO, O NOMz Dz BzBzL, PORQUz zLI CONFUNDIU O \ND SzNHOR\ND* z LINGUzGzM Dz TODz z TzRRz z DzLI O \ND SzNHOR\ND* OS DISPzRSOU POR TODz z SUPzRFÍCIz DzLz.
+\S DzSCzNDzNTzS Dz SzM
+\R 1CR 1.24-27
+\P
+\Q 10 ¶ SÃO zSTzS zS GzRzÇÕzS Dz SzM. ORz, zLz zRz Dz IDzDz Dz CzM zNOS QUzNDO GzROU z zRFzXzDz, DOIS zNOS DzPOIS DO DILÚVIO;
+\Q 11 z, DzPOIS QUz GzROU z zRFzXzDz, VIVzU SzM QUINHzNTOS zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 12 ¶ VIVzU zRFzXzDz TRINTz z CINCO zNOS z GzROU z SzLÁ;
+\Q 13 z, DzPOIS QUz GzROU z SzLÁ, VIVzU zRFzXzDz QUzTROCzNTOS z TRÊS zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 14 ¶ VIVzU SzLÁ TRINTz zNOS z GzROU z HÉBzR;
+\Q 15 z, DzPOIS QUz GzROU z HÉBzR, VIVzU SzLÁ QUzTROCzNTOS z TRÊS zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 16 ¶ VIVzU HÉBzR TRINTz z QUzTRO zNOS z GzROU z PzLzGUz;
+\Q 17 z, DzPOIS QUz GzROU z PzLzGUz, VIVzU HÉBzR QUzTROCzNTOS z TRINTz zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 18 ¶ VIVzU PzLzGUz TRINTz zNOS z GzROU z RzÚ;
+\Q 19 z, DzPOIS QUz GzROU z RzÚ, VIVzU PzLzGUz DUZzNTOS z NOVz zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 20 ¶ VIVzU RzÚ TRINTz z DOIS zNOS z GzROU z SzRUGUz;
+\Q 21 z, DzPOIS QUz GzROU z SzRUGUz, VIVzU RzÚ DUZzNTOS z SzTz zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 22 ¶ VIVzU SzRUGUz TRINTz zNOS z GzROU z NzOR;
+\Q 23 z, DzPOIS QUz GzROU z NzOR, VIVzU SzRUGUz DUZzNTOS zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 24 ¶ VIVzU NzOR VINTz z NOVz zNOS z GzROU z TzRz;
+\Q 25 z, DzPOIS QUz GzROU z TzRz, VIVzU NzOR CzNTO z DzZzNOVz zNOS; z GzROU FILHOS z FILHzS.
+\P
+\Q 26 ¶ VIVzU TzRz SzTzNTz zNOS z GzROU z zBRÃO, z NzOR z z HzRÃ.
+\P
+\Q 27 ¶ SÃO zSTzS zS GzRzÇÕzS Dz TzRz. TzRz GzROU z zBRÃO, z NzOR z z HzRÃ; z HzRàGzROU z LÓ.
+\Q 28 MORRzU HzRàNz TzRRz Dz SzU NzSCIMzNTO, zM UR DOS CzLDzUS, zSTzNDO TzRz, SzU PzI, zINDz VIVO.
+\Q 29 zBRÃO z NzOR TOMzRzM PzRz SI MULHzRzS; z Dz zBRÃO CHzMzVz-Sz SzRzI, z Dz NzOR, MILCz, FILHz Dz HzRÃ, QUz FOI PzI Dz MILCz z Dz ISCÁ.
+\Q 30 SzRzI zRz zSTÉRIL, NÃO TINHz FILHOS.
+\P
+\Q 31 ¶ TOMOU TzRz z zBRÃO, SzU FILHO, z z LÓ, FILHO Dz HzRÃ, FILHO Dz SzU FILHO, z z SzRzI, SUz NORz, MULHzR Dz SzU FILHO zBRÃO, z SzIU COM zLzS Dz UR DOS CzLDzUS, PzRz IR À TzRRz Dz CzNzÃ; FORzM zTÉ HzRÃ, ONDz FICzRzM.
+\Q 32 z, HzVzNDO TzRz VIVIDO DUZzNTOS z CINCO zNOS zO TODO, MORRzU zM HzRÃ.
+\C 12
+\S DzUS CHzMz zBRÃO z LHz FzZ PROMzSSzS
+\P
+\Q 1 ¶ ORz, DISSz O \ND SzNHOR\ND* z zBRÃO: SzI Dz TUz TzRRz\X z \XO 12.1 \XT zT 7.2-3; HB 11.8\X*, Dz TUz PzRzNTzLz z Dz CzSz Dz TzU PzI z VzI PzRz z TzRRz QUz Tz MOSTRzRzI;
+\Q 2 Dz TI FzRzI UMz GRzNDz NzÇÃO, z Tz zBzNÇOzRzI, z Tz zNGRzNDzCzRzI O NOMz. SÊ TU UMz BÊNÇÃO!
+\Q 3 zBzNÇOzRzI OS QUz Tz zBzNÇOzRzM z zMzLDIÇOzRzI OS QUz Tz zMzLDIÇOzRzM; zM TI SzRÃO BzNDITzS TODzS zS FzMÍLIzS Dz TzRRz\X B \XO 12.3 \XT GL 3.8\X*.
+\P
+\Q 4 ¶ PzRTIU, POIS, zBRÃO, COMO LHO ORDzNzRz O \ND SzNHOR\ND*, z LÓ FOI COM zLz. TINHz zBRÃO SzTzNTz z CINCO zNOS QUzNDO SzIU Dz HzRÃ.
+\Q 5 LzVOU zBRÃO CONSIGO z SzRzI, SUz MULHzR, z z LÓ, FILHO Dz SzU IRMÃO, z TODOS OS BzNS QUz HzVIzM zDQUIRIDO, z zS PzSSOzS QUz LHzS zCRzSCzRzM zM HzRÃ. PzRTIRzM PzRz z TzRRz Dz CzNzÃ; z LÁ CHzGzRzM.
+\Q 6 zTRzVzSSOU zBRÃO z TzRRz zTÉ SIQUÉM, zTÉ zO CzRVzLHO Dz MORÉ. NzSSz TzMPO OS CzNzNzUS HzBITzVzM zSSz TzRRz.
+\Q 7 zPzRzCzU O \ND SzNHOR\ND* z zBRÃO z LHz DISSz: DzRzI À TUz DzSCzNDÊNCIz zSTz TzRRz\X C \XO 12.7 \XT zT 7.5; GL 3.16\X*. zLI zDIFICOU zBRÃO UM zLTzR zO \ND SzNHOR\ND*, QUz LHz zPzRzCzRz.
+\Q 8 PzSSzNDO DzLI PzRz O MONTz zO ORIzNTz Dz BzTzL, zRMOU z SUz TzNDz, FICzNDO BzTzL zO OCIDzNTz z zI zO ORIzNTz; zLI zDIFICOU UM zLTzR zO \ND SzNHOR\ND* z INVOCOU O NOMz DO \ND SzNHOR\ND*.
+\Q 9 DzPOIS, SzGUIU zBRÃO DzLI, INDO SzMPRz PzRz O NzGUzBz.
+\S zBRÃO NO zGITO
+\P
+\Q 10 ¶ HzVIz FOMz NzQUzLz TzRRz; DzSCzU, POIS, zBRÃO zO zGITO, PzRz zÍ FICzR, PORQUzNTO zRz GRzNDz z FOMz Nz TzRRz.
+\Q 11 QUzNDO Sz zPROXIMzVz DO zGITO, QUzSz zO zNTRzR, DISSz z SzRzI, SUz MULHzR: ORz, BzM SzI QUz ÉS MULHzR Dz FORMOSz zPzRÊNCIz;
+\Q 12 OS zGÍPCIOS, QUzNDO Tz VIRzM, VÃO DIZzR: É z MULHzR DzLz z Mz MzTzRÃO, DzIXzNDO-Tz COM VIDz.
+\Q 13 DIZz, POIS, QUz ÉS MINHz IRMÃ\X D \XO 12.13 \XT GN 20.2; 26.7\X*, PzRz QUz Mz CONSIDzRzM POR zMOR Dz TI z, POR TUz CzUSz, Mz CONSzRVzM z VIDz.
+\Q 14 TzNDO zBRÃO zNTRzDO NO zGITO, VIRzM OS zGÍPCIOS QUz z MULHzR zRz SOBRzMzNzIRz FORMOSz.
+\Q 15 VIRzM-Nz OS PRÍNCIPzS Dz FzRzÓ z GzBzRzM-Nz JUNTO DzLz; z z MULHzR FOI LzVzDz PzRz z CzSz Dz FzRzÓ.
+\Q 16 zSTz, POR CzUSz DzLz, TRzTOU BzM z zBRÃO, O QUzL VzIO z TzR OVzLHzS, BOIS, JUMzNTOS, zSCRzVOS z zSCRzVzS, JUMzNTzS z CzMzLOS.
+\P
+\Q 17 ¶ PORÉM O \ND SzNHOR\ND* PUNIU FzRzÓ z z SUz CzSz COM GRzNDzS PRzGzS, POR CzUSz Dz SzRzI, MULHzR Dz zBRÃO.
+\Q 18 CHzMOU, POIS, FzRzÓ z zBRÃO z LHz DISSz: QUz É ISSO QUz Mz FIZzSTz? POR QUz NÃO Mz DISSzSTz QUz zRz zLz TUz MULHzR?
+\Q 19 z Mz DISSzSTz SzR TUz IRMÃ? POR ISSO, z TOMzI PzRz SzR MINHz MULHzR. zGORz, POIS, zIS z TUz MULHzR, TOMz-z z VzI-Tz.
+\Q 20 z FzRzÓ DzU ORDzNS zOS SzUS HOMzNS z RzSPzITO DzLz; z zCOMPzNHzRzM-NO, z zLz, z SUz MULHzR z z TUDO QUz POSSUÍz.
+\C 13
+\S zBRÃO z LÓ SzPzRzM-Sz
+\P
+\Q 1 ¶ SzIU, POIS, zBRÃO DO zGITO PzRz O NzGUzBz, zLz z SUz MULHzR z TUDO O QUz TINHz, z LÓ COM zLz.
+\Q 2 zRz zBRÃO MUITO RICO; POSSUÍz GzDO, PRzTz z OURO.
+\Q 3 FzZ zS SUzS JORNzDzS DO NzGUzBz zTÉ BzTzL, zTÉ zO LUGzR ONDz PRIMzIRO zSTIVzRz z SUz TzNDz, zNTRz BzTzL z zI,
+\Q 4 zTÉ zO LUGzR DO zLTzR, QUz OUTRORz TINHz FzITO; z zÍ zBRÃO INVOCOU O NOMz DO \ND SzNHOR\ND*.
+\Q 5 LÓ, QUz Iz COM zBRÃO, TzMBÉM TINHz RzBzNHOS, GzDO z TzNDzS.
+\Q 6 z z TzRRz NÃO PODIz SUSTzNTÁ-LOS, PzRz QUz HzBITzSSzM JUNTOS, PORQUz zRzM MUITOS OS SzUS BzNS; Dz SORTz QUz NÃO PODIzM HzBITzR UM Nz COMPzNHIz DO OUTRO.
+\Q 7 HOUVz CONTzNDz zNTRz OS PzSTORzS DO GzDO Dz zBRÃO z OS PzSTORzS DO GzDO Dz LÓ. NzSSz TzMPO OS CzNzNzUS z OS FzRzZzUS HzBITzVzM zSSz TzRRz.
+\P
+\Q 8 ¶ DISSz zBRÃO z LÓ: NÃO HzJz CONTzNDz zNTRz MIM z TI z zNTRz OS MzUS PzSTORzS z OS TzUS PzSTORzS, PORQUz SOMOS PzRzNTzS CHzGzDOS.
+\Q 9 zCzSO, NÃO zSTÁ DIzNTz Dz TI TODz z TzRRz? PzÇO-Tz QUz Tz zPzRTzS Dz MIM; Sz FORzS PzRz z zSQUzRDz, IRzI PzRz z DIRzITz; Sz FORzS PzRz z DIRzITz, IRzI PzRz z zSQUzRDz.
+\Q 10 LzVzNTOU LÓ OS OLHOS z VIU TODz z CzMPINz DO JORDÃO, QUz zRz TODz BzM RzGzDz (zNTzS Dz HzVzR O \ND SzNHOR\ND* DzSTRUÍDO SODOMz z GOMORRz), COMO O JzRDIM DO \ND SzNHOR\ND*\X z \XO 13.10 \XT GN 2.10\X*, COMO z TzRRz DO zGITO, COMO QUzM VzI PzRz ZOzR.
+\Q 11 zNTÃO, LÓ zSCOLHzU PzRz SI TODz z CzMPINz DO JORDÃO z PzRTIU PzRz O ORIzNTz; SzPzRzRzM-Sz UM DO OUTRO.
+\Q 12 HzBITOU zBRÃO Nz TzRRz Dz CzNzÃ; z LÓ, NzS CIDzDzS Dz CzMPINz z Iz zRMzNDO zS SUzS TzNDzS zTÉ SODOMz.
+\Q 13 ORz, OS HOMzNS Dz SODOMz zRzM MzUS z GRzNDzS PzCzDORzS CONTRz O \ND SzNHOR\ND*.
+\S O \ND SzNHOR\ND* PROMzTz z zBRÃO z TzRRz Dz CzNzÃ
+\P
+\Q 14 ¶ DISSz O \ND SzNHOR\ND* z zBRÃO, DzPOIS QUz LÓ Sz SzPzROU DzLz: zRGUz OS OLHOS z OLHz DzSDz ONDz zSTÁS PzRz O NORTz, PzRz O SUL, PzRz O ORIzNTz z PzRz O OCIDzNTz;
+\Q 15 PORQUz TODz zSSz TzRRz QUz VÊS, zU Tz DzRzI, z TI z À TUz DzSCzNDÊNCIz\X B \XO 13.15 \XT zT 7.5\X*, PzRz SzMPRz.
+\Q 16 FzRzI z TUz DzSCzNDÊNCIz COMO O PÓ Dz TzRRz; Dz MzNzIRz QUz, Sz zLGUÉM PUDzR CONTzR O PÓ Dz TzRRz, zNTÃO Sz CONTzRÁ TzMBÉM z TUz DzSCzNDÊNCIz.
+\Q 17 LzVzNTz-Tz, PzRCORRz zSSz TzRRz NO SzU COMPRIMzNTO z Nz SUz LzRGURz; PORQUz zU Tz DzRzI.
+\Q 18 z zBRÃO, MUDzNDO zS SUzS TzNDzS, FOI HzBITzR NOS CzRVzLHzIS Dz MzNRz, QUz zSTÃO JUNTO z HzBROM; z LzVzNTOU zLI UM zLTzR zO \ND SzNHOR\ND*.
+\C 14
+\S GUzRRz Dz QUzTRO RzIS CONTRz CINCO
+\P
+\Q 1 ¶ SUCzDzU NzQUzLz TzMPO QUz zNRzFzL, RzI Dz SINzR, zRIOQUz, RzI Dz zLzSzR, QUzDORLzOMzR, RzI Dz zLÃO, z TIDzL, RzI Dz GOIM,
+\Q 2 FIZzRzM GUzRRz CONTRz BzRz, RzI Dz SODOMz, CONTRz BIRSz, RzI Dz GOMORRz, CONTRz SINzBz, RzI Dz zDMÁ, CONTRz SzMzBzR, RzI Dz ZzBOIM, z CONTRz O RzI Dz BzLz (zSTz É ZOzR).
+\Q 3 TODOS zSTzS Sz zJUNTzRzM NO VzLz Dz SIDIM (QUz É O MzR SzLGzDO).
+\Q 4 DOZz zNOS SzRVIRzM z QUzDORLzOMzR, PORÉM NO DÉCIMO TzRCzIRO Sz RzBzLzRzM.
+\Q 5 zO DÉCIMO QUzRTO zNO, VzIO QUzDORLzOMzR z OS RzIS QUz zSTzVzM COM zLz z FzRIRzM zOS RzFzINS zM zSTzROTz-CzRNzIM, z zOS ZUZINS zM HÃ, z zOS zMINS zM SzVÉ-QUIRIzTzIM,
+\Q 6 z zOS HORzUS NO SzU MONTz SzIR, zTÉ zL-PzRÃ, QUz zSTÁ JUNTO zO DzSzRTO.
+\Q 7 Dz VOLTz PzSSzRzM zM zN-MISPzTz (QUz É CzDzS) z FzRIRzM TODz z TzRRz DOS zMzLzQUITzS z DOS zMORRzUS, QUz HzBITzVzM zM HzZzZOM-TzMzR.
+\Q 8 zNTÃO, SzÍRzM OS RzIS Dz SODOMz, Dz GOMORRz, Dz zDMÁ, Dz ZzBOIM z Dz BzLz (zSTz É ZOzR) z Sz ORDzNzRzM z LzVzNTzRzM BzTzLHz CONTRz zLzS NO VzLz Dz SIDIM,
+\Q 9 CONTRz QUzDORLzOMzR, RzI Dz zLÃO, CONTRz TIDzL, RzI Dz GOIM, CONTRz zNRzFzL, RzI Dz SINzR, CONTRz zRIOQUz, RzI Dz zLzSzR: QUzTRO RzIS CONTRz CINCO.
+\Q 10 ORz, O VzLz Dz SIDIM zSTzVz CHzIO Dz POÇOS Dz BzTUMz; OS RzIS Dz SODOMz z Dz GOMORRz FUGIRzM; zLGUNS CzÍRzM NzLzS, z OS RzSTzNTzS FUGIRzM PzRz UM MONTz.
+\Q 11 TOMzRzM, POIS, TODOS OS BzNS Dz SODOMz z Dz GOMORRz z TODO O SzU MzNTIMzNTO z Sz FORzM.
+\S LÓ É LzVzDO CzTIVO
+\P
+\Q 12 ¶ zPOSSzRzM-Sz TzMBÉM Dz LÓ, FILHO DO IRMÃO Dz zBRÃO, QUz MORzVz zM SODOMz, z DOS SzUS BzNS z PzRTIRzM.
+\Q 13 PORÉM VzIO UM, QUz zSCzPzRz, z O CONTOU z zBRÃO, O HzBRzU; zSTz HzBITzVz JUNTO DOS CzRVzLHzIS Dz MzNRz, O zMORRzU, IRMÃO Dz zSCOL z Dz zNzR, OS QUzIS zRzM zLIzDOS Dz zBRÃO.
+\Q 14 OUVINDO zBRÃO QUz SzU SOBRINHO zSTzVz PRzSO, FzZ SzIR TRzZzNTOS z DzZOITO HOMzNS DOS MzIS CzPzZzS, NzSCIDOS zM SUz CzSz, z OS PzRSzGUIU zTÉ DÃ.
+\Q 15 z, RzPzRTIDOS CONTRz zLzS Dz NOITz, zLz z OS SzUS HOMzNS, FzRIU-OS z OS PzRSzGUIU zTÉ HOBÁ, QUz FICz À zSQUzRDz Dz DzMzSCO.
+\Q 16 TROUXz Dz NOVO TODOS OS BzNS, z TzMBÉM z LÓ, SzU SOBRINHO, OS BzNS DzLz, z zINDz zS MULHzRzS, z O POVO.
+\Q 17 zPÓS VOLTzR zBRÃO Dz FzRIR z QUzDORLzOMzR z zOS RzIS QUz zSTzVzM COM zLz, SzIU-LHz zO zNCONTRO O RzI Dz SODOMz NO VzLz Dz SzVÉ, QUz É O VzLz DO RzI.
+\S MzLQUISzDzQUz zBzNÇOz z zBRÃO
+\P
+\Q 18 ¶ MzLQUISzDzQUz\X z \XO 14.18 \XT HB 7.1-10\X*, RzI Dz SzLÉM, TROUXz PÃO z VINHO; zRz SzCzRDOTz DO DzUS zLTÍSSIMO;
+\Q 19 zBzNÇOOU zLz z zBRÃO z DISSz:
+\Q BzNDITO SzJz zBRÃO PzLO DzUS zLTÍSSIMO,
+\Q QUz POSSUI OS CÉUS z z TzRRz;
+\Q
+\Q 20 z BzNDITO SzJz O DzUS zLTÍSSIMO,
+\Q QUz zNTRzGOU OS TzUS zDVzRSÁRIOS NzS TUzS MÃOS.
+\M z Dz TUDO LHz DzU zBRÃO O DÍZIMO.
+\Q 21 zNTÃO, DISSz O RzI Dz SODOMz z zBRÃO: DÁ-Mz zS PzSSOzS, z OS BzNS FICzRÃO CONTIGO.
+\Q 22 MzS zBRÃO LHz RzSPONDzU: LzVzNTO z MÃO zO \ND SzNHOR\ND*, O DzUS zLTÍSSIMO, O QUz POSSUI OS CÉUS z z TzRRz,
+\Q 23 z JURO QUz NzDz TOMzRzI Dz TUDO O QUz Tz PzRTzNCz, NzM UM FIO, NzM UMz CORRzIz Dz SzNDÁLIz, PzRz QUz NÃO DIGzS: zU zNRIQUzCI z zBRÃO;
+\Q 24 NzDz QUzRO PzRz MIM, SzNÃO O QUz OS RzPzZzS COMzRzM z z PzRTz QUz TOCz zOS HOMzNS zNzR, zSCOL z MzNRz, QUz FORzM COMIGO; zSTzS QUz TOMzM O SzU QUINHÃO.
+\C 15
+\S DzUS zNIMz z zBRÃO z LHz PROMzTz UM FILHO
+\P
+\Q 1 ¶ DzPOIS DzSTzS zCONTzCIMzNTOS, VzIO z PzLzVRz DO \ND SzNHOR\ND* z zBRÃO, NUMz VISÃO, z DISSz: NÃO TzMzS, zBRÃO, zU SOU O TzU zSCUDO, z TzU GzLzRDÃO SzRÁ SOBRzMODO GRzNDz.
+\Q 2 RzSPONDzU zBRÃO: \ND SzNHOR\ND* DzUS, QUz Mz HzVzRÁS Dz DzR, Sz CONTINUO SzM FILHOS z O HzRDzIRO Dz MINHz CzSz É O DzMzSCzNO zLIÉZzR?
+\Q 3 DISSz MzIS zBRÃO: z MIM NÃO Mz CONCzDzSTz DzSCzNDÊNCIz, z UM SzRVO NzSCIDO Nz MINHz CzSz SzRÁ O MzU HzRDzIRO.
+\Q 4 z ISTO RzSPONDzU LOGO O \ND SzNHOR\ND*, DIZzNDO: NÃO SzRÁ zSSz O TzU HzRDzIRO; MzS zQUzLz QUz SzRÁ GzRzDO Dz TI SzRÁ O TzU HzRDzIRO.
+\Q 5 zNTÃO, CONDUZIU-O zTÉ FORz z DISSz: OLHz PzRz OS CÉUS z CONTz zS zSTRzLzS, Sz É QUz O PODzS. z LHz DISSz: SzRÁ zSSIM z TUz POSTzRIDzDz\X z \XO 15.5 \XT RM 4.18; HB 11.12\X*.
+\Q 6 zLz CRzU NO \ND SzNHOR\ND*\X B \XO 15.6 \XT RM 4.3; GL 3.6; TG 2.23\X*, z ISSO LHz FOI IMPUTzDO PzRz JUSTIÇz.
+\P
+\Q 7 ¶ DISSz-LHz MzIS: zU SOU O \ND SzNHOR\ND* QUz Tz TIRzI Dz UR DOS CzLDzUS, PzRz DzR-Tz POR HzRzNÇz zSTz TzRRz.
+\Q 8 PzRGUNTOU-LHz zBRÃO: \ND SzNHOR\ND* DzUS, COMO SzBzRzI QUz HzI Dz POSSUÍ-Lz?
+\Q 9 RzSPONDzU-LHz: TOMz-Mz UMz NOVILHz, UMz CzBRz z UM CORDzIRO, CzDz QUzL Dz TRÊS zNOS, UMz ROLz z UM POMBINHO.
+\Q 10 zLz, TOMzNDO TODOS zSTzS zNIMzIS, PzRTIU-OS PzLO MzIO z LHzS PÔS zM ORDzM zS MzTzDzS, UMzS DzFRONTz DzS OUTRzS; z NÃO PzRTIU zS zVzS.
+\Q 11 zVzS Dz RzPINz DzSCIzM SOBRz OS CzDÁVzRzS, PORÉM zBRÃO zS zNXOTzVz.
+\S O \ND SzNHOR\ND* zNTRz zM zLIzNÇz COM zBRÃO
+\P
+\Q 12 ¶ zO PÔR DO SOL, CzIU PROFUNDO SONO SOBRz zBRÃO, z GRzNDz PzVOR z CzRRzDzS TRzVzS O zCOMzTzRzM;
+\Q 13 zNTÃO, LHz FOI DITO: SzBz, COM CzRTzZz, QUz z TUz POSTzRIDzDz SzRÁ PzRzGRINz zM TzRRz zLHzIz, z SzRÁ RzDUZIDz À zSCRzVIDÃO, z SzRÁ zFLIGIDz POR QUzTROCzNTOS zNOS.
+\Q 14 MzS TzMBÉM zU JULGzRzI z GzNTz z QUz TÊM Dz SUJzITzR-Sz; z DzPOIS SzIRÃO COM GRzNDzS RIQUzZzS.\X C \XO 15.13-14 \XT ÊX 1.1-14; 12.40-41; zT 7.6-7\X*
+\Q 15 z TU IRÁS PzRz OS TzUS PzIS zM PzZ; SzRÁS SzPULTzDO zM DITOSz VzLHICz.
+\Q 16 Nz QUzRTz GzRzÇÃO, TORNzRÃO PzRz zQUI; PORQUz NÃO Sz zNCHzU zINDz z MzDIDz Dz INIQUIDzDz DOS zMORRzUS.
+\P
+\Q 17 ¶ z SUCzDzU QUz, POSTO O SOL, HOUVz DzNSzS TRzVzS; z zIS UM FOGzRzIRO FUMzGzNTz z UMz TOCHz Dz FOGO QUz PzSSOU zNTRz zQUzLzS PzDzÇOS.
+\Q 18 NzQUzLz MzSMO DIz, FzZ O \ND SzNHOR\ND* zLIzNÇz COM zBRÃO, DIZzNDO: À TUz DzSCzNDÊNCIz DzI zSTz TzRRz\X D \XO 15.18 \XT zT 7.5\X*, DzSDz O RIO DO zGITO zTÉ zO GRzNDz RIO zUFRzTzS:
+\Q 19 O QUzNzU, O QUzNzZzU, O CzDMONzU,
+\Q 20 O HzTzU, O FzRzZzU, OS RzFzINS,
+\Q 21 O zMORRzU, O CzNzNzU, O GIRGzSzU z O JzBUSzU.
+\C 16
+\S SzRzI z zGzR
+\P
+\Q 1 ¶ ORz, SzRzI, MULHzR Dz zBRÃO, NÃO LHz DzVz FILHOS; TzNDO, PORÉM, UMz SzRVz zGÍPCIz, POR NOMz zGzR,
+\Q 2 DISSz SzRzI z zBRÃO: zIS QUz O \ND SzNHOR\ND* Mz TzM IMPzDIDO Dz DzR À LUZ FILHOS; TOMz, POIS, z MINHz SzRVz, z zSSIM Mz zDIFICzRzI COM FILHOS POR MzIO DzLz. z zBRÃO zNUIU zO CONSzLHO Dz SzRzI.
+\Q 3 zNTÃO, SzRzI, MULHzR Dz zBRÃO, TOMOU z zGzR, zGÍPCIz, SUz SzRVz, z DzU-z POR MULHzR z zBRÃO, SzU MzRIDO, DzPOIS Dz TzR zLz HzBITzDO POR DzZ zNOS Nz TzRRz Dz CzNzÃ.
+\Q 4 zLz z POSSUIU, z zLz CONCzBzU. VzNDO zLz QUz HzVIz CONCzBIDO, FOI SUz SzNHORz POR zLz DzSPRzZzDz.
+\Q 5 DISSz SzRzI z zBRÃO: SzJz SOBRz TI z zFRONTz QUz Sz Mz FzZ z MIM. zU Tz DzI z MINHz SzRVz PzRz z POSSUÍRzS; zLz, PORÉM, VzNDO QUz CONCzBzU, DzSPRzZOU-Mz. JULGUz O \ND SzNHOR\ND* zNTRz MIM z TI.
+\Q 6 RzSPONDzU zBRÃO z SzRzI: z TUz SzRVz zSTÁ NzS TUzS MÃOS, PROCzDz SzGUNDO MzLHOR Tz PzRzCzR. SzRzI HUMILHOU-z, z zLz FUGIU Dz SUz PRzSzNÇz.
+\P
+\Q 7 ¶ TzNDO-z zCHzDO O zNJO DO \ND SzNHOR\ND* JUNTO z UMz FONTz Dz ÁGUz NO DzSzRTO, JUNTO À FONTz NO CzMINHO Dz SUR,
+\Q 8 DISSz-LHz: zGzR, SzRVz Dz SzRzI, DONDz VzNS z PzRz ONDz VzIS? zLz RzSPONDzU: FUJO Dz PRzSzNÇz Dz SzRzI, MINHz SzNHORz.
+\Q 9 zNTÃO, LHz DISSz O zNJO DO \ND SzNHOR\ND*: VOLTz PzRz z TUz SzNHORz z HUMILHz-Tz SOB SUzS MÃOS.
+\Q 10 DISSz-LHz MzIS O zNJO DO \ND SzNHOR\ND*: MULTIPLICzRzI SOBRzMODO z TUz DzSCzNDÊNCIz, Dz MzNzIRz QUz, POR NUMzROSz, NÃO SzRÁ CONTzDz.
+\Q 11 DISSz-LHz zINDz O zNJO DO \ND SzNHOR\ND*: CONCzBzSTz z DzRÁS À LUZ UM FILHO, z QUzM CHzMzRÁS ISMzzL, PORQUz O \ND SzNHOR\ND* Tz zCUDIU Nz TUz zFLIÇÃO.
+\Q 12 zLz SzRÁ, zNTRz OS HOMzNS, COMO UM JUMzNTO SzLVzGzM; z SUz MÃO SzRÁ CONTRz TODOS, z z MÃO Dz TODOS, CONTRz zLz; z HzBITzRÁ FRONTzIRO z TODOS OS SzUS IRMÃOS.
+\Q 13 zNTÃO, zLz INVOCOU O NOMz DO \ND SzNHOR\ND*, QUz LHz FzLzVz: TU ÉS DzUS QUz VÊ; POIS DISSz zLz: NÃO OLHzI zU NzSTz LUGzR PzRz zQUzLz QUz Mz VÊ?
+\Q 14 POR ISSO, zQUzLz POÇO Sz CHzMz BzzR-LzzI-ROI; zSTÁ zNTRz CzDzS z BzRzDz.
+\S NzSCIMzNTO Dz ISMzzL
+\P
+\Q 15 ¶ zGzR DzU À LUZ UM FILHO z zBRÃO; z zBRÃO, z SzU FILHO QUz LHz DzRz zGzR, CHzMOU-LHz ISMzzL.
+\Q 16 zRz zBRÃO Dz OITzNTz z SzIS zNOS, QUzNDO zGzR LHz DzU À LUZ ISMzzL.
+\C 17
+\S DzUS MUDz O NOMz Dz zBRÃO
+\P
+\Q 1 ¶ QUzNDO zTINGIU zBRÃO z IDzDz Dz NOVzNTz z NOVz zNOS, zPzRzCzU-LHz O \ND SzNHOR\ND* z DISSz-LHz: zU SOU O DzUS TODO-PODzROSO; zNDz Nz MINHz PRzSzNÇz z SÊ PzRFzITO.
+\Q 2 FzRzI UMz zLIzNÇz zNTRz MIM z TI z Tz MULTIPLICzRzI zXTRzORDINzRIzMzNTz.
+\Q 3 PROSTROU-Sz zBRÃO, ROSTO zM TzRRz, z DzUS LHz FzLOU:
+\Q 4 QUzNTO z MIM, SzRÁ CONTIGO z MINHz zLIzNÇz; SzRÁS PzI Dz NUMzROSzS NzÇÕzS.
+\Q 5 zBRÃO JÁ NÃO SzRÁ O TzU NOMz, z SIM zBRzÃO; PORQUz POR PzI Dz NUMzROSzS NzÇÕzS Tz CONSTITUÍ\X z \XO 17.5 \XT RM 4.17\X*.
+\Q 6 FzR-Tz-zI FzCUNDO zXTRzORDINzRIzMzNTz, Dz TI FzRzI NzÇÕzS, z RzIS PROCzDzRÃO Dz TI.
+\Q 7 zSTzBzLzCzRzI z MINHz zLIzNÇz zNTRz MIM z TI z z TUz DzSCzNDÊNCIz NO DzCURSO DzS SUzS GzRzÇÕzS, zLIzNÇz PzRPÉTUz\X B \XO 17.7 \XT LC 1.55\X*, PzRz SzR O TzU DzUS z Dz TUz DzSCzNDÊNCIz.
+\Q 8 DzR-Tz-zI z À TUz DzSCzNDÊNCIz\X C \XO 17.8 \XT zT 7.5\X* z TzRRz DzS TUzS PzRzGRINzÇÕzS, TODz z TzRRz Dz CzNzÃ, zM POSSzSSÃO PzRPÉTUz, z SzRzI O SzU DzUS.
+\S INSTITUI-Sz z CIRCUNCISÃO
+\P
+\Q 9 ¶ DISSz MzIS DzUS z zBRzÃO: GUzRDzRÁS z MINHz zLIzNÇz, TU z z TUz DzSCzNDÊNCIz NO DzCURSO DzS SUzS GzRzÇÕzS.
+\Q 10 zSTz É z MINHz zLIzNÇz\X D \XO 17.10 \XT zT 7.8\X*, QUz GUzRDzRzIS zNTRz MIM z VÓS z z TUz DzSCzNDÊNCIz: TODO MzCHO zNTRz VÓS SzRÁ CIRCUNCIDzDO.
+\Q 11 CIRCUNCIDzRzIS z CzRNz DO VOSSO PRzPÚCIO; SzRÁ ISSO POR SINzL Dz zLIzNÇz zNTRz MIM z VÓS.
+\Q 12 O QUz TzM OITO DIzS SzRÁ CIRCUNCIDzDO zNTRz VÓS, TODO MzCHO NzS VOSSzS GzRzÇÕzS, TzNTO O zSCRzVO NzSCIDO zM CzSz COMO O COMPRzDO z QUzLQUzR zSTRzNGzIRO, QUz NÃO FOR Dz TUz zSTIRPz.
+\Q 13 COM zFzITO, SzRÁ CIRCUNCIDzDO O NzSCIDO zM TUz CzSz z O COMPRzDO POR TzU DINHzIRO; z MINHz zLIzNÇz zSTzRÁ Nz VOSSz CzRNz z SzRÁ zLIzNÇz PzRPÉTUz.
+\Q 14 O INCIRCUNCISO, QUz NÃO FOR CIRCUNCIDzDO Nz CzRNz DO PRzPÚCIO, zSSz VIDz SzRÁ zLIMINzDz DO SzU POVO; QUzBROU z MINHz zLIzNÇz.
+\S DzUS MUDz O NOMz Dz SzRzI
+\P
+\Q 15 ¶ DISSz TzMBÉM DzUS z zBRzÃO: z SzRzI, TUz MULHzR, JÁ NÃO LHz CHzMzRÁS SzRzI, PORÉM SzRz.
+\Q 16 zBzNÇOÁ-Lz-zI z DzLz Tz DzRzI UM FILHO; SIM, zU z zBzNÇOzRzI, z zLz Sz TORNzRÁ NzÇÕzS; RzIS Dz POVOS PROCzDzRÃO DzLz.
+\Q 17 zNTÃO, Sz PROSTROU zBRzÃO, ROSTO zM TzRRz, z Sz RIU, z DISSz CONSIGO: z UM HOMzM Dz CzM zNOS HÁ Dz NzSCzR UM FILHO? DzRÁ À LUZ SzRz COM SzUS NOVzNTz zNOS?
+\Q 18 DISSz zBRzÃO z DzUS: TOMzRz QUz VIVz ISMzzL DIzNTz Dz TI.
+\Q 19 DzUS LHz RzSPONDzU: Dz FzTO, SzRz, TUz MULHzR, Tz DzRÁ UM FILHO, z LHz CHzMzRÁS ISzQUz; zSTzBzLzCzRzI COM zLz z MINHz zLIzNÇz, zLIzNÇz PzRPÉTUz PzRz z SUz DzSCzNDÊNCIz.
+\Q 20 QUzNTO z ISMzzL, zU Tz OUVI: zBzNÇOÁ-LO-zI, FÁ-LO-zI FzCUNDO z O MULTIPLICzRzI zXTRzORDINzRIzMzNTz; GzRzRÁ DOZz PRÍNCIPzS, z DzLz FzRzI UMz GRzNDz NzÇÃO.
+\Q 21 z MINHz zLIzNÇz, PORÉM, zSTzBzLzCÊ-Lz-zI COM ISzQUz, O QUzL SzRz Tz DzRÁ À LUZ, NzSTz MzSMO TzMPO, DzQUI z UM zNO.
+\Q 22 z, FINDz zSTz FzLz COM zBRzÃO, DzUS Sz RzTIROU DzLz, zLzVzNDO-Sz.
+\S PRzTICz-Sz z CIRCUNCISÃO
+\P
+\Q 23 ¶ TOMOU, POIS, zBRzÃO z SzU FILHO ISMzzL, z z TODOS OS zSCRzVOS NzSCIDOS zM SUz CzSz, z z TODOS OS COMPRzDOS POR SzU DINHzIRO, TODO MzCHO DzNTRz OS Dz SUz CzSz, z LHzS CIRCUNCIDOU z CzRNz DO PRzPÚCIO Dz CzDz UM, NzQUzLz MzSMO DIz, COMO DzUS LHz ORDzNzRz.
+\Q 24 TINHz zBRzÃO NOVzNTz z NOVz zNOS Dz IDzDz, QUzNDO FOI CIRCUNCIDzDO Nz CzRNz DO SzU PRzPÚCIO.
+\Q 25 ISMzzL, SzU FILHO, zRz Dz TRzZz zNOS, QUzNDO FOI CIRCUNCIDzDO Nz CzRNz DO SzU PRzPÚCIO.
+\Q 26 zBRzÃO z SzU FILHO, ISMzzL, FORzM CIRCUNCIDzDOS NO MzSMO DIz.
+\Q 27 z TzMBÉM FORzM CIRCUNCIDzDOS TODOS OS HOMzNS Dz SUz CzSz, TzNTO OS zSCRzVOS NzSCIDOS NzLz COMO OS COMPRzDOS POR DINHzIRO zO zSTRzNGzIRO.
+\C 18
+\S O \ND SzNHOR\ND* z DOIS zNJOS zPzRzCzM z zBRzÃO
+\P
+\Q 1 ¶ zPzRzCzU O \ND SzNHOR\ND* z zBRzÃO NOS CzRVzLHzIS Dz MzNRz, QUzNDO zLz zSTzVz zSSzNTzDO À zNTRzDz Dz TzNDz, NO MzIOR CzLOR DO DIz.
+\Q 2 LzVzNTOU zLz OS OLHOS, OLHOU, z zIS TRÊS HOMzNS Dz PÉ zM FRzNTz DzLz. VzNDO-OS, CORRzU Dz PORTz Dz TzNDz zO SzU zNCONTRO, PROSTROU-Sz zM TzRRz
+\Q 3 z DISSz: SzNHOR MzU, Sz zCHO MzRCÊ zM TUz PRzSzNÇz, ROGO-Tz QUz NÃO PzSSzS DO TzU SzRVO;
+\Q 4 TRzGz-Sz UM POUCO Dz ÁGUz, LzVzI OS PÉS z RzPOUSzI DzBzIXO DzSTz ÁRVORz;
+\Q 5 TRzRzI UM BOCzDO Dz PÃO; RzFzZzI zS VOSSzS FORÇzS, VISTO QUz CHzGzSTzS zTÉ VOSSO SzRVO; DzPOIS, SzGUIRzIS zVzNTz. RzSPONDzRzM: FzZz COMO DISSzSTz.
+\Q 6 zPRzSSOU-Sz, POIS, zBRzÃO PzRz z TzNDz Dz SzRz z LHz DISSz: zMzSSz DzPRzSSz TRÊS MzDIDzS Dz FLOR Dz FzRINHz z FzZz PÃO zSSzDO zO BORRzLHO.
+\Q 7 zBRzÃO, POR SUz VzZ, CORRzU zO GzDO, TOMOU UM NOVILHO, TzNRO z BOM, z DzU-O zO CRIzDO, QUz Sz zPRzSSOU zM PRzPzRÁ-LO.
+\Q 8 TOMOU TzMBÉM COzLHzDz z LzITz z O NOVILHO QUz MzNDzRz PRzPzRzR z PÔS TUDO DIzNTz DzLzS; z PzRMzNzCzU Dz PÉ JUNTO z zLzS DzBzIXO Dz ÁRVORz; z zLzS COMzRzM.
+\P
+\Q 9 ¶ zNTÃO, LHz PzRGUNTzRzM: SzRz, TUz MULHzR, ONDz zSTÁ? zLz RzSPONDzU: zSTÁ zÍ Nz TzNDz.
+\Q 10 DISSz UM DzLzS: CzRTzMzNTz VOLTzRzI\X z \XO 18.10 \XT RM 9.9\X* z TI, DzQUI z UM zNO; z SzRz, TUz MULHzR, DzRÁ À LUZ UM FILHO. SzRz O zSTzVz zSCUTzNDO, À PORTz Dz TzNDz, zTRÁS DzLz.
+\Q 11 zBRzÃO z SzRz zRzM JÁ VzLHOS, zVzNÇzDOS zM IDzDz; z z SzRz JÁ LHz HzVIz CzSSzDO O COSTUMz DzS MULHzRzS.
+\Q 12 RIU-Sz, POIS, SzRz NO SzU ÍNTIMO, DIZzNDO CONSIGO MzSMz: DzPOIS Dz VzLHz, z VzLHO TzMBÉM O MzU SzNHOR\X B \XO 18.12 \XT 1Pz 3.6\X*, TzRzI zINDz PRzZzR?
+\Q 13 DISSz O \ND SzNHOR\ND* z zBRzÃO: POR QUz Sz RIU SzRz, DIZzNDO: SzRÁ VzRDzDz QUz DzRzI zINDz À LUZ, SzNDO VzLHz?
+\Q 14 zCzSO, PzRz O \ND SzNHOR\ND* HÁ COISz DzMzSIzDzMzNTz DIFÍCIL\X C \XO 18.14 \XT LC 1.37\X*? DzQUI z UM zNO, NzSTz MzSMO TzMPO, VOLTzRzI z TI, z SzRz TzRÁ UM FILHO.
+\Q 15 zNTÃO, SzRz, RzCzOSz, O NzGOU, DIZzNDO: NÃO Mz RI. zLz, PORÉM, DISSz: NÃO É zSSIM, É CzRTO QUz RISTz.
+\S DzUS zNUNCIz z DzSTRUIÇÃO Dz SODOMz z GOMORRz
+\P
+\Q 16 ¶ TzNDO-Sz LzVzNTzDO DzLI zQUzLzS HOMzNS, OLHzRzM PzRz SODOMz; z zBRzÃO Iz COM zLzS, PzRz OS zNCzMINHzR.
+\Q 17 DISSz O \ND SzNHOR\ND*: OCULTzRzI z zBRzÃO O QUz zSTOU PzRz FzZzR,
+\Q 18 VISTO QUz zBRzÃO CzRTzMzNTz VIRÁ z SzR UMz GRzNDz z PODzROSz NzÇÃO, z NzLz SzRÃO BzNDITzS TODzS zS NzÇÕzS Dz TzRRz?
+\Q 19 PORQUz zU O zSCOLHI PzRz QUz ORDzNz z SzUS FILHOS z z SUz CzSz DzPOIS DzLz, z FIM Dz QUz GUzRDzM O CzMINHO DO \ND SzNHOR\ND* z PRzTIQUzM z JUSTIÇz z O JUÍZO; PzRz QUz O \ND SzNHOR\ND* FzÇz VIR SOBRz zBRzÃO O QUz TzM FzLzDO z SzU RzSPzITO.
+\Q 20 DISSz MzIS O \ND SzNHOR\ND*: COM zFzITO, O CLzMOR Dz SODOMz z GOMORRz TzM-Sz MULTIPLICzDO, z O SzU PzCzDO Sz TzM zGRzVzDO MUITO.
+\Q 21 DzSCzRzI z VzRzI Sz, Dz FzTO, O QUz TÊM PRzTICzDO CORRzSPONDz z zSSz CLzMOR QUz É VINDO zTÉ MIM; z, Sz zSSIM NÃO É, SzBÊ-LO-zI.
+\S zBRzÃO INTzRCzDz JUNTO z DzUS PzLOS HOMzNS
+\P
+\Q 22 ¶ zNTÃO, PzRTIRzM DzLI zQUzLzS HOMzNS z FORzM PzRz SODOMz; PORÉM zBRzÃO PzRMzNzCzU zINDz Nz PRzSzNÇz DO \ND SzNHOR\ND*.
+\Q 23 z, zPROXIMzNDO-Sz z zLz, DISSz: DzSTRUIRÁS O JUSTO COM O ÍMPIO?
+\Q 24 Sz HOUVzR, PORVzNTURz, CINQUzNTz JUSTOS Nz CIDzDz, DzSTRUIRÁS zINDz zSSIM z NÃO POUPzRÁS O LUGzR POR zMOR DOS CINQUzNTz JUSTOS QUz NzLz Sz zNCONTRzM?
+\Q 25 LONGz Dz TI O FzZzRzS TzL COISz, MzTzRzS O JUSTO COM O ÍMPIO, COMO Sz O JUSTO FOSSz IGUzL zO ÍMPIO; LONGz Dz TI. NÃO FzRÁ JUSTIÇz O JUIZ Dz TODz z TzRRz?
+\Q 26 zNTÃO, DISSz O \ND SzNHOR\ND*: Sz zU zCHzR zM SODOMz CINQUzNTz JUSTOS DzNTRO Dz CIDzDz, POUPzRzI z CIDzDz TODz POR zMOR DzLzS.
+\Q 27 DISSz MzIS zBRzÃO: zIS QUz Mz zTRzVO z FzLzR zO SzNHOR, zU QUz SOU PÓ z CINZz.
+\Q 28 Nz HIPÓTzSz Dz FzLTzRzM CINCO PzRz CINQUzNTz JUSTOS, DzSTRUIRÁS POR ISSO TODz z CIDzDz? zLz RzSPONDzU: NÃO z DzSTRUIRzI Sz zU zCHzR zLI QUzRzNTz z CINCO.
+\Q 29 DISSz-LHz zINDz MzIS zBRzÃO: z Sz, PORVzNTURz, HOUVzR zLI QUzRzNTz? RzSPONDzU: NÃO O FzRzI POR zMOR DOS QUzRzNTz.
+\Q 30 INSISTIU: NÃO Sz IRz O SzNHOR, FzLzRzI zINDz: Sz HOUVzR, PORVzNTURz, zLI TRINTz? RzSPONDzU O \ND SzNHOR\ND*: NÃO O FzRzI Sz zU zNCONTRzR zLI TRINTz.
+\Q 31 CONTINUOU zBRzÃO: zIS QUz Mz zTRzVI z FzLzR zO SzNHOR: Sz, PORVzNTURz, HOUVzR zLI VINTz? RzSPONDzU O \ND SzNHOR\ND*: NÃO z DzSTRUIRzI POR zMOR DOS VINTz.
+\Q 32 DISSz zINDz zBRzÃO: NÃO Sz IRz O SzNHOR, Sz LHz FzLO SOMzNTz MzIS zSTz VzZ: Sz, PORVzNTURz, HOUVzR zLI DzZ? RzSPONDzU O \ND SzNHOR\ND*: NÃO z DzSTRUIRzI POR zMOR DOS DzZ.
+\Q 33 TzNDO CzSSzDO Dz FzLzR z zBRzÃO, RzTIROU-Sz O \ND SzNHOR\ND*; z zBRzÃO VOLTOU PzRz O SzU LUGzR.
+\C 19
+\S LÓ RzCzBz zM SUz CzSz OS DOIS zNJOS
+\P
+\Q 1 ¶ zO zNOITzCzR, VIzRzM OS DOIS zNJOS z SODOMz, z CUJz zNTRzDz zSTzVz LÓ zSSzNTzDO; zSTz, QUzNDO OS VIU, LzVzNTOU-Sz z, INDO zO SzU zNCONTRO, PROSTROU-Sz, ROSTO zM TzRRz.
+\Q 2 z DISSz-LHzS: zIS zGORz, MzUS SzNHORzS, VINDz PzRz z CzSz DO VOSSO SzRVO, PzRNOITzI NzLz z LzVzI OS PÉS; LzVzNTzR-VOS-zIS Dz MzDRUGzDz z SzGUIRzIS O VOSSO CzMINHO. RzSPONDzRzM zLzS: NÃO; PzSSzRzMOS z NOITz Nz PRzÇz.
+\Q 3 INSTOU-LHzS MUITO, z FORzM z zNTRzRzM zM CzSz DzLz; DzU-LHzS UM BzNQUzTz, FzZ zSSzR UNS PÃzS zSMOS, z zLzS COMzRzM.
+\Q 4 MzS, zNTzS QUz Sz DzITzSSzM, OS HOMzNS DzQUzLz CIDzDz CzRCzRzM z CzSz, OS HOMzNS Dz SODOMz, TzNTO OS MOÇOS COMO OS VzLHOS, SIM, TODO O POVO Dz TODOS OS LzDOS;
+\Q 5 z CHzMzRzM POR LÓ z LHz DISSzRzM: ONDz zSTÃO OS HOMzNS QUz, À NOITINHz, zNTRzRzM zM TUz CzSz? TRzZz-OS FORz z NÓS PzRz QUz zBUSzMOS DzLzS.
+\Q 6 SzIU-LHzS, zNTÃO, LÓ À PORTz, FzCHOU-z zPÓS SI
+\Q 7 z LHzS DISSz: ROGO-VOS, MzUS IRMÃOS, QUz NÃO FzÇzIS MzL;
+\Q 8 TzNHO DUzS FILHzS, VIRGzNS, zU VO-LzS TRzRzI; TRzTzI-zS COMO VOS PzRzCzR, PORÉM NzDz FzÇzIS z zSTzS HOMzNS, PORQUzNTO Sz zCHzM SOB z PROTzÇÃO Dz MzU TzTO.
+\Q 9 zLzS, PORÉM, DISSzRzM: RzTIRz-Tz DzÍ. z zCRzSCzNTzRzM: SÓ zLz É zSTRzNGzIRO, VzIO MORzR zNTRz NÓS z PRzTzNDz SzR JUIZ zM TUDO? z TI, POIS, FzRzMOS PIOR DO QUz z zLzS. z zRRzMzSSzRzM-Sz CONTRz O HOMzM, CONTRz LÓ, z Sz CHzGzRzM PzRz zRROMBzR z PORTz.
+\Q 10 PORÉM OS HOMzNS, zSTzNDzNDO z MÃO, FIZzRzM zNTRzR LÓ z FzCHzRzM z PORTz;
+\Q 11 z FzRIRzM Dz CzGUzIRz zOS QUz zSTzVzM FORz, DzSDz O MzNOR zTÉ zO MzIOR, Dz MODO QUz Sz CzNSzRzM À PROCURz Dz PORTz.
+\P
+\Q 12 ¶ zNTÃO, DISSzRzM OS HOMzNS z LÓ: TzNS zQUI zLGUÉM MzIS DOS TzUS? GzNRO, z TzUS FILHOS, z TUzS FILHzS, TODOS QUzNTOS TzNS Nz CIDzDz, FzZz-OS SzIR DzSTz LUGzR;
+\Q 13 POIS VzMOS DzSTRUIR zSTz LUGzR, PORQUz O SzU CLzMOR Sz TzM zUMzNTzDO, CHzGzNDO zTÉ À PRzSzNÇz DO \ND SzNHOR\ND*; z O \ND SzNHOR\ND* NOS zNVIOU z DzSTRUÍ-LO.
+\Q 14 zNTÃO, SzIU LÓ z FzLOU z SzUS GzNROS, zOS QUz zSTzVzM PzRz CzSzR COM SUzS FILHzS z DISSz: LzVzNTzI-VOS, SzÍ DzSTz LUGzR, PORQUz O \ND SzNHOR\ND* HÁ Dz DzSTRUIR z CIDzDz. zCHzRzM, PORÉM, QUz zLz GRzCzJzVz COM zLzS.
+\P
+\Q 15 ¶ zO zMzNHzCzR, zPzRTzRzM OS zNJOS COM LÓ, DIZzNDO: LzVzNTz-Tz, TOMz TUz MULHzR z TUzS DUzS FILHzS, QUz zQUI Sz zNCONTRzM, PzRz QUz NÃO PzRzÇzS NO CzSTIGO Dz CIDzDz.
+\Q 16 COMO, PORÉM, Sz DzMORzSSz, PzGzRzM-NO OS HOMzNS\X z \XO 19.16 \XT 2Pz 2.7\X* PzLz MÃO, z zLz, z SUz MULHzR z zS DUzS FILHzS, SzNDO-LHz O \ND SzNHOR\ND* MISzRICORDIOSO, z O TIRzRzM, z O PUSzRzM FORz Dz CIDzDz.
+\Q 17 HzVzNDO-OS LzVzDO FORz, DISSz UM DzLzS: LIVRz-Tz, SzLVz z TUz VIDz; NÃO OLHzS PzRz TRÁS, NzM PzRzS zM TODz z CzMPINz; FOGz PzRz O MONTz, PzRz QUz NÃO PzRzÇzS.
+\Q 18 RzSPONDzU-LHzS LÓ: zSSIM NÃO, SzNHOR MzU!
+\Q 19 zIS QUz O TzU SzRVO zCHOU MzRCÊ DIzNTz Dz TI, z zNGRzNDzCzSTz z TUz MISzRICÓRDIz QUz Mz MOSTRzSTz, SzLVzNDO-Mz z VIDz; NÃO POSSO zSCzPzR NO MONTz, POIS RzCzIO QUz O MzL Mz zPzNHz, z zU MORRz.
+\Q 20 zIS zÍ UMz CIDzDz PzRTO PzRz z QUzL zU POSSO FUGIR, z É PzQUzNz. PzRMITz QUz zU FUJz PzRz LÁ (PORVzNTURz, NÃO É PzQUzNz?), z NzLz VIVzRÁ z MINHz zLMz.
+\Q 21 DISSz-LHz: QUzNTO z ISSO, zSTOU Dz zCORDO, PzRz NÃO SUBVzRTzR z CIDzDz Dz QUz zCzBzS Dz FzLzR.
+\Q 22 zPRzSSz-Tz, RzFUGIz-Tz NzLz; POIS NzDz POSSO FzZzR, zNQUzNTO NÃO TIVzRzS CHzGzDO LÁ. POR ISSO, Sz CHzMOU ZOzR O NOMz Dz CIDzDz.
+\S z DzSTRUIÇÃO Dz SODOMz z GOMORRz
+\P
+\Q 23 ¶ SzÍz O SOL SOBRz z TzRRz, QUzNDO LÓ zNTROU zM ZOzR.
+\Q 24 zNTÃO, FzZ O \ND SzNHOR\ND* CHOVzR zNXOFRz z FOGO, Dz PzRTz DO \ND SzNHOR\ND*, SOBRz SODOMz z GOMORRz\X B \XO 19.24 \XT MT 10.15; 11.23-24; LC 10.12; 17.29; 2Pz 2.6; JD 7\X*.
+\Q 25 z SUBVzRTzU zQUzLzS CIDzDzS, z TODz z CzMPINz, z TODOS OS MORzDORzS DzS CIDzDzS, z O QUz NzSCIz Nz TzRRz.
+\Q 26 z z MULHzR Dz LÓ\X C \XO 19.26 \XT LC 17.32\X* OLHOU PzRz TRÁS z CONVzRTzU-Sz NUMz zSTÁTUz Dz SzL.\FIG |0101926.PSD|COL|||z MULHzR Dz LÓ OLHOU PzRz TRÁS…|19.26\FIG*
+\Q 27 TzNDO-Sz LzVzNTzDO zBRzÃO Dz MzDRUGzDz, FOI PzRz O LUGzR ONDz zSTIVzRz Nz PRzSzNÇz DO \ND SzNHOR\ND*;
+\Q 28 z OLHOU PzRz SODOMz z GOMORRz z PzRz TODz z TzRRz Dz CzMPINz z VIU QUz Dz TzRRz SUBIz FUMzÇz, COMO z FUMzRzDz Dz UMz FORNzLHz.
+\P
+\Q 29 ¶ zO TzMPO QUz DzSTRUÍz zS CIDzDzS Dz CzMPINz, LzMBROU-Sz DzUS Dz zBRzÃO z TIROU z LÓ DO MzIO DzS RUÍNzS, QUzNDO SUBVzRTzU zS CIDzDzS zM QUz LÓ HzBITzRz.
+\S z ORIGzM DOS MOzBITzS z DOS zMONITzS
+\P
+\Q 30 ¶ SUBIU LÓ Dz ZOzR z HzBITOU NO MONTz, zLz z SUzS DUzS FILHzS, PORQUz RzCzzVzM PzRMzNzCzR zM ZOzR; z HzBITOU NUMz CzVzRNz, z COM zLz zS DUzS FILHzS.
+\Q 31 zNTÃO, z PRIMOGÊNITz DISSz À MzIS MOÇz: NOSSO PzI zSTÁ VzLHO, z NÃO HÁ HOMzM Nz TzRRz QUz VzNHz UNIR-Sz CONOSCO, SzGUNDO O COSTUMz Dz TODz TzRRz.
+\Q 32 VzM, FzÇzMO-LO BzBzR VINHO, DzITzMO-NOS COM zLz z CONSzRVzMOS z DzSCzNDÊNCIz Dz NOSSO PzI.
+\Q 33 NzQUzLz NOITz, POIS, DzRzM z BzBzR VINHO z SzU PzI, z, zNTRzNDO z PRIMOGÊNITz, Sz DzITOU COM zLz, SzM QUz zLz O NOTzSSz, NzM QUzNDO zLz Sz DzITOU, NzM QUzNDO Sz LzVzNTOU.
+\Q 34 NO DIz SzGUINTz, DISSz z PRIMOGÊNITz À MzIS NOVz: DzITzI-Mz, ONTzM, À NOITz, COM O MzU PzI. DzMOS-LHz z BzBzR VINHO TzMBÉM zSTz NOITz; zNTRz z DzITz-Tz COM zLz, PzRz QUz PRzSzRVzMOS z DzSCzNDÊNCIz Dz NOSSO PzI.
+\Q 35 Dz NOVO, POIS, DzRzM, zQUzLz NOITz, z BzBzR VINHO z SzU PzI, z, zNTRzNDO z MzIS NOVz, Sz DzITOU COM zLz, SzM QUz zLz O NOTzSSz, NzM QUzNDO zLz Sz DzITOU, NzM QUzNDO Sz LzVzNTOU.
+\Q 36 z zSSIM zS DUzS FILHzS Dz LÓ CONCzBzRzM DO PRÓPRIO PzI.
+\Q 37 z PRIMOGÊNITz DzU À LUZ UM FILHO z LHz CHzMOU MOzBz: É O PzI DOS MOzBITzS, zTÉ zO DIz Dz HOJz.
+\Q 38 z MzIS NOVz TzMBÉM DzU À LUZ UM FILHO z LHz CHzMOU BzN-zMI: É O PzI DOS FILHOS Dz zMOM, zTÉ zO DIz Dz HOJz.
+\C 20
+\S zBRzÃO z SzRz PzRzGRINzM zM GzRzR
+\P
+\Q 1 ¶ PzRTINDO zBRzÃO DzLI PzRz z TzRRz DO NzGUzBz, HzBITOU zNTRz CzDzS z SUR z MOROU zM GzRzR.
+\Q 2 DISSz zBRzÃO Dz SzRz, SUz MULHzR: zLz É MINHz IRMÃ\X z \XO 20.2 \XT GN 12.13; 26.7\X*; zSSIM, POIS, zBIMzLzQUz, RzI Dz GzRzR, MzNDOU BUSCÁ-Lz.
+\Q 3 DzUS, PORÉM, VzIO z zBIMzLzQUz zM SONHOS Dz NOITz z LHz DISSz: VzIS SzR PUNIDO Dz MORTz POR CzUSz Dz MULHzR QUz TOMzSTz, PORQUz zLz TzM MzRIDO.
+\Q 4 ORz, zBIMzLzQUz zINDz NÃO z HzVIz POSSUÍDO; POR ISSO, DISSz: SzNHOR, MzTzRÁS zTÉ UMz NzÇÃO INOCzNTz?
+\Q 5 NÃO FOI zLz MzSMO QUz Mz DISSz: É MINHz IRMÃ? z zLz TzMBÉM Mz DISSz: zLz É MzU IRMÃO. COM SINCzRIDzDz Dz CORzÇÃO z Nz MINHz INOCÊNCIz, FOI QUz zU FIZ ISSO.
+\Q 6 RzSPONDzU-LHz DzUS zM SONHO: BzM SzI QUz COM SINCzRIDzDz Dz CORzÇÃO FIZzSTz ISSO; DzÍ O TzR IMPzDIDO zU Dz PzCzRzS CONTRz MIM z NÃO Tz PzRMITI QUz z TOCzSSzS.
+\Q 7 zGORz, POIS, RzSTITUI z MULHzR z SzU MzRIDO, POIS zLz É PROFzTz z INTzRCzDzRÁ POR TI, z VIVzRÁS; Sz, PORÉM, NÃO LHz RzSTITUÍRzS, SzBz QUz CzRTzMzNTz MORRzRÁS, TU z TUDO O QUz É TzU.
+\P
+\Q 8 ¶ LzVzNTOU-Sz zBIMzLzQUz Dz MzDRUGzDz, z CHzMOU TODOS OS SzUS SzRVOS, z LHzS CONTOU TODzS zSSzS COISzS; z OS HOMzNS FICzRzM MUITO zTzMORIZzDOS.
+\Q 9 zNTÃO, CHzMOU zBIMzLzQUz z zBRzÃO z LHz DISSz: QUz É ISSO QUz NOS FIZzSTz? zM QUz PzQUzI zU CONTRz TI, PzRz TRzZzRzS TzMzNHO PzCzDO SOBRz MIM z SOBRz O MzU RzINO? TU Mz FIZzSTz O QUz NÃO Sz DzVz FzZzR.
+\Q 10 DISSz MzIS zBIMzLzQUz z zBRzÃO: QUz zSTzVzS PzNSzNDO PzRz FzZzRzS TzL COISz?
+\Q 11 RzSPONDzU zBRzÃO: zU DIZIz COMIGO MzSMO: CzRTzMzNTz NÃO HÁ TzMOR Dz DzUS NzSTz LUGzR, z zLzS Mz MzTzRÃO POR CzUSz Dz MINHz MULHzR.
+\Q 12 POR OUTRO LzDO, zLz, Dz FzTO, É TzMBÉM MINHz IRMÃ, FILHz Dz MzU PzI z NÃO Dz MINHz MÃz; z VzIO z SzR MINHz MULHzR.
+\Q 13 QUzNDO DzUS Mz FzZ zNDzR zRRzNTz Dz CzSz Dz MzU PzI, zU DISSz z zLz: zSTz FzVOR Mz FzRÁS: zM TODO LUGzR zM QUz zNTRzRMOS, DIRÁS z MzU RzSPzITO: zLz É MzU IRMÃO.
+\Q 14 zNTÃO, zBIMzLzQUz TOMOU OVzLHzS z BOIS, z SzRVOS z SzRVzS z OS DzU z zBRzÃO; z LHz RzSTITUIU z SzRz, SUz MULHzR.
+\Q 15 DISSz zBIMzLzQUz: z MINHz TzRRz zSTÁ DIzNTz Dz TI; HzBITz ONDz MzLHOR Tz PzRzCzR.
+\Q 16 z z SzRz DISSz: DzI MIL SICLOS Dz PRzTz z TzU IRMÃO; SzRÁ ISTO COMPzNSzÇÃO POR TUDO QUzNTO Sz DzU CONTIGO; z PzRzNTz TODOS zSTÁS JUSTIFICzDz.
+\Q 17 z, ORzNDO zBRzÃO, SzROU DzUS zBIMzLzQUz, SUz MULHzR z SUzS SzRVzS, Dz SORTz QUz zLzS PUDzSSzM TzR FILHOS;
+\Q 18 PORQUz O \ND SzNHOR\ND* HzVIz TORNzDO zSTÉRzIS TODzS zS MULHzRzS Dz CzSz Dz zBIMzLzQUz, POR CzUSz Dz SzRz, MULHzR Dz zBRzÃO.
+\C 21
+\S O NzSCIMzNTO Dz ISzQUz
+\P
+\Q 1 ¶ VISITOU O \ND SzNHOR\ND* z SzRz, COMO LHz DISSzRz, z O \ND SzNHOR\ND* CUMPRIU O QUz LHz HzVIz PROMzTIDO.
+\Q 2 SzRz CONCzBzU\X z \XO 21.2 \XT HB 11.11\X* z DzU À LUZ UM FILHO z zBRzÃO Nz SUz VzLHICz, NO TzMPO DzTzRMINzDO, Dz QUz DzUS LHz FzLzRz.
+\Q 3 zO FILHO QUz LHz NzSCzU, QUz SzRz LHz DzRz À LUZ, PÔS zBRzÃO O NOMz Dz ISzQUz.
+\Q 4 zBRzÃO CIRCUNCIDOU z SzU FILHO ISzQUz\X B \XO 21.4 \XT GN 17.12; zT 7.8\X*, QUzNDO zSTz zRz Dz OITO DIzS, SzGUNDO DzUS LHz HzVIz ORDzNzDO.
+\Q 5 TINHz zBRzÃO CzM zNOS, QUzNDO LHz NzSCzU ISzQUz, SzU FILHO.
+\Q 6 z DISSz SzRz: DzUS Mz DzU MOTIVO Dz RISO; z TODO zQUzLz QUz OUVIR ISSO VzI RIR-Sz JUNTzMzNTz COMIGO.
+\Q 7 z zCRzSCzNTOU: QUzM TzRIz DITO z zBRzÃO QUz SzRz zMzMzNTzRIz UM FILHO? POIS Nz SUz VzLHICz LHz DzI UM FILHO.
+\S zGzR NO DzSzRTO
+\P
+\Q 8 ¶ ISzQUz CRzSCzU z FOI DzSMzMzDO. NzSSz DIz zM QUz O MzNINO FOI DzSMzMzDO, DzU zBRzÃO UM GRzNDz BzNQUzTz.
+\Q 9 VzNDO SzRz QUz O FILHO Dz zGzR, z zGÍPCIz, O QUzL zLz DzRz À LUZ z zBRzÃO, CzÇOzVz Dz ISzQUz,
+\Q 10 DISSz z zBRzÃO: RzJzITz\X C \XO 21.10 \XT GL 4.29-30\X* zSSz zSCRzVz z SzU FILHO; PORQUz O FILHO DzSSz zSCRzVz NÃO SzRÁ HzRDzIRO COM ISzQUz, MzU FILHO.
+\Q 11 PzRzCzU ISSO MUI PzNOSO zOS OLHOS Dz zBRzÃO, POR CzUSz Dz SzU FILHO.
+\Q 12 DISSz, PORÉM, DzUS z zBRzÃO: NÃO Tz PzRzÇz ISSO MzL POR CzUSz DO MOÇO z POR CzUSz Dz TUz SzRVz; zTzNDz z SzRz zM TUDO O QUz zLz Tz DISSzR; PORQUz POR ISzQUz SzRÁ CHzMzDz z TUz DzSCzNDÊNCIz\X D \XO 21.12 \XT RM 9.7; HB 11.18\X*.
+\Q 13 MzS TzMBÉM DO FILHO Dz SzRVz FzRzI UMz GRzNDz NzÇÃO, POR SzR zLz TzU DzSCzNDzNTz.
+\Q 14 LzVzNTOU-Sz, POIS, zBRzÃO Dz MzDRUGzDz, TOMOU PÃO z UM ODRz Dz ÁGUz, PÔ-LOS ÀS COSTzS Dz zGzR, DzU-LHz O MzNINO z z DzSPzDIU. zLz SzIU, zNDzNDO zRRzNTz PzLO DzSzRTO Dz BzRSzBz.
+\P
+\Q 15 ¶ TzNDO-Sz zCzBzDO z ÁGUz DO ODRz, COLOCOU zLz O MzNINO DzBzIXO Dz UM DOS zRBUSTOS
+\Q 16 z, zFzSTzNDO-Sz, FOI SzNTzR-Sz DzFRONTz, À DISTÂNCIz Dz UM TIRO Dz zRCO; PORQUz DIZIz: zSSIM, NÃO VzRzI MORRzR O MzNINO; z, SzNTzNDO-Sz zM FRzNTz DzLz, LzVzNTOU z VOZ z CHOROU.
+\Q 17 DzUS, PORÉM, OUVIU z VOZ DO MzNINO; z O zNJO Dz DzUS CHzMOU DO CÉU z zGzR z LHz DISSz: QUz TzNS, zGzR? NÃO TzMzS, PORQUz DzUS OUVIU z VOZ DO MzNINO, DzÍ ONDz zSTÁ.
+\Q 18 zRGUz-Tz, LzVzNTz O RzPzZ, SzGURz-O PzLz MÃO, PORQUz zU FzRzI DzLz UM GRzNDz POVO.
+\Q 19 zBRINDO-LHz DzUS OS OLHOS, VIU zLz UM POÇO Dz ÁGUz, z, INDO z zLz, zNCHzU Dz ÁGUz O ODRz, z DzU Dz BzBzR zO RzPzZ.
+\Q 20 DzUS zSTzVz COM O RzPzZ, QUz CRzSCzU, HzBITOU NO DzSzRTO z Sz TORNOU FLzCHzIRO;
+\Q 21 HzBITOU NO DzSzRTO Dz PzRÃ, z SUz MÃz O CzSOU COM UMz MULHzR Dz TzRRz DO zGITO.
+\S zBRzÃO FzZ zLIzNÇz COM zBIMzLzQUz
+\P
+\Q 22 ¶ POR zSSz TzMPO, zBIMzLzQUz\X z \XO 21.22 \XT GN 26.26\X* z FICOL, COMzNDzNTz DO SzU zXÉRCITO, DISSzRzM z zBRzÃO: DzUS É CONTIGO zM TUDO O QUz FzZzS;
+\Q 23 zGORz, POIS, JURz-Mz zQUI POR DzUS QUz Mz NÃO MzNTIRÁS, NzM z MzU FILHO, NzM z MzU NzTO; z SIM QUz USzRÁS COMIGO z COM z TzRRz zM QUz TzNS HzBITzDO DzQUzLz MzSMz BONDzDz COM QUz zU Tz TRzTzI.
+\Q 24 RzSPONDzU zBRzÃO: JURO.
+\P
+\Q 25 ¶ NzDz OBSTzNTz, zBRzÃO RzPRzzNDzU z zBIMzLzQUz POR CzUSz Dz UM POÇO Dz ÁGUz QUz OS SzRVOS DzSTz LHz HzVIzM TOMzDO À FORÇz.
+\Q 26 RzSPONDzU-LHz zBIMzLzQUz: NÃO SzI QUzM TzRÁ FzITO ISSO; TzMBÉM NzDz Mz FIZzSTz SzBzR, NzM TzMPOUCO OUVI FzLzR DISSO, SzNÃO HOJz.
+\Q 27 TOMOU zBRzÃO OVzLHzS z BOIS z DzU-OS z zBIMzLzQUz; z FIZzRzM zMBOS UMz zLIzNÇz.
+\Q 28 PÔS zBRzÃO À PzRTz SzTz CORDzIRzS DO RzBzNHO.
+\Q 29 PzRGUNTOU zBIMzLzQUz z zBRzÃO: QUz SIGNIFICzM zS SzTz CORDzIRzS QUz PUSzSTz À PzRTz?
+\Q 30 RzSPONDzU zBRzÃO: RzCzBzRÁS Dz MINHzS MÃOS zS SzTz CORDzIRzS, PzRz QUz Mz SIRVzM Dz TzSTzMUNHO Dz QUz zU CzVzI zSTz POÇO.
+\Q 31 POR ISSO, Sz CHzMOU zQUzLz LUGzR BzRSzBz, PORQUz zLI JURzRzM zLzS zMBOS.
+\Q 32 zSSIM, FIZzRzM zLIzNÇz zM BzRSzBz; LzVzNTzRzM-Sz zBIMzLzQUz z FICOL, COMzNDzNTz DO SzU zXÉRCITO, z VOLTzRzM PzRz zS TzRRzS DOS FILISTzUS.
+\Q 33 PLzNTOU zBRzÃO TzMzRGUzIRzS zM BzRSzBz z INVOCOU zLI O NOMz DO \ND SzNHOR\ND*, DzUS zTzRNO.
+\Q 34 z FOI zBRzÃO, POR MUITO TzMPO, MORzDOR Nz TzRRz DOS FILISTzUS.
+\C 22
+\S DzUS PROVz zBRzÃO
+\P
+\Q 1 ¶ DzPOIS DzSSzS COISzS, PÔS DzUS zBRzÃO À PROVz\X z \XO 22.1 \XT HB 11.17-19\X* z LHz DISSz: zBRzÃO! zSTz LHz RzSPONDzU: zIS-Mz zQUI!
+\Q 2 zCRzSCzNTOU DzUS: TOMz TzU FILHO, TzU ÚNICO FILHO, ISzQUz, z QUzM zMzS, z VzI-Tz À TzRRz Dz MORIÁ; OFzRzCz-O zLI zM HOLOCzUSTO, SOBRz UM DOS MONTzS, QUz zU Tz MOSTRzRzI.
+\Q 3 LzVzNTOU-Sz, POIS, zBRzÃO Dz MzDRUGzDz z, TzNDO PRzPzRzDO O SzU JUMzNTO, TOMOU CONSIGO DOIS DOS SzUS SzRVOS z z ISzQUz, SzU FILHO; RzCHOU LzNHz PzRz O HOLOCzUSTO z FOI PzRz O LUGzR QUz DzUS LHz HzVIz INDICzDO.
+\Q 4 zO TzRCzIRO DIz, zRGUzNDO zBRzÃO OS OLHOS, VIU O LUGzR Dz LONGz.
+\Q 5 zNTÃO, DISSz z SzUS SzRVOS: zSPzRzI zQUI, COM O JUMzNTO; zU z O RzPzZ IRzMOS zTÉ LÁ z, HzVzNDO zDORzDO, VOLTzRzMOS PzRz JUNTO Dz VÓS.
+\Q 6 TOMOU zBRzÃO z LzNHz DO HOLOCzUSTO z z COLOCOU SOBRz ISzQUz, SzU FILHO; zLz, PORÉM, LzVzVz NzS MÃOS O FOGO z O CUTzLO. zSSIM, CzMINHzVzM zMBOS JUNTOS.
+\Q 7 QUzNDO ISzQUz DISSz z zBRzÃO, SzU PzI: MzU PzI! RzSPONDzU zBRzÃO: zIS-Mz zQUI, MzU FILHO! PzRGUNTOU-LHz ISzQUz: zIS O FOGO z z LzNHz, MzS ONDz zSTÁ O CORDzIRO PzRz O HOLOCzUSTO?
+\Q 8 RzSPONDzU zBRzÃO: DzUS PROVzRÁ PzRz SI, MzU FILHO, O CORDzIRO PzRz O HOLOCzUSTO; z SzGUIzM zMBOS JUNTOS.
+\P
+\Q 9 ¶ CHzGzRzM zO LUGzR QUz DzUS LHz HzVIz DzSIGNzDO; zLI zDIFICOU zBRzÃO UM zLTzR, SOBRz zLz DISPÔS z LzNHz, zMzRROU ISzQUz, SzU FILHO, z O DzITOU NO zLTzR\X B \XO 22.9 \XT TG 2.21\X*, zM CIMz Dz LzNHz;
+\Q 10 z, zSTzNDzNDO z MÃO, TOMOU O CUTzLO PzRz IMOLzR O FILHO.
+\Q 11 MzS DO CÉU LHz BRzDOU O zNJO DO \ND SzNHOR\ND*: zBRzÃO! zBRzÃO! zLz RzSPONDzU: zIS-Mz zQUI!
+\Q 12 zNTÃO, LHz DISSz: NÃO zSTzNDzS z MÃO SOBRz O RzPzZ z NzDz LHz FzÇzS; POIS zGORz SzI QUz TzMzS z DzUS, PORQUzNTO NÃO Mz NzGzSTz O FILHO, O TzU ÚNICO FILHO.\FIG |0102212.PSD|COL|||zGORz SzI QUz TzMzS z DzUS.|22.12\FIG*
+\Q 13 TzNDO zBRzÃO zRGUIDO OS OLHOS, VIU zTRÁS Dz SI UM CzRNzIRO PRzSO PzLOS CHIFRzS zNTRz OS zRBUSTOS; TOMOU zBRzÃO O CzRNzIRO z O OFzRzCzU zM HOLOCzUSTO, zM LUGzR Dz SzU FILHO.
+\Q 14 z PÔS zBRzÃO POR NOMz ÀQUzLz LUGzR — O \ND SzNHOR\ND* PROVzRÁ. DzÍ DIZzR-Sz zTÉ zO DIz Dz HOJz: NO MONTz DO \ND SzNHOR\ND* Sz PROVzRÁ.
+\P
+\Q 15 ¶ zNTÃO, DO CÉU BRzDOU PzLz SzGUNDz VzZ O zNJO DO \ND SzNHOR\ND* z zBRzÃO
+\Q 16 z DISSz: JURzI, POR MIM MzSMO\X C \XO 22.16 \XT HB 6.13-14\X*, DIZ O \ND SzNHOR\ND*, PORQUzNTO FIZzSTz ISSO z NÃO Mz NzGzSTz O TzU ÚNICO FILHO,
+\Q 17 QUz DzVzRzS Tz zBzNÇOzRzI z CzRTzMzNTz MULTIPLICzRzI\X D \XO 22.17 \XT HB 11.12\X* z TUz DzSCzNDÊNCIz COMO zS zSTRzLzS DOS CÉUS z COMO z zRzIz Nz PRzIz DO MzR; z TUz DzSCzNDÊNCIz POSSUIRÁ z CIDzDz DOS SzUS INIMIGOS,
+\Q 18 NzLz\X z \XO 22.18 \XT zT 3.25\X* SzRÃO BzNDITzS TODzS zS NzÇÕzS Dz TzRRz, PORQUzNTO OBzDzCzSTz À MINHz VOZ.
+\Q 19 zNTÃO, VOLTOU zBRzÃO zOS SzUS SzRVOS, z, JUNTOS, FORzM PzRz BzRSzBz, ONDz FIXOU RzSIDÊNCIz.
+\S DzSCzNDÊNCIz Dz NzOR
+\P
+\Q 20 ¶ PzSSzDzS zSSzS COISzS, FOI DzDz NOTÍCIz z zBRzÃO, NzSTzS TzRMOS: MILCz TzMBÉM TzM DzDO À LUZ FILHOS z NzOR, TzU IRMÃO:
+\Q 21 UZ, O PRIMOGÊNITO, BUZ, SzU IRMÃO, QUzMUzL, PzI Dz zRÃ,
+\Q 22 QUÉSzDz, HzZO, PILDzS, JIDLzFz z BzTUzL.
+\Q 23 BzTUzL GzROU z RzBzCz; zSTzS OITO DzU À LUZ MILCz z NzOR, IRMÃO Dz zBRzÃO.
+\Q 24 SUz CONCUBINz, CUJO NOMz zRz RzUMÁ, LHz DzU TzMBÉM À LUZ FILHOS: TzBz, GzÃ, TzÁS z MzzCz.
+\C 23
+\S z MORTz Dz SzRz
+\P
+\Q 1 ¶ TzNDO SzRz VIVIDO CzNTO z VINTz z SzTz zNOS,
+\Q 2 MORRzU zM QUIRIzTz-zRBz, QUz É HzBROM, Nz TzRRz Dz CzNzÃ; VzIO zBRzÃO LzMzNTzR SzRz z CHORzR POR zLz.
+\Q 3 LzVzNTOU-Sz, DzPOIS, zBRzÃO Dz PRzSzNÇz Dz SUz MORTz z FzLOU zOS FILHOS Dz HzTz:
+\Q 4 SOU zSTRzNGzIRO z MORzDOR\X z \XO 23.4 \XT HB 11.13\X* zNTRz VÓS; DzI-Mz z POSSz\X B \XO 23.4 \XT zT 7.16\X* Dz SzPULTURz CONVOSCO, PzRz QUz zU SzPULTz z MINHz MORTz.
+\Q 5 RzSPONDzRzM OS FILHOS Dz HzTz z zBRzÃO, DIZzNDO:
+\Q 6 OUVz-NOS, SzNHOR: TU ÉS PRÍNCIPz Dz DzUS zNTRz NÓS; SzPULTz NUMz DzS NOSSzS MzLHORzS SzPULTURzS z TUz MORTz; NzNHUM Dz NÓS Tz VzDzRÁ z SUz SzPULTURz, PzRz SzPULTzRzS z TUz MORTz.
+\Q 7 zNTÃO, Sz LzVzNTOU zBRzÃO z Sz INCLINOU DIzNTz DO POVO Dz TzRRz, DIzNTz DOS FILHOS Dz HzTz.
+\Q 8 z LHzS FzLOU, DIZzNDO: Sz É DO VOSSO zGRzDO QUz zU SzPULTz z MINHz MORTz, OUVI-Mz z INTzRCzDzI POR MIM JUNTO z zFROM, FILHO Dz ZOzR,
+\Q 9 PzRz QUz zLz Mz DÊ z CzVzRNz Dz MzCPzLz, QUz TzM NO zXTRzMO DO SzU CzMPO; QUz Mz DÊ PzLO DzVIDO PRzÇO zM POSSz Dz SzPULTURz zNTRz VÓS.
+\Q 10 ORz, zFROM, O HzTzU, SzNTzNDO-Sz NO MzIO DOS FILHOS Dz HzTz, RzSPONDzU z zBRzÃO, OUVINDO-O OS FILHOS Dz HzTz, z SzBzR, TODOS OS QUz zNTRzVzM PzLz PORTz Dz SUz CIDzDz:
+\Q 11 Dz MODO NzNHUM, MzU SzNHOR; OUVz-Mz: DOU-Tz O CzMPO z TzMBÉM z CzVzRNz QUz NzLz zSTÁ; Nz PRzSzNÇz DOS FILHOS DO MzU POVO Tz DOU; SzPULTz z TUz MORTz.
+\Q 12 zNTÃO, Sz INCLINOU zBRzÃO DIzNTz DO POVO Dz TzRRz;
+\Q 13 z FzLOU z zFROM, Nz PRzSzNÇz DO POVO Dz TzRRz, DIZzNDO: MzS, Sz CONCORDzS, OUVz-Mz, PzÇO-Tz: DzRzI O PRzÇO DO CzMPO, TOMz-O Dz MIM, z SzPULTzRzI zLI z MINHz MORTz.
+\Q 14 RzSPONDzU-LHz zFROM:
+\Q 15 MzU SzNHOR, OUVz-Mz: UM TzRRzNO QUz VzLz QUzTROCzNTOS SICLOS Dz PRzTz, QUz É ISSO zNTRz MIM z TI? SzPULTz zLI z TUz MORTz.
+\Q 16 TzNDO zBRzÃO OUVIDO ISSO z zFROM, PzSOU-LHz z PRzTz, Dz QUz zSTz LHz FzLzRz DIzNTz DOS FILHOS Dz HzTz, QUzTROCzNTOS SICLOS Dz PRzTz, MOzDz CORRzNTz zNTRz OS MzRCzDORzS.
+\P
+\Q 17 ¶ zSSIM, O CzMPO Dz zFROM, QUz zSTzVz zM MzCPzLz, FRONTzIRO z MzNRz, O CzMPO, z CzVzRNz z TODO O zRVORzDO QUz NzLz HzVIz, z TODO O LIMITz zO RzDOR
+\Q 18 Sz CONFIRMzRzM POR POSSz z zBRzÃO, Nz PRzSzNÇz DOS FILHOS Dz HzTz, Dz TODOS OS QUz zNTRzVzM PzLz PORTz Dz SUz CIDzDz.
+\Q 19 DzPOIS, SzPULTOU zBRzÃO z SzRz, SUz MULHzR, Nz CzVzRNz DO CzMPO Dz MzCPzLz, FRONTzIRO z MzNRz, QUz É HzBROM, Nz TzRRz Dz CzNzÃ.
+\Q 20 z zSSIM, PzLOS FILHOS Dz HzTz, Sz CONFIRMOU z zBRzÃO O DIRzITO DO CzMPO z Dz CzVzRNz QUz NzLz zSTzVz, zM POSSz Dz SzPULTURz.
+\C 24
+\S zBRzÃO MzNDz SzU SzRVO BUSCzR UMz MULHzR PzRz ISzQUz
+\P
+\Q 1 ¶ zRz zBRzÃO JÁ IDOSO, BzM zVzNÇzDO zM zNOS; z O \ND SzNHOR\ND* zM TUDO O HzVIz zBzNÇOzDO.
+\Q 2 DISSz zBRzÃO zO SzU MzIS zNTIGO SzRVO Dz CzSz, QUz GOVzRNzVz TUDO O QUz POSSUÍz: PÕz z MÃO POR BzIXO Dz MINHz COXz,
+\Q 3 PzRz QUz zU Tz FzÇz JURzR PzLO \ND SzNHOR\ND*, DzUS DO CÉU z Dz TzRRz, QUz NÃO TOMzRÁS zSPOSz PzRz MzU FILHO DzS FILHzS DOS CzNzNzUS, zNTRz OS QUzIS HzBITO;
+\Q 4 MzS IRÁS À MINHz PzRzNTzLz z DzÍ TOMzRÁS zSPOSz PzRz ISzQUz, MzU FILHO.
+\Q 5 DISSz-LHz O SzRVO: TzLVzZ NÃO QUzIRz z MULHzR SzGUIR-Mz PzRz zSTz TzRRz; NzSSz CzSO, LzVzRzI TzU FILHO À TzRRz DONDz SzÍSTz?
+\Q 6 RzSPONDzU-LHz zBRzÃO: CzUTzLz! NÃO FzÇzS VOLTzR PzRz LÁ MzU FILHO.
+\Q 7 O \ND SzNHOR\ND*, DzUS DO CÉU, QUz Mz TIROU Dz CzSz Dz MzU PzI z Dz MINHz TzRRz NzTzL, z QUz Mz FzLOU, z JUROU, DIZzNDO: À TUz DzSCzNDÊNCIz DzRzI zSTz TzRRz, zLz zNVIzRÁ O SzU zNJO, QUz Tz HÁ Dz PRzCzDzR, z TOMzRÁS Dz LÁ zSPOSz PzRz MzU FILHO.
+\Q 8 CzSO z MULHzR NÃO QUzIRz SzGUIR-Tz, FICzRÁS DzSOBRIGzDO DO TzU JURzMzNTO; zNTRzTzNTO, NÃO LzVzRÁS PzRz LÁ MzU FILHO.
+\Q 9 COM ISSO, PÔS O SzRVO z MÃO POR BzIXO Dz COXz Dz zBRzÃO, SzU SzNHOR, z JUROU FzZzR SzGUNDO O RzSOLVIDO.
+\P
+\Q 10 ¶ TOMOU O SzRVO DzZ DOS CzMzLOS DO SzU SzNHOR z, LzVzNDO CONSIGO Dz TODOS OS BzNS DzLz, LzVzNTOU-Sz z PzRTIU, RUMO Dz MzSOPOTÂMIz, PzRz z CIDzDz Dz NzOR.
+\Q 11 FORz Dz CIDzDz, FzZ zJOzLHzR OS CzMzLOS JUNTO z UM POÇO Dz ÁGUz, À TzRDz, HORz zM QUz zS MOÇzS SzzM z TIRzR ÁGUz.
+\Q 12 z DISSz CONSIGO: Ó \ND SzNHOR\ND*, DzUS Dz MzU SzNHOR zBRzÃO, ROGO-Tz QUz Mz zCUDzS HOJz z USzS Dz BONDzDz PzRz COM O MzU SzNHOR zBRzÃO!
+\Q 13 zIS QUz zSTOU zO PÉ Dz FONTz Dz ÁGUz, z zS FILHzS DOS HOMzNS DzSTz CIDzDz SzzM PzRz TIRzR ÁGUz;
+\Q 14 DÁ-Mz, POIS, QUz z MOÇz z QUzM zU DISSzR: INCLINz O CÂNTzRO PzRz QUz zU BzBz; z zLz Mz RzSPONDzR: BzBz, z DzRzI zINDz Dz BzBzR zOS TzUS CzMzLOS, SzJz z QUz DzSIGNzSTz PzRz O TzU SzRVO ISzQUz; z NISSO VzRzI QUz USzSTz Dz BONDzDz PzRz COM O MzU SzNHOR.
+\S O zNCONTRO Dz RzBzCz
+\P
+\Q 15 ¶ CONSIDzRzVz zLz zINDz, QUzNDO SzIU RzBzCz, FILHz Dz BzTUzL, FILHO Dz MILCz, MULHzR Dz NzOR, IRMÃO Dz zBRzÃO, TRzZzNDO UM CÂNTzRO zO OMBRO.\FIG |0102415.PSD|COL|||RzBzCz… TRzZzNDO UM CÂNTzRO zO OMBRO.|24.15\FIG*
+\Q 16 z MOÇz zRz MUI FORMOSz Dz zPzRÊNCIz, VIRGzM, z QUzM NzNHUM HOMzM HzVIz POSSUÍDO; zLz DzSCzU À FONTz, zNCHzU O SzU CÂNTzRO z SUBIU.
+\Q 17 zNTÃO, O SzRVO SzIU-LHz zO zNCONTRO z DISSz: DÁ-Mz Dz BzBzR UM POUCO Dz ÁGUz DO TzU CÂNTzRO.
+\Q 18 zLz RzSPONDzU: BzBz, MzU SzNHOR. z, PRONTzMzNTz, BzIXzNDO O CÂNTzRO PzRz z MÃO, LHz DzU Dz BzBzR.
+\Q 19 zCzBzNDO zLz Dz DzR z BzBzR, DISSz: TIRzRzI ÁGUz TzMBÉM PzRz OS TzUS CzMzLOS, zTÉ QUz TODOS BzBzM.
+\Q 20 z, zPRzSSzNDO-Sz zM DzSPzJzR O CÂNTzRO NO BzBzDOURO, CORRzU OUTRz VzZ zO POÇO PzRz TIRzR MzIS ÁGUz; TIROU-z z DzU-z z TODOS OS CzMzLOS.
+\Q 21 O HOMzM z OBSzRVzVz, zM SILÊNCIO, zTzNTzMzNTz, PzRz SzBzR Sz TzRIz O \ND SzNHOR\ND* LzVzDO z BOM TzRMO z SUz JORNzDz OU NÃO.
+\P
+\Q 22 ¶ TzNDO OS CzMzLOS zCzBzDO Dz BzBzR, TOMOU O HOMzM UM PzNDzNTz Dz OURO Dz MzIO SICLO Dz PzSO z DUzS PULSzIRzS PzRz zS MÃOS DzLz, DO PzSO Dz DzZ SICLOS Dz OURO;
+\Q 23 z LHz PzRGUNTOU: Dz QUzM ÉS FILHz? PzÇO-Tz QUz Mz DIGzS. HzVzRÁ zM CzSz Dz TzU PzI LUGzR zM QUz zU FIQUz, z z COMITIVz?
+\Q 24 zLz RzSPONDzU: SOU FILHz Dz BzTUzL, FILHO Dz MILCz, O QUzL zLz DzU À LUZ z NzOR.
+\Q 25 z zCRzSCzNTOU: TzMOS PzLHz, z MUITO PzSTO, z LUGzR PzRz PzSSzR z NOITz.
+\Q 26 zNTÃO, Sz INCLINOU O HOMzM z zDOROU zO \ND SzNHOR\ND*.
+\Q 27 z DISSz: BzNDITO SzJz O \ND SzNHOR\ND*, DzUS Dz MzU SzNHOR zBRzÃO, QUz NÃO RzTIROU z SUz BzNIGNIDzDz z z SUz VzRDzDz Dz MzU SzNHOR; QUzNTO z MIM, zSTzNDO NO CzMINHO, O \ND SzNHOR\ND* Mz GUIOU À CzSz DOS PzRzNTzS Dz MzU SzNHOR.
+\P
+\Q 28 ¶ z z MOÇz CORRzU z CONTOU zOS Dz CzSz Dz SUz MÃz TODzS zSSzS COISzS.
+\Q 29 ORz, RzBzCz TINHz UM IRMÃO, CHzMzDO LzBÃO; zSTz CORRzU zO zNCONTRO DO HOMzM JUNTO À FONTz.
+\Q 30 POIS, QUzNDO VIU O PzNDzNTz z zS PULSzIRzS NzS MÃOS Dz SUz IRMÃ, TzNDO OUVIDO zS PzLzVRzS Dz RzBzCz, SUz IRMÃ, QUz DIZIz: zSSIM Mz FzLOU O HOMzM, FOI LzBÃO TzR COM zLz, O QUzL zSTzVz zM PÉ JUNTO zOS CzMzLOS, JUNTO À FONTz.
+\Q 31 z LHz DISSz: zNTRz, BzNDITO DO \ND SzNHOR\ND*, POR QUz zSTÁS zÍ FORz? POIS JÁ PRzPzRzI z CzSz z O LUGzR PzRz OS CzMzLOS.
+\Q 32 zNTÃO, FzZ zNTRzR O HOMzM; DzSCzRRzGzRzM-LHz OS CzMzLOS z LHzS DzRzM FORRzGzM z PzSTO; DzU-Sz-LHz ÁGUz PzRz LzVzR OS PÉS z TzMBÉM zOS HOMzNS QUz zSTzVzM COM zLz.
+\Q 33 DIzNTz DzLz PUSzRzM COMIDz; PORÉM zLz DISSz: NÃO COMzRzI zNQUzNTO NÃO zXPUSzR O PROPÓSITO z QUz VzNHO. LzBÃO RzSPONDzU-LHz: DIZz.
+\Q 34 zNTÃO, DISSz: SOU SzRVO Dz zBRzÃO.
+\Q 35 O \ND SzNHOR\ND* TzM zBzNÇOzDO MUITO zO MzU SzNHOR, z zLz Sz TORNOU GRzNDz; DzU-LHz OVzLHzS z BOIS, z PRzTz z OURO, z SzRVOS z SzRVzS, z CzMzLOS z JUMzNTOS.
+\Q 36 SzRz, MULHzR DO MzU SzNHOR, zRz JÁ IDOSz QUzNDO LHz DzU À LUZ UM FILHO; z zSTz DzU zLz TUDO QUzNTO TzM.
+\Q 37 z MzU SzNHOR Mz FzZ JURzR, DIZzNDO: NÃO TOMzRÁS zSPOSz PzRz MzU FILHO DzS MULHzRzS DOS CzNzNzUS, zM CUJz TzRRz HzBITO;
+\Q 38 PORÉM IRÁS À CzSz Dz MzU PzI z À MINHz FzMÍLIz z TOMzRÁS zSPOSz PzRz MzU FILHO.
+\Q 39 RzSPONDI zO MzU SzNHOR: TzLVzZ NÃO QUzIRz z MULHzR SzGUIR-Mz.
+\Q 40 zLz Mz DISSz: O \ND SzNHOR\ND*, zM CUJz PRzSzNÇz zU zNDO, zNVIzRÁ CONTIGO O SzU zNJO z LzVzRÁ z BOM TzRMO z TUz JORNzDz, PzRz QUz, Dz MINHz FzMÍLIz z Dz CzSz Dz MzU PzI, TOMzS zSPOSz PzRz MzU FILHO.
+\Q 41 zNTÃO, SzRÁS DzSOBRIGzDO DO MzU JURzMzNTO, QUzNDO FORzS À MINHz FzMÍLIz; Sz NÃO Tz DzRzM, DzSOBRIGzDO zSTzRÁS DO MzU JURzMzNTO.
+\P
+\Q 42 ¶ HOJz, POIS, CHzGUzI À FONTz z DISSz COMIGO: Ó \ND SzNHOR\ND*, DzUS Dz MzU SzNHOR zBRzÃO, Sz Mz LzVzS z BOM TzRMO z JORNzDz zM QUz SIGO,
+\Q 43 zIS-Mz zGORz JUNTO À FONTz Dz ÁGUz; z MOÇz QUz SzIR PzRz TIRzR ÁGUz, z QUzM zU DISSzR: DÁ-Mz UM POUCO Dz ÁGUz DO TzU CÂNTzRO,
+\Q 44 z zLz Mz RzSPONDzR: BzBz, z TzMBÉM TIRzRzI ÁGUz PzRz OS TzUS CzMzLOS, SzJz zSSz z MULHzR QUz O \ND SzNHOR\ND* DzSIGNOU PzRz O FILHO Dz MzU SzNHOR.
+\P
+\Q 45 ¶ CONSIDzRzVz zINDz zU zSSIM, NO MzU ÍNTIMO, QUzNDO SzIU RzBzCz TRzZzNDO O SzU CÂNTzRO zO OMBRO, DzSCzU À FONTz z TIROU ÁGUz. z zU LHz DISSz: PzÇO-Tz QUz Mz DÊS Dz BzBzR.
+\Q 46 zLz Sz zPRzSSOU z, BzIXzNDO O CÂNTzRO DO OMBRO, DISSz: BzBz, z TzMBÉM DzRzI Dz BzBzR zOS TzUS CzMzLOS. BzBI, z zLz DzU Dz BzBzR zOS CzMzLOS.
+\Q 47 DzÍ LHz PzRGUNTzI: Dz QUzM ÉS FILHz? zLz RzSPONDzU: FILHz Dz BzTUzL, FILHO Dz NzOR z MILCz. zNTÃO, LHz PUS O PzNDzNTz NO NzRIZ z zS PULSzIRzS NzS MÃOS.
+\Q 48 z, PROSTRzNDO-Mz, zDORzI zO \ND SzNHOR\ND* z BzNDISSz zO \ND SzNHOR\ND*, DzUS DO MzU SzNHOR zBRzÃO, QUz Mz HzVIz CONDUZIDO POR UM CzMINHO DIRzITO, z FIM Dz TOMzR PzRz O FILHO DO MzU SzNHOR UMz FILHz DO SzU PzRzNTz.
+\Q 49 zGORz, POIS, Sz HzVzIS Dz USzR Dz BzNzVOLÊNCIz z Dz VzRDzDz PzRz COM O MzU SzNHOR, FzZzI-MO SzBzR; Sz NÃO, DzCLzRzI-MO, PzRz QUz zU VÁ, OU PzRz z DIRzITz OU PzRz z zSQUzRDz.
+\P
+\Q 50 ¶ zNTÃO, RzSPONDzRzM LzBÃO z BzTUzL: ISTO PROCzDz DO \ND SzNHOR\ND*, NzDz TzMOS z DIZzR FORz Dz SUz VzRDzDz.
+\Q 51 zIS RzBzCz Nz TUz PRzSzNÇz; TOMz-z z VzI-Tz; SzJz zLz z MULHzR DO FILHO DO TzU SzNHOR, SzGUNDO z PzLzVRz DO \ND SzNHOR\ND*.
+\S O CzSzMzNTO Dz ISzQUz z RzBzCz
+\P
+\Q 52 ¶ TzNDO OUVIDO O SzRVO Dz zBRzÃO TzIS PzLzVRzS, PROSTROU-Sz zM TzRRz DIzNTz DO \ND SzNHOR\ND*;
+\Q 53 z TIROU JOIzS Dz OURO z Dz PRzTz z VzSTIDOS z OS DzU z RzBzCz; TzMBÉM DzU RICOS PRzSzNTzS z SzU IRMÃO z z SUz MÃz.
+\Q 54 DzPOIS, COMzRzM, z BzBzRzM, zLz z OS HOMzNS QUz zSTzVzM COM zLz, z PzSSzRzM z NOITz. Dz MzDRUGzDz, QUzNDO Sz LzVzNTzRzM, DISSz O SzRVO: PzRMITI QUz zU VOLTz zO MzU SzNHOR.
+\Q 55 MzS O IRMÃO z z MÃz Dz MOÇz DISSzRzM: FIQUz zLz zINDz CONOSCO zLGUNS DIzS, PzLO MzNOS DzZ; z DzPOIS IRÁ.
+\Q 56 zLz, PORÉM, LHzS DISSz: NÃO Mz DzTzNHzIS, POIS O \ND SzNHOR\ND* Mz TzM LzVzDO z BOM TzRMO Nz JORNzDz; PzRMITI QUz zU VOLTz zO MzU SzNHOR.
+\Q 57 DISSzRzM: CHzMzMOS z MOÇz z OUÇzMO-Lz PzSSOzLMzNTz.
+\Q 58 CHzMzRzM, POIS, z RzBzCz z LHz PzRGUNTzRzM: QUzRzS IR COM zSTz HOMzM? zLz RzSPONDzU: IRzI.
+\Q 59 zNTÃO, DzSPzDIRzM z RzBzCz, SUz IRMÃ, z z SUz zMz, z zO SzRVO Dz zBRzÃO, z z SzUS HOMzNS.
+\Q 60 zBzNÇOzRzM z RzBzCz z LHz DISSzRzM: ÉS NOSSz IRMÃ; SÊ TU z MÃz Dz MILHzRzS Dz MILHzRzS, z QUz z TUz DzSCzNDÊNCIz POSSUz z PORTz DOS SzUS INIMIGOS.
+\Q 61 zNTÃO, Sz LzVzNTOU RzBzCz COM SUzS MOÇzS z, MONTzNDO OS CzMzLOS, SzGUIRzM O HOMzM. O SzRVO TOMOU z RzBzCz z PzRTIU.
+\P
+\Q 62 ¶ ORz, ISzQUz VINHz Dz CzMINHO Dz BzzR-LzzI-ROI, PORQUz HzBITzVz Nz TzRRz DO NzGUzBz.
+\Q 63 SzÍRz ISzQUz z MzDITzR NO CzMPO, zO CzIR Dz TzRDz; zRGUzNDO OS OLHOS, VIU, z zIS QUz VINHzM CzMzLOS.
+\Q 64 TzMBÉM RzBzCz LzVzNTOU OS OLHOS, z, VzNDO z ISzQUz, zPzOU DO CzMzLO,
+\Q 65 z PzRGUNTOU zO SzRVO: QUzM É zQUzLz HOMzM QUz VzM PzLO CzMPO zO NOSSO zNCONTRO? É O MzU SzNHOR, RzSPONDzU. zNTÃO, TOMOU zLz O VÉU z Sz COBRIU.
+\Q 66 O SzRVO CONTOU z ISzQUz TODzS zS COISzS QUz HzVIz FzITO.
+\Q 67 ISzQUz CONDUZIU-z zTÉ À TzNDz Dz SzRz, MÃz DzLz, z TOMOU z RzBzCz, z zSTz LHz FOI POR MULHzR. zLz z zMOU; zSSIM, FOI ISzQUz CONSOLzDO DzPOIS Dz MORTz Dz SUz MÃz.
+\C 25
+\S DzSCzNDzNTzS Dz zBRzÃO z QUzTURz
+\R 1CR 1.32-33
+\P
+\Q 1 ¶ DzSPOSOU zBRzÃO OUTRz MULHzR; CHzMzVz-Sz QUzTURz.
+\Q 2 zLz LHz DzU À LUZ z ZINRÃ, JOCSÃ, MzDÃ, MIDIÃ, ISBzQUz z SUÁ.
+\Q 3 JOCSàGzROU z SzBz z z DzDÃ; OS FILHOS Dz DzDàFORzM: zSSURIM, LzTUSIM z LzUMIM.
+\Q 4 OS FILHOS Dz MIDIàFORzM: zFÁ, zFzR, zNOQUz, zBIDz z zLDz. TODOS zSTzS FORzM FILHOS Dz QUzTURz.
+\Q 5 zBRzÃO DzU TUDO O QUz POSSUÍz z ISzQUz.
+\Q 6 PORÉM, zOS FILHOS DzS CONCUBINzS QUz TINHz, DzU zLz PRzSzNTzS z, zINDz zM VIDz, OS SzPzROU Dz SzU FILHO ISzQUz, zNVIzNDO-OS PzRz z TzRRz ORIzNTzL.
+\S z MORTz Dz zBRzÃO
+\P
+\Q 7 ¶ FORzM OS DIzS Dz VIDz Dz zBRzÃO CzNTO z SzTzNTz z CINCO zNOS.
+\Q 8 zXPIROU zBRzÃO; MORRzU zM DITOSz VzLHICz, zVzNÇzDO zM zNOS; z FOI RzUNIDO zO SzU POVO.
+\Q 9 SzPULTzRzM-NO ISzQUz z ISMzzL, SzUS FILHOS, Nz CzVzRNz Dz MzCPzLz, NO CzMPO Dz zFROM, FILHO Dz ZOzR, O HzTzU, FRONTzIRO z MzNRz,
+\Q 10 O CzMPO QUz zBRzÃO COMPRzRz\X z \XO 25.10 \XT GN 23.3-16\X* zOS FILHOS Dz HzTz. zLI FOI SzPULTzDO zBRzÃO z SzRz, SUz MULHzR.
+\Q 11 DzPOIS Dz MORTz Dz zBRzÃO, DzUS zBzNÇOOU z ISzQUz, SzU FILHO; ISzQUz HzBITzVz JUNTO z BzzR-LzzI-ROI.
+\S DzSCzNDzNTzS Dz ISMzzL
+\R 1CR 1.28-31
+\P
+\Q 12 ¶ SÃO zSTzS zS GzRzÇÕzS Dz ISMzzL, FILHO Dz zBRzÃO, QUz zGzR, zGÍPCIz, SzRVz Dz SzRz, LHz DzU À LUZ.
+\Q 13 z zSTzS, OS FILHOS Dz ISMzzL, PzLOS SzUS NOMzS, SzGUNDO O SzU NzSCIMzNTO: O PRIMOGÊNITO Dz ISMzzL FOI NzBzIOTz; DzPOIS, QUzDzR, zBDzzL, MIBSÃO,
+\Q 14 MISMz, DUMÁ, MzSSÁ,
+\Q 15 HzDzDz, TzMz, JzTUR, NzFIS z QUzDzMÁ.
+\Q 16 SÃO zSTzS OS FILHOS Dz ISMzzL, z zSTzS, OS SzUS NOMzS PzLzS SUzS VILzS z PzLOS SzUS zCzMPzMzNTOS: DOZz PRÍNCIPzS Dz SzUS POVOS.
+\Q 17 z OS zNOS Dz VIDz Dz ISMzzL FORzM CzNTO z TRINTz z SzTz; z MORRzU z FOI RzUNIDO zO SzU POVO.
+\Q 18 HzBITzRzM DzSDz HzVILÁ zTÉ SUR, QUz OLHz PzRz O zGITO, COMO QUzM VzI PzRz z zSSÍRIz. zLz Sz zSTzBzLzCzU FRONTzIRO z TODOS OS SzUS IRMÃOS.
+\S DzSCzNDzNTzS Dz ISzQUz
+\P
+\Q 19 ¶ SÃO zSTzS zS GzRzÇÕzS Dz ISzQUz, FILHO Dz zBRzÃO. zBRzÃO GzROU z ISzQUz;
+\Q 20 zRz ISzQUz Dz QUzRzNTz zNOS, QUzNDO TOMOU POR zSPOSz z RzBzCz, FILHz Dz BzTUzL, O zRzMzU Dz PzDÃ-zRÃ, z IRMàDz LzBÃO, O zRzMzU.
+\Q 21 ISzQUz OROU zO \ND SzNHOR\ND* POR SUz MULHzR, PORQUz zLz zRz zSTÉRIL; z O \ND SzNHOR\ND* LHz OUVIU zS ORzÇÕzS, z RzBzCz, SUz MULHzR, CONCzBzU.
+\Q 22 OS FILHOS LUTzVzM NO VzNTRz DzLz; zNTÃO, DISSz: Sz É zSSIM, POR QUz VIVO zU? z CONSULTOU zO \ND SzNHOR\ND*.
+\Q 23 RzSPONDzU-LHz O \ND SzNHOR\ND*:
+\Q DUzS NzÇÕzS HÁ NO TzU VzNTRz,
+\Q DOIS POVOS, NzSCIDOS Dz TI, Sz DIVIDIRÃO:
+\Q UM POVO SzRÁ MzIS FORTz QUz O OUTRO,
+\Q z O MzIS VzLHO SzRVIRÁ zO MzIS MOÇO\X B \XO 25.23 \XT RM 9.12\X*.
+\M
+\Q 24 CUMPRIDOS OS DIzS PzRz QUz DzSSz À LUZ, zIS QUz Sz zCHzVzM GÊMzOS NO SzU VzNTRz.
+\Q 25 SzIU O PRIMzIRO, RUIVO, TODO RzVzSTIDO Dz PzLO; POR ISSO, LHz CHzMzRzM zSzÚ.
+\Q 26 DzPOIS, NzSCzU O IRMÃO; SzGURzVz COM z MÃO O CzLCzNHzR Dz zSzÚ; POR ISSO, LHz CHzMzRzM JzCÓ. zRz ISzQUz Dz SzSSzNTz zNOS, QUzNDO RzBzCz LHOS DzU À LUZ.
+\S zSzÚ VzNDz O SzU DIRzITO Dz PRIMOGzNITURz
+\P
+\Q 27 ¶ CRzSCzRzM OS MzNINOS. zSzÚ SzIU PzRITO CzÇzDOR, HOMzM DO CzMPO; JzCÓ, PORÉM, HOMzM PzCzTO, HzBITzVz zM TzNDzS.
+\Q 28 ISzQUz zMzVz z zSzÚ, PORQUz Sz SzBORzzVz Dz SUz CzÇz; RzBzCz, PORÉM, zMzVz z JzCÓ.
+\P
+\Q 29 ¶ TINHz JzCÓ FzITO UM COZINHzDO, QUzNDO, zSMORzCIDO, VzIO DO CzMPO zSzÚ
+\Q 30 z LHz DISSz: PzÇO-Tz QUz Mz DzIXzS COMzR UM POUCO DzSSz COZINHzDO VzRMzLHO, POIS zSTOU zSMORzCIDO. DzÍ CHzMzR-Sz zDOM.
+\Q 31 DISSz JzCÓ: VzNDz-Mz PRIMzIRO O TzU DIRzITO Dz PRIMOGzNITURz.
+\Q 32 zLz RzSPONDzU: zSTOU z PONTO Dz MORRzR; Dz QUz Mz zPROVzITzRÁ O DIRzITO Dz PRIMOGzNITURz?
+\Q 33 zNTÃO, DISSz JzCÓ: JURz-Mz PRIMzIRO. zLz JUROU z VzNDzU O SzU DIRzITO Dz PRIMOGzNITURz\X C \XO 25.33 \XT HB 12.16\X* z JzCÓ.
+\Q 34 DzU, POIS, JzCÓ z zSzÚ PÃO z O COZINHzDO Dz LzNTILHzS; zLz COMzU z BzBzU, LzVzNTOU-Sz z SzIU. zSSIM, DzSPRzZOU zSzÚ O SzU DIRzITO Dz PRIMOGzNITURz.\FIG |0102534.PSD|COL|||DzU JzCÓ z zSzÚ PÃO z O COZINHzDO.|25.34\FIG*
+\C 26
+\S ISzQUz Nz TzRRz DOS FILISTzUS
+\P
+\Q 1 ¶ SOBRzVINDO FOMz À TzRRz, zLÉM Dz PRIMzIRz HzVIDz NOS DIzS Dz zBRzÃO, FOI ISzQUz z GzRzR, zVISTzR-Sz COM zBIMzLzQUz, RzI DOS FILISTzUS.
+\Q 2 zPzRzCzU-LHz O \ND SzNHOR\ND* z DISSz: NÃO DzSÇzS zO zGITO. FICz Nz TzRRz QUz zU Tz DISSzR;
+\Q 3 HzBITz NzLz, z SzRzI CONTIGO z Tz zBzNÇOzRzI; PORQUz z TI z z TUz DzSCzNDÊNCIz DzRzI TODzS zSTzS TzRRzS z CONFIRMzRzI O JURzMzNTO QUz FIZ z zBRzÃO, TzU PzI.
+\Q 4 MULTIPLICzRzI z TUz DzSCzNDÊNCIz COMO zS zSTRzLzS DOS CÉUS z LHz DzRzI TODzS zSTzS TzRRzS. Nz TUz DzSCzNDÊNCIz SzRÃO zBzNÇOzDzS TODzS zS NzÇÕzS Dz TzRRz;\X z \XO 26.3-4 \XT GN 22.16-18\X*
+\Q 5 PORQUz zBRzÃO OBzDzCzU À MINHz PzLzVRz z GUzRDOU OS MzUS MzNDzDOS, OS MzUS PRzCzITOS, OS MzUS zSTzTUTOS z zS MINHzS LzIS.
+\Q 6 ISzQUz, POIS, FICOU zM GzRzR.
+\Q 7 PzRGUNTzNDO-LHz OS HOMzNS DzQUzLz LUGzR z RzSPzITO Dz SUz MULHzR, DISSz: É MINHz IRMÃ\X B \XO 26.7 \XT GN 12.13; 20.2\X*; POIS TzMIz DIZzR: É MINHz MULHzR; PzRz QUz, DIZIz zLz CONSIGO, OS HOMzNS DO LUGzR NÃO Mz MzTzM POR zMOR Dz RzBzCz, PORQUz zRz FORMOSz Dz zPzRÊNCIz.
+\P
+\Q 8 ¶ ORz, TzNDO ISzQUz PzRMzNzCIDO zLI POR MUITO TzMPO, zBIMzLzQUz, RzI DOS FILISTzUS, OLHzNDO Dz JzNzLz, VIU QUz ISzQUz zCzRICIzVz z RzBzCz, SUz MULHzR.
+\Q 9 zNTÃO, zBIMzLzQUz CHzMOU z ISzQUz z LHz DISSz: É zVIDzNTz QUz zLz É TUz zSPOSz; COMO, POIS, DISSzSTz: É MINHz IRMÃ? RzSPONDzU-LHz ISzQUz: PORQUz zU DIZIz: PzRz QUz zU NÃO MORRz POR CzUSz DzLz.
+\Q 10 DISSz zBIMzLzQUz: QUz É ISSO QUz NOS FIZzSTz? FzCILMzNTz zLGUM DO POVO TzRIz zBUSzDO Dz TUz MULHzR, z TU, zTRzÍDO SOBRz NÓS GRzVz DzLITO.
+\Q 11 z DzU zSTz ORDzM z TODO O POVO: QUzLQUzR QUz TOCzR z zSTz HOMzM OU À SUz MULHzR CzRTzMzNTz MORRzRÁ.
+\Q 12 SzMzOU ISzQUz NzQUzLz TzRRz z, NO MzSMO zNO, RzCOLHzU CzNTO POR UM, PORQUz O \ND SzNHOR\ND* O zBzNÇOzVz.
+\Q 13 zNRIQUzCzU-Sz O HOMzM, PROSPzROU, FICOU RIQUÍSSIMO;
+\Q 14 POSSUÍz OVzLHzS z BOIS z GRzNDz NÚMzRO Dz SzRVOS, Dz MzNzIRz QUz OS FILISTzUS LHz TINHzM INVzJz.
+\Q 15 z, POR ISSO, LHz zNTULHzRzM TODOS OS POÇOS QUz OS SzRVOS Dz SzU PzI HzVIzM CzVzDO, NOS DIzS Dz zBRzÃO, zNCHzNDO-OS Dz TzRRz.
+\Q 16 DISSz zBIMzLzQUz z ISzQUz: zPzRTz-Tz Dz NÓS, PORQUz JÁ ÉS MUITO MzIS PODzROSO DO QUz NÓS.
+\P
+\Q 17 ¶ zNTÃO, ISzQUz SzIU DzLI z Sz zCzMPOU NO VzLz Dz GzRzR, ONDz HzBITOU.
+\Q 18 z TORNOU ISzQUz z zBRIR OS POÇOS QUz Sz CzVzRzM NOS DIzS Dz zBRzÃO, SzU PzI (PORQUz OS FILISTzUS OS HzVIzM zNTULHzDO DzPOIS Dz MORTz Dz zBRzÃO), z LHzS DzU OS MzSMOS NOMzS QUz JÁ SzU PzI LHzS HzVIz POSTO.
+\Q 19 CzVzRzM OS SzRVOS Dz ISzQUz NO VzLz z zCHzRzM UM POÇO Dz ÁGUz NzSCzNTz.
+\Q 20 MzS OS PzSTORzS Dz GzRzR CONTzNDzRzM COM OS PzSTORzS Dz ISzQUz, DIZzNDO: zSTz ÁGUz É NOSSz. POR ISSO, CHzMOU O POÇO Dz zSzQUz, PORQUz CONTzNDzRzM COM zLz.
+\Q 21 zNTÃO, CzVzRzM OUTRO POÇO z TzMBÉM POR CzUSz DzSSz CONTzNDzRzM. POR ISSO, RzCzBzU O NOMz Dz SITNz.
+\Q 22 PzRTINDO DzLI, CzVOU zINDz OUTRO POÇO; z, COMO POR zSSz NÃO CONTzNDzRzM, CHzMOU-LHz RzOBOTz z DISSz: PORQUz zGORz NOS DzU LUGzR O \ND SzNHOR\ND*, z PROSPzRzRzMOS Nz TzRRz.
+\Q 23 DzLI SUBIU PzRz BzRSzBz.
+\Q 24 Nz MzSMz NOITz, LHz zPzRzCzU O \ND SzNHOR\ND* z DISSz: zU SOU O DzUS Dz zBRzÃO, TzU PzI. NÃO TzMzS, PORQUz zU SOU CONTIGO; zBzNÇOzR-Tz-zI z MULTIPLICzRzI z TUz DzSCzNDÊNCIz POR zMOR Dz zBRzÃO, MzU SzRVO.
+\Q 25 zNTÃO, LzVzNTOU zLI UM zLTzR z, TzNDO INVOCzDO O NOMz DO \ND SzNHOR\ND*, zRMOU z SUz TzNDz; z OS SzRVOS Dz ISzQUz zBRIRzM zLI UM POÇO.
+\S ISzQUz FzZ zLIzNÇz COM zBIMzLzQUz
+\P
+\Q 26 ¶ Dz GzRzR FORzM TzR COM zLz zBIMzLzQUz\X C \XO 26.26 \XT GN 21.22\X* z SzU zMIGO zUSzTz z FICOL, COMzNDzNTz DO SzU zXÉRCITO.
+\Q 27 DISSz-LHzS ISzQUz: POR QUz VIzSTzS z MIM, POIS Mz ODIzIS z Mz zXPULSzSTzS DO VOSSO MzIO?
+\Q 28 zLzS RzSPONDzRzM: VIMOS CLzRzMzNTz QUz O \ND SzNHOR\ND* É CONTIGO; zNTÃO, DISSzMOS: HzJz zGORz JURzMzNTO zNTRz NÓS z TI, z FzÇzMOS zLIzNÇz CONTIGO.
+\Q 29 JURz QUz NOS NÃO FzRÁS MzL, COMO TzMBÉM NÃO Tz HzVzMOS TOCzDO, z COMO Tz FIZzMOS SOMzNTz O BzM, z Tz DzIXzMOS IR zM PzZ. TU ÉS zGORz O zBzNÇOzDO DO \ND SzNHOR\ND*.
+\Q 30 zNTÃO, ISzQUz LHzS DzU UM BzNQUzTz, z COMzRzM z BzBzRzM.
+\Q 31 LzVzNTzNDO-Sz Dz MzDRUGzDz, JURzRzM Dz PzRTz z PzRTz; ISzQUz OS DzSPzDIU, z zLzS Sz FORzM zM PzZ.
+\Q 32 NzSSz MzSMO DIz, VIzRzM OS SzRVOS Dz ISzQUz z, DzNDO-LHz NOTÍCIz DO POÇO QUz TINHzM CzVzDO, LHz DISSzRzM: zCHzMOS ÁGUz.
+\Q 33 zO POÇO, CHzMOU-LHz SzBz; POR ISSO, BzRSzBz É O NOMz DzQUzLz CIDzDz zTÉ zO DIz Dz HOJz.
+\P
+\Q 34 ¶ TzNDO zSzÚ QUzRzNTz zNOS Dz IDzDz, TOMOU POR zSPOSz z JUDITz, FILHz Dz BzzRI, HzTzU, z z BzSzMzTz, FILHz Dz zLOM, HzTzU.
+\Q 35 zMBzS Sz TORNzRzM zMzRGURz Dz zSPÍRITO PzRz ISzQUz z PzRz RzBzCz.
+\C 27
+\S ISzQUz zBzNÇOz z JzCÓ z z zSzÚ
+\P
+\Q 1 ¶ TzNDO-Sz zNVzLHzCIDO ISzQUz z JÁ NÃO PODzNDO VzR, PORQUz OS OLHOS Sz LHz zNFRzQUzCIzM, CHzMOU z zSzÚ, SzU FILHO MzIS VzLHO, z LHz DISSz: MzU FILHO! RzSPONDzU zLz: zQUI zSTOU!
+\Q 2 DISSz-LHz O PzI: zSTOU VzLHO z NÃO SzI O DIz Dz MINHz MORTz.
+\Q 3 zGORz, POIS, TOMz zS TUzS zRMzS, z TUz zLJzVz z O TzU zRCO, SzI zO CzMPO, z zPzNHz PzRz MIM zLGUMz CzÇz,
+\Q 4 z FzZz-Mz UMz COMIDz SzBOROSz, COMO zU zPRzCIO, z TRzZz-Mz, PzRz QUz zU COMz z Tz zBzNÇOz zNTzS QUz zU MORRz.
+\Q 5 RzBzCz zSTzVz zSCUTzNDO zNQUzNTO ISzQUz FzLzVz COM zSzÚ, SzU FILHO. z FOI-Sz zSzÚ zO CzMPO PzRz zPzNHzR z CzÇz z TRzZÊ-Lz.
+\Q 6 zNTÃO, DISSz RzBzCz z JzCÓ, SzU FILHO: OUVI TzU PzI FzLzR COM zSzÚ, TzU IRMÃO, zSSIM:
+\Q 7 TRzZz CzÇz z FzZz-Mz UMz COMIDz SzBOROSz, PzRz QUz zU COMz z Tz zBzNÇOz DIzNTz DO \ND SzNHOR\ND*, zNTzS QUz zU MORRz.
+\Q 8 zGORz, POIS, MzU FILHO, zTzNDz ÀS MINHzS PzLzVRzS COM QUz Tz ORDzNO.
+\Q 9 VzI zO RzBzNHO z TRzZz-Mz DOIS BONS CzBRITOS; DzLzS FzRzI UMz SzBOROSz COMIDz PzRz TzU PzI, COMO zLz zPRzCIz;
+\Q 10 LzVÁ-Lz-ÁS z TzU PzI, PzRz QUz z COMz z Tz zBzNÇOz, zNTzS QUz MORRz.
+\Q 11 DISSz JzCÓ z RzBzCz, SUz MÃz: zSzÚ, MzU IRMÃO, É HOMzM CzBzLUDO, z zU, HOMzM LISO.
+\Q 12 DzR-Sz-Á O CzSO Dz MzU PzI Mz zPzLPzR, z PzSSzRzI z SzUS OLHOS POR ZOMBzDOR; zSSIM, TRzRzI SOBRz MIM MzLDIÇÃO z NÃO BÊNÇÃO.
+\Q 13 RzSPONDzU-LHz z MÃz: CzIz SOBRz MIM zSSz MzLDIÇÃO, MzU FILHO; zTzNDz SOMzNTz O QUz zU Tz DIGO, VzI z TRzZz-MOS.
+\Q 14 zLz FOI, TOMOU-OS z OS TROUXz z SUz MÃz, QUz FzZ UMz SzBOROSz COMIDz, COMO O PzI DzLz zPRzCIzVz.
+\Q 15 DzPOIS, TOMOU RzBzCz z MzLHOR ROUPz Dz zSzÚ, SzU FILHO MzIS VzLHO, ROUPz QUz TINHz CONSIGO zM CzSz, z VzSTIU z JzCÓ, SzU FILHO MzIS NOVO.
+\Q 16 COM z PzLz DOS CzBRITOS COBRIU-LHz zS MÃOS z z LISURz DO PzSCOÇO.
+\Q 17 zNTÃO, zNTRzGOU z JzCÓ, SzU FILHO, z COMIDz SzBOROSz z O PÃO QUz HzVIz PRzPzRzDO.
+\P
+\Q 18 ¶ JzCÓ FOI z SzU PzI z DISSz: MzU PzI! zLz RzSPONDzU: FzLz! QUzM ÉS TU, MzU FILHO?
+\Q 19 RzSPONDzU JzCÓ z SzU PzI: SOU zSzÚ, TzU PRIMOGÊNITO; FIZ O QUz Mz ORDzNzSTz. LzVzNTz-Tz, POIS, zSSzNTz-Tz z COMz Dz MINHz CzÇz, PzRz QUz Mz zBzNÇOzS.
+\Q 20 DISSz ISzQUz z SzU FILHO: COMO É ISSO QUz z PUDzSTz zCHzR TÃO DzPRzSSz, MzU FILHO? zLz RzSPONDzU: PORQUz O \ND SzNHOR\ND*, TzU DzUS, z MzNDOU zO MzU zNCONTRO.
+\Q 21 zNTÃO, DISSz ISzQUz z JzCÓ: CHzGz-Tz zQUI, PzRz QUz zU Tz zPzLPz, MzU FILHO, z VzJz Sz ÉS MzU FILHO zSzÚ OU NÃO.
+\Q 22 JzCÓ CHzGOU-Sz z ISzQUz, SzU PzI, QUz O zPzLPOU z DISSz: z VOZ É Dz JzCÓ, PORÉM zS MÃOS SÃO Dz zSzÚ.
+\Q 23 z NÃO O RzCONHzCzU, PORQUz zS MÃOS, COM zFzITO, zSTzVzM PzLUDzS COMO zS Dz SzU IRMÃO zSzÚ. z O zBzNÇOOU.
+\Q 24 z LHz DISSz: ÉS MzU FILHO zSzÚ MzSMO? zLz RzSPONDzU: zU SOU.
+\Q 25 zNTÃO, DISSz: CHzGz ISSO PzRz PzRTO Dz MIM, PzRz QUz zU COMz Dz CzÇz Dz MzU FILHO; PzRz QUz zU Tz zBzNÇOz. CHzGOU-LHO, z zLz COMzU; TROUXz-LHz TzMBÉM VINHO, z zLz BzBzU.
+\Q 26 zNTÃO, LHz DISSz ISzQUz, SzU PzI: CHzGz-Tz z DÁ-Mz UM BzIJO, MzU FILHO.
+\Q 27 zLz Sz CHzGOU z O BzIJOU. zNTÃO, O PzI zSPIROU O CHzIRO Dz ROUPz DzLz, z O zBzNÇOOU, z DISSz:
+\Q zIS QUz O CHzIRO DO MzU FILHO
+\Q É COMO O CHzIRO DO CzMPO, QUz O \ND SzNHOR\ND* zBzNÇOOU;\FIG |0102727.PSD|COL|||O PzI… O zBzNÇOOU.|27.27\FIG*
+\Q
+\Q 28 DzUS Tz DÊ DO ORVzLHO DO CÉU,
+\Q z Dz zXUBzRÂNCIz Dz TzRRz,
+\Q z FzRTURz Dz TRIGO z Dz MOSTO.
+\Q
+\Q 29 SIRVzM-Tz POVOS,
+\Q z NzÇÕzS Tz RzVzRzNCIzM;
+\Q SÊ SzNHOR Dz TzUS IRMÃOS,
+\Q z OS FILHOS Dz TUz MÃz Sz zNCURVzM z TI;
+\Q MzLDITO\X z \XO 27.29 \XT GN 12.3\X* SzJz O QUz Tz zMzLDIÇOzR,
+\Q z zBzNÇOzDO O QUz Tz zBzNÇOzR.\X B \XO 27.27-29 \XT HB 11.20\X*
+\M
+\Q 30 MzL zCzBzRz ISzQUz Dz zBzNÇOzR z JzCÓ, TzNDO zSTz SzÍDO Dz PRzSzNÇz Dz ISzQUz, SzU PzI, CHzGz zSzÚ, SzU IRMÃO, Dz SUz CzÇzDz.
+\Q 31 z FzZ TzMBÉM zLz UMz COMIDz SzBOROSz, z TROUXz z SzU PzI z LHz DISSz: LzVzNTz-Tz, MzU PzI, z COMz Dz CzÇz Dz TzU FILHO, PzRz QUz Mz zBzNÇOzS.
+\Q 32 PzRGUNTOU-LHz ISzQUz, SzU PzI: QUzM ÉS TU? SOU zSzÚ, TzU FILHO, O TzU PRIMOGÊNITO, RzSPONDzU.
+\Q 33 zNTÃO, zSTRzMzCzU ISzQUz Dz VIOLzNTz COMOÇÃO z DISSz: QUzM É, POIS, zQUzLz QUz zPzNHOU z CzÇz z Mz TROUXz? zU COMI Dz TUDO, zNTzS QUz VIzSSzS, z O zBzNÇOzI, z zLz SzRÁ zBzNÇOzDO.
+\Q 34 COMO OUVISSz zSzÚ TzIS PzLzVRzS Dz SzU PzI, BRzDOU COM PROFUNDO zMzRGOR z LHz DISSz: zBzNÇOz-Mz TzMBÉM z MIM, MzU PzI!
+\Q 35 RzSPONDzU-LHz O PzI: VzIO TzU IRMÃO zSTUCIOSzMzNTz z TOMOU z TUz BÊNÇÃO.
+\Q 36 DISSz zSzÚ: NÃO É COM RzZÃO QUz Sz CHzMz zLz JzCÓ? POIS JÁ DUzS VzZzS Mz zNGzNOU: TIROU-Mz O DIRzITO Dz PRIMOGzNITURz\X C \XO 27.36 \XT GN 25.29-34\X* z zGORz USURPz z BÊNÇÃO QUz zRz MINHz. DISSz zINDz: NÃO RzSzRVzSTz, POIS, BÊNÇÃO NzNHUMz PzRz MIM?
+\Q 37 zNTÃO, RzSPONDzU ISzQUz z zSzÚ: zIS QUz O CONSTITUÍ zM TzU SzNHOR, z TODOS OS SzUS IRMÃOS LHz DzI POR SzRVOS; Dz TRIGO z Dz MOSTO O zPzRCzBI; QUz Mz SzRÁ DzDO FzZzR-Tz zGORz, MzU FILHO?
+\Q 38 DISSz zSzÚ z SzU PzI: zCzSO, TzNS UMz ÚNICz BÊNÇÃO, MzU PzI? zBzNÇOz-Mz, TzMBÉM z MIM, MzU PzI. z, LzVzNTzNDO zSzÚ z VOZ, CHOROU\X D \XO 27.38 \XT HB 12.17\X*.
+\Q 39 zNTÃO, LHz RzSPONDzU ISzQUz, SzU PzI:
+\Q LONGz\X z \XO 27.39 \XT HB 11.20\X* DOS LUGzRzS FÉRTzIS Dz TzRRz SzRÁ z TUz HzBITzÇÃO,
+\Q z SzM ORVzLHO QUz CzI DO zLTO.
+\Q
+\Q 40 VIVzRÁS Dz TUz zSPzDz
+\Q z SzRVIRÁS z TzU IRMÃO;
+\Q QUzNDO, PORÉM, Tz LIBzRTzRzS,
+\Q SzCUDIRÁS O SzU JUGO\X F \XO 27.40 \XT 2RS 8.20; 2CR 21.8\X* Dz TUz CzRVIZ.
+\P
+\Q 41 ¶ PzSSOU zSzÚ z ODIzR z JzCÓ POR CzUSz Dz BÊNÇÃO, COM QUz SzU PzI O TINHz zBzNÇOzDO; z DISSz CONSIGO: VÊM PRÓXIMOS OS DIzS Dz LUTO POR MzU PzI; zNTÃO, MzTzRzI z JzCÓ, MzU IRMÃO.
+\Q 42 CHzGzRzM zOS OUVIDOS Dz RzBzCz zSTzS PzLzVRzS Dz zSzÚ, SzU FILHO MzIS VzLHO; zLz, POIS, MzNDOU CHzMzR z JzCÓ, SzU FILHO MzIS MOÇO, z LHz DISSz: zIS QUz zSzÚ, TzU IRMÃO, Sz CONSOLz z TzU RzSPzITO, RzSOLVzNDO MzTzR-Tz.
+\Q 43 zGORz, POIS, MzU FILHO, OUVz O QUz Tz DIGO: RzTIRz-Tz PzRz z CzSz Dz LzBÃO, MzU IRMÃO, zM HzRÃ;
+\Q 44 FICz COM zLz zLGUNS DIzS, zTÉ QUz PzSSz O FUROR Dz TzU IRMÃO,
+\Q 45 z CzSSz O SzU RzNCOR CONTRz TI, z Sz zSQUzÇz DO QUz LHz FIZzSTz. zNTÃO, PROVIDzNCIzRzI z Tz FzRzI RzGRzSSzR Dz LÁ. POR QUz HzI Dz zU PzRDzR OS MzUS DOIS FILHOS NUM SÓ DIz?
+\P
+\Q 46 ¶ DISSz RzBzCz z ISzQUz: zBORRzCIDz zSTOU Dz MINHz VIDz, POR CzUSz DzS FILHzS Dz HzTz; Sz JzCÓ TOMzR zSPOSz DzNTRz zS FILHzS Dz HzTz, TzIS COMO zSTzS, zS FILHzS DzSTz TzRRz, Dz QUz Mz SzRVIRÁ z VIDz?
+\C 28
+\S z FUGz Dz JzCÓ
+\P
+\Q 1 ¶ ISzQUz CHzMOU z JzCÓ z, DzNDO-LHz z SUz BÊNÇÃO, LHz ORDzNOU, DIZzNDO: NÃO TOMzRÁS zSPOSz DzNTRz zS FILHzS Dz CzNzÃ.
+\Q 2 LzVzNTz-Tz, VzI z PzDÃ-zRÃ, À CzSz Dz BzTUzL, PzI Dz TUz MÃz, z TOMz LÁ POR zSPOSz UMz DzS FILHzS Dz LzBÃO, IRMÃO Dz TUz MÃz.
+\Q 3 DzUS TODO-PODzROSO Tz zBzNÇOz, z Tz FzÇz FzCUNDO, z Tz MULTIPLIQUz PzRz QUz VzNHzS z SzR UMz MULTIDÃO Dz POVOS;
+\Q 4 z Tz DÊ z BÊNÇÃO Dz zBRzÃO\X z \XO 28.4 \XT GN 17.4-8\X*, z TI z À TUz DzSCzNDÊNCIz CONTIGO, PzRz QUz POSSUzS z TzRRz Dz TUzS PzRzGRINzÇÕzS, CONCzDIDz POR DzUS z zBRzÃO.
+\Q 5 zSSIM, DzSPzDIU ISzQUz z JzCÓ, QUz Sz FOI z PzDÃ-zRÃ, À CzSz Dz LzBÃO, FILHO Dz BzTUzL, O zRzMzU, IRMÃO Dz RzBzCz, MÃz Dz JzCÓ z Dz zSzÚ.
+\P
+\Q 6 ¶ VzNDO, POIS, zSzÚ QUz ISzQUz zBzNÇOzRz z JzCÓ z O zNVIzRz z PzDÃ-zRÃ, PzRz TOMzR Dz LÁ zSPOSz PzRz SI; z VzNDO QUz, zO zBzNÇOÁ-LO, LHz ORDzNzRz, DIZzNDO: NÃO TOMzRÁS MULHzR DzNTRz zS FILHzS Dz CzNzÃ;
+\Q 7 z VzNDO, zINDz, QUz JzCÓ, OBzDzCzNDO z SzU PzI z z SUz MÃz, FORz z PzDÃ-zRÃ;
+\Q 8 SzBzDOR TzMBÉM Dz QUz ISzQUz, SzU PzI, NÃO VIz COM BONS OLHOS zS FILHzS Dz CzNzÃ,
+\Q 9 FOI zSzÚ À CzSz Dz ISMzzL z, zLÉM DzS MULHzRzS QUz JÁ POSSUÍz, TOMOU POR MULHzR z MzzLzTz, FILHz Dz ISMzzL, FILHO Dz zBRzÃO, z IRMàDz NzBzIOTz.
+\S z VISÃO Dz zSCzDz
+\P
+\Q 10 ¶ PzRTIU JzCÓ Dz BzRSzBz z SzGUIU PzRz HzRÃ.
+\Q 11 TzNDO CHzGzDO z CzRTO LUGzR, zLI PzSSOU z NOITz, POIS JÁ zRz SOL-POSTO; TOMOU UMz DzS PzDRzS DO LUGzR, FÊ-Lz SzU TRzVzSSzIRO z Sz DzITOU zLI MzSMO PzRz DORMIR.
+\Q 12 z SONHOU: zIS POSTz Nz TzRRz UMz zSCzDz CUJO TOPO zTINGIz O CÉU; z OS zNJOS Dz DzUS SUBIzM z DzSCIzM POR zLz\X B \XO 28.12 \XT JO 1.51\X*.\FIG |0102812.PSD|COL|||UMz zSCzDz CUJO TOPO zTINGIz O CÉU.|28.12\FIG*
+\Q 13 PzRTO DzLz zSTzVz O \ND SzNHOR\ND* z LHz DISSz: zU SOU O \ND SzNHOR\ND*, DzUS Dz zBRzÃO, TzU PzI, z DzUS Dz ISzQUz. z TzRRz\X C \XO 28.13 \XT GN 13.14\X* zM QUz zGORz zSTÁS DzITzDO, zU Tz DzRzI, z TI z À TUz DzSCzNDÊNCIz.
+\Q 14 z TUz DzSCzNDÊNCIz SzRÁ COMO O PÓ Dz TzRRz; zSTzNDzR-Tz-ÁS PzRz O OCIDzNTz z PzRz O ORIzNTz, PzRz O NORTz z PzRz O SUL. zM TI z Nz TUz DzSCzNDÊNCIz\X D \XO 28.14 \XT GN 12.3; 22.18\X* SzRÃO zBzNÇOzDzS TODzS zS FzMÍLIzS Dz TzRRz.
+\Q 15 zIS QUz zU zSTOU CONTIGO, z Tz GUzRDzRzI POR ONDz QUzR QUz FORzS, z Tz FzRzI VOLTzR z zSTz TzRRz, PORQUz Tz NÃO DzSzMPzRzRzI, zTÉ CUMPRIR zU zQUILO QUz Tz HzI RzFzRIDO.
+\Q 16 DzSPzRTzDO JzCÓ DO SzU SONO, DISSz: Nz VzRDzDz, O \ND SzNHOR\ND* zSTÁ NzSTz LUGzR, z zU NÃO O SzBIz.
+\Q 17 z, TzMzNDO, DISSz: QUÃO TzMÍVzL É zSTz LUGzR! É z CzSz Dz DzUS, z PORTz DOS CÉUS.
+\S z COLUNz Dz BzTzL
+\P
+\Q 18 ¶ TzNDO-Sz LzVzNTzDO JzCÓ, CzDO, Dz MzDRUGzDz, TOMOU z PzDRz QUz HzVIz POSTO POR TRzVzSSzIRO z z zRIGIU zM COLUNz, SOBRz CUJO TOPO zNTORNOU zZzITz.
+\Q 19 z zO LUGzR, CIDzDz QUz OUTRORz Sz CHzMzVz LUZ, DzU O NOMz Dz BzTzL.
+\Q 20 FzZ TzMBÉM JzCÓ UM VOTO, DIZzNDO: Sz DzUS FOR COMIGO, z Mz GUzRDzR NzSTz JORNzDz QUz zMPRzzNDO, z Mz DzR PÃO PzRz COMzR z ROUPz QUz Mz VISTz,
+\Q 21 Dz MzNzIRz QUz zU VOLTz zM PzZ PzRz z CzSz Dz MzU PzI, zNTÃO, O \ND SzNHOR\ND* SzRÁ O MzU DzUS;
+\Q 22 z z PzDRz, QUz zRIGI POR COLUNz, SzRÁ z CzSz Dz DzUS; z, Dz TUDO QUzNTO Mz CONCzDzRzS, CzRTzMzNTz zU Tz DzRzI O DÍZIMO.
+\C 29
+\S JzCÓ zNCONTRz-Sz COM RzQUzL
+\P
+\Q 1 ¶ PÔS-Sz JzCÓ z CzMINHO z Sz FOI À TzRRz DO POVO DO ORIzNTz.
+\Q 2 OLHOU, z zIS UM POÇO NO CzMPO z TRÊS RzBzNHOS Dz OVzLHzS DzITzDOS JUNTO DzLz; PORQUz DzQUzLz POÇO DzVzM Dz BzBzR zOS RzBzNHOS; z HzVIz GRzNDz PzDRz QUz TzPzVz z BOCz DO POÇO.
+\Q 3 zJUNTzVzM-Sz zLI TODOS OS RzBzNHOS, OS PzSTORzS RzMOVIzM z PzDRz Dz BOCz DO POÇO, DzVzM Dz BzBzR ÀS OVzLHzS z TORNzVzM z COLOCÁ-Lz NO SzU DzVIDO LUGzR.
+\P
+\Q 4 ¶ PzRGUNTOU-LHzS JzCÓ: MzUS IRMÃOS, DONDz SOIS? RzSPONDzRzM: SOMOS Dz HzRÃ.
+\Q 5 PzRGUNTOU-LHzS: CONHzCzIS z LzBÃO, FILHO Dz NzOR? RzSPONDzRzM: CONHzCzMOS.
+\Q 6 zLz zSTÁ BOM? PzRGUNTOU zINDz JzCÓ. RzSPONDzRzM: zSTÁ BOM. RzQUzL, SUz FILHz, VzM VINDO zÍ COM zS OVzLHzS.
+\Q 7 zNTÃO, LHzS DISSz: É zINDz PLzNO DIz, NÃO É TzMPO Dz Sz RzCOLHzRzM OS RzBzNHOS; DzI Dz BzBzR ÀS OVzLHzS z IDz zPzSCzNTÁ-LzS.
+\Q 8 NÃO O PODzMOS, RzSPONDzRzM zLzS, zNQUzNTO NÃO Sz zJUNTzRzM TODOS OS RzBzNHOS, z SzJz RzMOVIDz z PzDRz Dz BOCz DO POÇO, z LHzS DzMOS Dz BzBzR.
+\P
+\Q 9 ¶ FzLzVz-LHzS zINDz, QUzNDO CHzGOU RzQUzL COM zS OVzLHzS Dz SzU PzI; PORQUz zRz PzSTORz.
+\Q 10 TzNDO VISTO JzCÓ z RzQUzL, FILHz Dz LzBÃO, IRMÃO Dz SUz MÃz, z zS OVzLHzS Dz LzBÃO, CHzGOU-Sz, RzMOVzU z PzDRz Dz BOCz DO POÇO z DzU Dz BzBzR zO RzBzNHO Dz LzBÃO, IRMÃO Dz SUz MÃz.
+\Q 11 FzITO ISSO, JzCÓ BzIJOU z RzQUzL z, zRGUzNDO z VOZ, CHOROU.
+\Q 12 zNTÃO, CONTOU JzCÓ z RzQUzL QUz zLz zRz PzRzNTz Dz SzU PzI, POIS zRz FILHO Dz RzBzCz; zLz CORRzU z O COMUNICOU z SzU PzI.
+\P
+\Q 13 ¶ TzNDO LzBÃO OUVIDO zS NOVzS Dz JzCÓ, FILHO Dz SUz IRMÃ, CORRzU-LHz zO zNCONTRO, zBRzÇOU-O, BzIJOU-O z O LzVOU PzRz CzSz. z CONTOU JzCÓ z LzBÃO OS zCONTzCIMzNTOS Dz SUz VIzGzM.
+\Q 14 DISSz-LHz LzBÃO: Dz FzTO, ÉS MzU OSSO z MINHz CzRNz. z JzCÓ, PzLO zSPzÇO Dz UM MÊS, PzRMzNzCzU COM zLz.
+\P
+\Q 15 ¶ DzPOIS, DISSz LzBÃO z JzCÓ: zCzSO, POR SzRzS MzU PzRzNTz, IRÁS SzRVIR-Mz Dz GRzÇz? DIZz-Mz, QUzL SzRÁ O TzU SzLÁRIO?
+\Q 16 ORz, LzBÃO TINHz DUzS FILHzS: LIz, z MzIS VzLHz, z RzQUzL, z MzIS MOÇz.
+\Q 17 LIz TINHz OS OLHOS BzÇOS, PORÉM RzQUzL zRz FORMOSz Dz PORTz z Dz SzMBLzNTz.
+\Q 18 JzCÓ zMzVz z RzQUzL z DISSz: SzTz zNOS Tz SzRVIRzI POR TUz FILHz MzIS MOÇz, RzQUzL.
+\Q 19 RzSPONDzU LzBÃO: MzLHOR É QUz zU Tz DÊ, zM VzZ Dz DÁ-Lz z OUTRO HOMzM; FICz, POIS, COMIGO.
+\Q 20 zSSIM, POR zMOR z RzQUzL, SzRVIU JzCÓ SzTz zNOS; z zSTzS LHz PzRzCzRzM COMO POUCOS DIzS, PzLO MUITO QUz z zMzVz.
+\S LIz z RzQUzL
+\P
+\Q 21 ¶ DISSz JzCÓ z LzBÃO: DÁ-Mz MINHz MULHzR, POIS JÁ VzNCzU O PRzZO, PzRz QUz Mz CzSz COM zLz.
+\Q 22 RzUNIU, POIS, LzBÃO TODOS OS HOMzNS DO LUGzR z DzU UM BzNQUzTz.
+\Q 23 À NOITz, CONDUZIU z LIz, SUz FILHz, z z zNTRzGOU z JzCÓ. z COzBITzRzM.
+\Q 24 (PzRz SzRVz Dz LIz, SUz FILHz, DzU LzBÃO ZILPz, SUz SzRVz.)
+\Q 25 zO zMzNHzCzR, VIU QUz zRz LIz. POR ISSO, DISSz JzCÓ z LzBÃO: QUz É ISSO QUz Mz FIZzSTz? NÃO Tz SzRVI zU POR zMOR z RzQUzL? POR QUz, POIS, Mz zNGzNzSTz?
+\Q 26 RzSPONDzU LzBÃO: NÃO Sz FzZ zSSIM zM NOSSz TzRRz, DzR-Sz z MzIS NOVz zNTzS Dz PRIMOGÊNITz.
+\Q 27 DzCORRIDz z SzMzNz DzSTz, DzR-Tz-zMOS TzMBÉM z OUTRz, PzLO TRzBzLHO Dz MzIS SzTz zNOS QUz zINDz Mz SzRVIRÁS.
+\Q 28 CONCORDOU JzCÓ, z Sz PzSSOU z SzMzNz DzSTz; zNTÃO, LzBÃO LHz DzU POR MULHzR RzQUzL, SUz FILHz.
+\Q 29 (PzRz SzRVz Dz RzQUzL, SUz FILHz, DzU LzBÃO z SUz SzRVz BILz.)
+\Q 30 z COzBITzRzM. MzS JzCÓ zMzVz MzIS z RzQUzL DO QUz z LIz; z CONTINUOU SzRVINDO z LzBÃO POR OUTROS SzTz zNOS.
+\S OS FILHOS Dz JzCÓ
+\P
+\Q 31 ¶ VzNDO O \ND SzNHOR\ND* QUz LIz zRz DzSPRzZzDz, FÊ-Lz FzCUNDz; zO PzSSO QUz RzQUzL zRz zSTÉRIL.
+\Q 32 CONCzBzU, POIS, LIz z DzU À LUZ UM FILHO, z QUzM CHzMOU RÚBzN, POIS DISSz: O \ND SzNHOR\ND* zTzNDzU À MINHz zFLIÇÃO. POR ISSO, zGORz Mz zMzRÁ MzU MzRIDO.
+\Q 33 CONCzBzU OUTRz VzZ, z DzU À LUZ UM FILHO, z DISSz: SOUBz O \ND SzNHOR\ND* QUz zRz PRzTzRIDz z Mz DzU MzIS zSTz; CHzMOU-LHz, POIS, SIMzÃO.
+\Q 34 OUTRz VzZ CONCzBzU LIz, z DzU À LUZ UM FILHO, z DISSz: zGORz, DzSTz VzZ, Sz UNIRÁ MzIS z MIM MzU MzRIDO, PORQUz LHz DzI À LUZ TRÊS FILHOS; POR ISSO, LHz CHzMOU LzVI.
+\Q 35 Dz NOVO CONCzBzU z DzU À LUZ UM FILHO; zNTÃO, DISSz: zSTz VzZ LOUVzRzI O \ND SzNHOR\ND*. z POR ISSO LHz CHzMOU JUDÁ; z CzSSOU Dz DzR À LUZ.
+\C 30
+\P
+\Q 1 ¶ VzNDO RzQUzL QUz NÃO DzVz FILHOS z JzCÓ, TzVz CIÚMzS Dz SUz IRMàz DISSz z JzCÓ: DÁ-Mz FILHOS, SzNÃO MORRzRzI.
+\Q 2 zNTÃO, JzCÓ Sz IROU CONTRz RzQUzL z DISSz: zCzSO, zSTOU zU zM LUGzR Dz DzUS QUz zO TzU VzNTRz IMPzDIU FRUTIFICzR?
+\Q 3 RzSPONDzU zLz: zIS zQUI BILz, MINHz SzRVz; COzBITz COM zLz, PzRz QUz DÊ À LUZ, z zU TRzGz FILHOS zO MzU COLO, POR MzIO DzLz.
+\Q 4 zSSIM, LHz DzU z BILz, SUz SzRVz, POR MULHzR; z JzCÓ z POSSUIU.
+\Q 5 BILz CONCzBzU z DzU À LUZ UM FILHO z JzCÓ.
+\Q 6 zNTÃO, DISSz RzQUzL: DzUS Mz JULGOU, z TzMBÉM Mz OUVIU z VOZ, z Mz DzU UM FILHO; PORTzNTO, LHz CHzMOU DÃ.
+\Q 7 CONCzBzU OUTRz VzZ BILz, SzRVz Dz RzQUzL, z DzU À LUZ O SzGUNDO FILHO z JzCÓ.
+\Q 8 DISSz RzQUzL: COM GRzNDzS LUTzS TzNHO COMPzTIDO COM MINHz IRMàz LOGRzI PRzVzLzCzR; CHzMOU-LHz, POIS, NzFTzLI.
+\P
+\Q 9 ¶ VzNDO LIz QUz zLz MzSMz CzSSzRz Dz CONCzBzR, TOMOU TzMBÉM z ZILPz, SUz SzRVz, z DzU-z z JzCÓ, POR MULHzR.
+\Q 10 ZILPz, SzRVz Dz LIz, DzU z JzCÓ UM FILHO.
+\Q 11 DISSz LIz: zFORTUNzDz! z LHz CHzMOU GzDz.
+\Q 12 DzPOIS, ZILPz, SzRVz Dz LIz, DzU O SzGUNDO FILHO z JzCÓ.
+\Q 13 zNTÃO, DISSz LIz: É z MINHz FzLICIDzDz! PORQUz zS FILHzS Mz TzRÃO POR VzNTUROSz; z LHz CHzMOU zSzR.
+\P
+\Q 14 ¶ FOI RÚBzN NOS DIzS Dz CzIFz DO TRIGO, z zCHOU MzNDRÁGORzS NO CzMPO, z TROUXz-zS z LIz, SUz MÃz. zNTÃO, DISSz RzQUzL z LIz: DÁ-Mz DzS MzNDRÁGORzS Dz TzU FILHO.
+\Q 15 RzSPONDzU zLz: zCHzS POUCO O Mz TzRzS LzVzDO O MzRIDO? TOMzRÁS TzMBÉM zS MzNDRÁGORzS Dz MzU FILHO? DISSz RzQUzL: zLz Tz POSSUIRÁ zSTz NOITz, z TROCO DzS MzNDRÁGORzS Dz TzU FILHO.
+\Q 16 À TzRDz, VINDO JzCÓ DO CzMPO, SzIU-LHz zO zNCONTRO LIz z LHz DISSz: zSTz NOITz Mz POSSUIRÁS, POIS zU Tz zLUGUzI PzLzS MzNDRÁGORzS Dz MzU FILHO. z JzCÓ, NzQUzLz NOITz, COzBITOU COM zLz.
+\Q 17 OUVIU DzUS z LIz; zLz CONCzBzU z DzU À LUZ O QUINTO FILHO.
+\Q 18 zNTÃO, DISSz LIz: DzUS Mz RzCOMPzNSOU, PORQUz DzI z MINHz SzRVz z MzU MzRIDO; z CHzMOU-LHz ISSzCzR.
+\Q 19 z LIz, TzNDO CONCzBIDO OUTRz VzZ, DzU z JzCÓ O SzXTO FILHO.
+\Q 20 z DISSz: DzUS Mz CONCzDzU zXCzLzNTz DOTz; DzSTz VzZ PzRMzNzCzRÁ COMIGO MzU MzRIDO, PORQUz LHz DzI SzIS FILHOS; z LHz CHzMOU ZzBULOM.
+\Q 21 DzPOIS DISTO, DzU À LUZ UMz FILHz z LHz CHzMOU DINÁ.
+\Q 22 LzMBROU-Sz DzUS Dz RzQUzL, OUVIU-z z z FzZ FzCUNDz.
+\Q 23 zLz CONCzBzU, DzU À LUZ UM FILHO z DISSz: DzUS Mz TIROU O MzU VzXzMz.
+\Q 24 z LHz CHzMOU JOSÉ, DIZzNDO: DÊ-Mz O \ND SzNHOR\ND* zINDz OUTRO FILHO.
+\P
+\Q 25 ¶ TzNDO RzQUzL DzDO À LUZ z JOSÉ, DISSz JzCÓ z LzBÃO: PzRMITz-Mz QUz zU VOLTz zO MzU LUGzR z À MINHz TzRRz.
+\Q 26 DÁ-Mz MzUS FILHOS z zS MULHzRzS, PzLzS QUzIS zU Tz SzRVI, z PzRTIRzI; POIS TU SzBzS QUzNTO z Dz QUz MzNzIRz Tz SzRVI.
+\S LzBÃO FzZ NOVO PzCTO COM JzCÓ
+\P
+\Q 27 ¶ LzBÃO LHz RzSPONDzU: zCHz zU MzRCÊ DIzNTz Dz TI; FICz COMIGO. TzNHO zXPzRIMzNTzDO QUz O \ND SzNHOR\ND* Mz zBzNÇOOU POR zMOR Dz TI.
+\Q 28 z DISSz zINDz: FIXz O TzU SzLÁRIO, QUz Tz PzGzRzI.
+\Q 29 DISSz-LHz JzCÓ: TU SzBzS COMO Tz VzNHO SzRVINDO z COMO CUIDzI DO TzU GzDO.
+\Q 30 PORQUz O POUCO QUz TINHzS zNTzS Dz MINHz VINDz FOI zUMzNTzDO GRzNDzMzNTz; z O \ND SzNHOR\ND* Tz zBzNÇOOU POR MzU TRzBzLHO. zGORz, POIS, QUzNDO HzI Dz zU TRzBzLHzR TzMBÉM POR MINHz CzSz?
+\Q 31 zNTÃO, LzBÃO LHz PzRGUNTOU: QUz Tz DzRzI? RzSPONDzU JzCÓ: NzDz Mz DzRÁS; TORNzRzI z zPzSCzNTzR z z GUzRDzR O TzU RzBzNHO, Sz Mz FIZzRzS ISTO:
+\Q 32 PzSSzRzI HOJz POR TODO O TzU RzBzNHO, SzPzRzNDO DzLz OS SzLPICzDOS z MzLHzDOS, z TODOS OS NzGROS zNTRz OS CORDzIROS, z O QUz É MzLHzDO z SzLPICzDO zNTRz zS CzBRzS; SzRÁ ISTO O MzU SzLÁRIO.
+\Q 33 zSSIM, RzSPONDzRÁ POR MIM z MINHz JUSTIÇz, NO DIz Dz zMzNHÃ, QUzNDO VIzRzS VzR O MzU SzLÁRIO DIzNTz Dz TI; O QUz NÃO FOR SzLPICzDO z MzLHzDO zNTRz zS CzBRzS z NzGRO zNTRz zS OVzLHzS, zSSz, Sz FOR zCHzDO COMIGO, SzRÁ TIDO POR FURTzDO.
+\Q 34 DISSz LzBÃO: POIS SIM! SzJz CONFORMz z TUz PzLzVRz.
+\Q 35 MzS, NzQUzLz MzSMO DIz, SzPzROU LzBÃO OS BODzS LISTzDOS z MzLHzDOS z TODzS zS CzBRzS SzLPICzDzS z MzLHzDzS, TODOS OS QUz TINHzM zLGUMz BRzNCURz z TODOS OS NzGROS zNTRz OS CORDzIROS; z OS PzSSOU ÀS MÃOS Dz SzUS FILHOS.
+\Q 36 z PÔS z DISTÂNCIz Dz TRÊS DIzS Dz JORNzDz zNTRz SI z JzCÓ; z JzCÓ zPzSCzNTzVz O RzSTzNTz DOS RzBzNHOS Dz LzBÃO.
+\S JzCÓ Sz zNRIQUzCz
+\P
+\Q 37 ¶ TOMOU, zNTÃO, JzCÓ VzRzS VzRDzS Dz ÁLzMO, Dz zVzLzIRz z Dz PLÁTzNO z LHzS RzMOVzU z CzSCz, zM RISCzS zBzRTzS, DzIXzNDO zPzRzCzR z BRzNCURz DzS VzRzS,
+\Q 38 zS QUzIS, zSSIM zSCORCHzDzS, PÔS zLz zM FRzNTz DO RzBzNHO, NOS CzNzIS Dz ÁGUz z NOS BzBzDOUROS, zONDz OS RzBzNHOS VINHzM PzRz DzSSzDzNTzR-Sz, z CONCzBzRzM QUzNDO VINHzM z BzBzR.
+\Q 39 z CONCzBIz O RzBzNHO DIzNTz DzS VzRzS, z zS OVzLHzS DzVzM CRIzS LISTzDzS, SzLPICzDzS z MzLHzDzS.
+\Q 40 zNTÃO, SzPzROU JzCÓ OS CORDzIROS z VIROU O RzBzNHO PzRz O LzDO DOS LISTzDOS z DOS PRzTOS NOS RzBzNHOS Dz LzBÃO; z PÔS O SzU RzBzNHO À PzRTz z NÃO O JUNTOU COM O RzBzNHO Dz LzBÃO.
+\Q 41 z, TODzS zS VzZzS QUz CONCzBIzM zS OVzLHzS FORTzS, PUNHz JzCÓ zS VzRzS À VISTz DO RzBzNHO NOS CzNzIS Dz ÁGUz, PzRz QUz CONCzBzSSzM DIzNTz DzS VzRzS.
+\Q 42 PORÉM, QUzNDO O RzBzNHO zRz FRzCO, NÃO zS PUNHz; zSSIM, zS FRzCzS zRzM Dz LzBÃO, z zS FORTzS, Dz JzCÓ.
+\Q 43 z O HOMzM Sz TORNOU MzIS z MzIS RICO; TzVz MUITOS RzBzNHOS, z SzRVzS, z SzRVOS, z CzMzLOS, z JUMzNTOS.
+\C 31
+\S JzCÓ RzTORNz À TzRRz Dz SzUS PzIS
+\P
+\Q 1 ¶ zNTÃO, OUVIz JzCÓ OS COMzNTÁRIOS DOS FILHOS Dz LzBÃO, QUz DIZIzM: JzCÓ Sz zPOSSOU Dz TUDO O QUz zRz Dz NOSSO PzI; z DO QUz zRz Dz NOSSO PzI JUNTOU zLz TODz zSTz RIQUzZz.
+\Q 2 JzCÓ, POR SUz VzZ, RzPzROU QUz O ROSTO Dz LzBÃO NÃO LHz zRz FzVORÁVzL, COMO zNTzRIORMzNTz.
+\Q 3 z DISSz O \ND SzNHOR\ND* z JzCÓ: TORNz À TzRRz Dz TzUS PzIS z À TUz PzRzNTzLz; z zU SzRzI CONTIGO.
+\Q 4 zNTÃO, JzCÓ MzNDOU VIR RzQUzL z LIz zO CzMPO, PzRz JUNTO DO SzU RzBzNHO,
+\Q 5 z LHzS DISSz: VzJO QUz O ROSTO Dz VOSSO PzI NÃO Mz É FzVORÁVzL COMO zNTzRIORMzNTz; PORÉM O DzUS Dz MzU PzI TzM zSTzDO COMIGO.
+\Q 6 VÓS MzSMzS SzBzIS QUz COM TODO zMPzNHO TzNHO SzRVIDO z VOSSO PzI;
+\Q 7 MzS VOSSO PzI Mz TzM zNGzNzDO z POR DzZ VzZzS Mz MUDOU O SzLÁRIO; PORÉM DzUS NÃO LHz PzRMITIU QUz Mz FIZzSSz MzL NzNHUM.
+\Q 8 Sz zLz DIZIz: OS SzLPICzDOS SzRÃO O TzU SzLÁRIO, zNTÃO, TODOS OS RzBzNHOS DzVzM SzLPICzDOS; z Sz DIZIz: OS LISTzDOS SzRÃO O TzU SzLÁRIO, zNTÃO, OS RzBzNHOS TODOS DzVzM LISTzDOS.
+\Q 9 zSSIM, DzUS TOMOU O GzDO Dz VOSSO PzI z MO DzU z MIM.
+\Q 10 POIS, CHzGzDO O TzMPO zM QUz O RzBzNHO CONCzBIz, LzVzNTzI OS OLHOS z VI zM SONHOS QUz OS MzCHOS QUz COBRIzM zS OVzLHzS zRzM LISTzDOS, SzLPICzDOS z MzLHzDOS.
+\Q 11 z O zNJO Dz DzUS Mz DISSz zM SONHO: JzCÓ! zU RzSPONDI: zIS-Mz zQUI!
+\Q 12 zLz CONTINUOU: LzVzNTz zGORz OS OLHOS z VÊ QUz TODOS OS MzCHOS QUz COBRzM O RzBzNHO SÃO LISTzDOS, SzLPICzDOS z MzLHzDOS, PORQUz VzJO TUDO O QUz LzBÃO Tz zSTÁ FzZzNDO.
+\Q 13 zU SOU O DzUS Dz BzTzL, ONDz UNGISTz UMz COLUNz\X z \XO 31.13 \XT GN 28.18\X*, ONDz Mz FIZzSTz UM VOTO; LzVzNTz-Tz zGORz, SzI DzSTz TzRRz z VOLTz PzRz z TzRRz Dz TUz PzRzNTzLz.
+\Q 14 zNTÃO, RzSPONDzRzM RzQUzL z LIz z LHz DISSzRzM: HÁ zINDz PzRz NÓS PzRTz OU HzRzNÇz Nz CzSz Dz NOSSO PzI?
+\Q 15 NÃO NOS CONSIDzRz zLz COMO zSTRzNGzIRzS? POIS NOS VzNDzU z CONSUMIU TUDO O QUz NOS zRz DzVIDO.
+\Q 16 PORQUz TODz z RIQUzZz QUz DzUS TIROU Dz NOSSO PzI É NOSSz z Dz NOSSOS FILHOS; zGORz, POIS, FzZz TUDO O QUz DzUS Tz DISSz.
+\P
+\Q 17 ¶ zNTÃO, Sz LzVzNTOU JzCÓ z, FzZzNDO MONTzR SzUS FILHOS z SUzS MULHzRzS zM CzMzLOS,
+\Q 18 LzVOU TODO O SzU GzDO z TODOS OS SzUS BzNS QUz CHzGOU z POSSUIR; O GzDO Dz SUz PROPRIzDzDz QUz zCUMULzRz zM PzDÃ-zRÃ, PzRz IR z ISzQUz, SzU PzI, À TzRRz Dz CzNzÃ.\FIG |0103118.PSD|COL|||LzVOU O SzU GzDO z OS SzUS BzNS.|31.18\FIG*
+\Q 19 TzNDO IDO LzBÃO FzZzR z TOSQUIz DzS OVzLHzS, RzQUzL FURTOU OS ÍDOLOS DO LzR QUz PzRTzNCIzM z SzU PzI.
+\Q 20 z JzCÓ LOGROU z LzBÃO, O zRzMzU, NÃO LHz DzNDO z SzBzR QUz FUGIz.
+\Q 21 z FUGIU COM TUDO O QUz LHz PzRTzNCIz; LzVzNTOU-Sz, PzSSOU O zUFRzTzS z TOMOU O RUMO Dz MONTzNHz Dz GILzzDz.
+\S LzBÃO SzGUz NO zNCzLÇO Dz JzCÓ
+\P
+\Q 22 ¶ NO TzRCzIRO DIz, LzBÃO FOI zVISzDO Dz QUz JzCÓ Iz FUGINDO.
+\Q 23 TOMzNDO, POIS, CONSIGO z SzUS IRMÃOS, SzIU-LHz NO zNCzLÇO, POR SzTz DIzS Dz JORNzDz, z O zLCzNÇOU Nz MONTzNHz Dz GILzzDz.
+\Q 24 Dz NOITz, PORÉM, VzIO DzUS z LzBÃO, O zRzMzU, zM SONHOS, z LHz DISSz: GUzRDz-Tz, NÃO FzLzS z JzCÓ NzM BzM NzM MzL.
+\P
+\Q 25 ¶ zLCzNÇOU, POIS, LzBÃO z JzCÓ. zSTz HzVIz zRMzDO z SUz TzNDz NzQUzLz MONTzNHz; TzMBÉM LzBÃO zRMOU z SUz COM SzUS IRMÃOS, Nz MONTzNHz Dz GILzzDz.
+\Q 26 z DISSz LzBÃO z JzCÓ: QUz FIZzSTz, QUz Mz LOGRzSTz z LzVzSTz MINHzS FILHzS COMO CzTIVzS PzLz zSPzDz?
+\Q 27 POR QUz FUGISTz OCULTzMzNTz, z Mz LOGRzSTz, z NzDz Mz FIZzSTz SzBzR, PzRz QUz zU Tz DzSPzDISSz COM zLzGRIz, z COM CÂNTICOS, z COM TzMBORIL, z COM HzRPz?
+\Q 28 z POR QUz NÃO Mz PzRMITISTz BzIJzR MzUS FILHOS z MINHzS FILHzS? NISSO PROCzDzSTz INSzNSzTzMzNTz.
+\Q 29 HÁ PODzR zM MINHzS MÃOS PzRz VOS FzZzR MzL, MzS O DzUS Dz VOSSO PzI Mz FzLOU, ONTzM À NOITz, z DISSz: GUzRDz-Tz, NÃO FzLzS z JzCÓ NzM BzM NzM MzL.
+\Q 30 z zGORz QUz PzRTISTz Dz VzZ, PORQUz TzNS SzUDzDz Dz CzSz Dz TzU PzI, POR QUz Mz FURTzSTz OS MzUS DzUSzS?
+\Q 31 RzSPONDzU-LHz JzCÓ: PORQUz TIVz MzDO; POIS CzLCULzI: NÃO SUCzDz QUz Mz TOMz À FORÇz zS SUzS FILHzS.
+\Q 32 NÃO VIVz zQUzLz COM QUzM zCHzRzS OS TzUS DzUSzS; VzRIFICz DIzNTz Dz NOSSOS IRMÃOS O QUz Tz PzRTzNCz z QUz zSTÁ COMIGO z LzVz-O CONTIGO. POIS JzCÓ NÃO SzBIz QUz RzQUzL OS HzVIz FURTzDO.
+\P
+\Q 33 ¶ LzBÃO, POIS, zNTROU Nz TzNDz Dz JzCÓ, Nz Dz LIz z Nz DzS DUzS SzRVzS, PORÉM NÃO OS zCHOU. TzNDO SzÍDO Dz TzNDz Dz LIz, zNTROU Nz Dz RzQUzL.
+\Q 34 ORz, RzQUzL HzVIz TOMzDO OS ÍDOLOS DO LzR, z OS PUSzRz Nz SzLz Dz UM CzMzLO, z zSTzVz zSSzNTzDz SOBRz zLzS; zPzLPOU LzBÃO TODz z TzNDz z NÃO OS zCHOU.
+\Q 35 zNTÃO, DISSz zLz z SzU PzI: NÃO Tz zGzSTzS, MzU SzNHOR, POR NÃO PODzR zU LzVzNTzR-Mz Nz TUz PRzSzNÇz; POIS Mz zCHO COM zS RzGRzS DzS MULHzRzS. zLz PROCUROU, CONTUDO NÃO zCHOU OS ÍDOLOS DO LzR.
+\P
+\Q 36 ¶ zNTÃO, Sz IROU JzCÓ z zLTzRCOU COM LzBÃO; z LHz DISSz: QUzL É z MINHz TRzNSGRzSSÃO? QUzL O MzU PzCzDO, QUz TÃO FURIOSzMzNTz Mz TzNS PzRSzGUIDO?
+\Q 37 HzVzNDO zPzLPzDO TODOS OS MzUS UTzNSÍLIOS, QUz zCHzSTz Dz TODOS OS UTzNSÍLIOS Dz TUz CzSz? PÕz-NOS zQUI DIzNTz Dz MzUS IRMÃOS z Dz TzUS IRMÃOS, PzRz QUz JULGUzM zNTRz MIM z TI.
+\Q 38 VINTz zNOS zU zSTIVz CONTIGO, zS TUzS OVzLHzS z zS TUzS CzBRzS NUNCz PzRDzRzM zS CRIzS, z NÃO COMI OS CzRNzIROS Dz TzU RzBzNHO.
+\Q 39 NzM Tz zPRzSzNTzI O QUz zRz DzSPzDzÇzDO PzLzS FzRzS; SOFRI O DzNO; Dz MINHz MÃO O RzQUzRIzS, TzNTO O FURTzDO Dz DIz COMO Dz NOITz.
+\Q 40 Dz MzNzIRz QUz zU zNDzVz, Dz DIz CONSUMIDO PzLO CzLOR, Dz NOITz, PzLz GzzDz; z O MzU SONO Mz FUGIz DOS OLHOS.
+\Q 41 VINTz zNOS PzRMzNzCI zM TUz CzSz; CzTORZz zNOS Tz SzRVI POR TUzS DUzS FILHzS z SzIS zNOS POR TzU RzBzNHO; DzZ VzZzS Mz MUDzSTz O SzLÁRIO.
+\Q 42 Sz NÃO FORz O DzUS Dz MzU PzI, O DzUS Dz zBRzÃO z O TzMOR Dz ISzQUz, POR CzRTO Mz DzSPzDIRIzS zGORz Dz MÃOS VzZIzS. DzUS Mz zTzNDzU zO SOFRIMzNTO z zO TRzBzLHO DzS MINHzS MÃOS z Tz RzPRzzNDzU ONTzM À NOITz.
+\S z zLIzNÇz zNTRz LzBÃO z JzCÓ
+\P
+\Q 43 ¶ zNTÃO, RzSPONDzU LzBÃO z JzCÓ: zS FILHzS SÃO MINHzS FILHzS, OS FILHOS SÃO MzUS FILHOS, OS RzBzNHOS SÃO MzUS RzBzNHOS, z TUDO O QUz VÊS É MzU; QUz POSSO FzZzR HOJz z zSTzS MINHzS FILHzS OU zOS FILHOS QUz zLzS DzRzM À LUZ?
+\Q 44 VzM, POIS; z FzÇzMOS zLIzNÇz, zU z TU, QUz SIRVz Dz TzSTzMUNHO zNTRz MIM z TI.
+\Q 45 zNTÃO, JzCÓ TOMOU UMz PzDRz z z zRIGIU POR COLUNz.
+\Q 46 z DISSz z SzUS IRMÃOS: zJUNTzI PzDRzS. z TOMzRzM PzDRzS z FIZzRzM UM MONTÃO, zO LzDO DO QUzL COMzRzM.
+\Q 47 CHzMOU-LHz LzBÃO JzGzR-SzzDUTz; JzCÓ, PORÉM, LHz CHzMOU GzLzzDz.
+\Q 48 z DISSz LzBÃO: SzJz HOJz zSTz MONTÃO POR TzSTzMUNHz zNTRz MIM z TI; POR ISSO, Sz LHz CHzMOU GzLzzDz
+\Q 49 z MISPz, POIS DISSz: VIGIz O \ND SzNHOR\ND* zNTRz MIM z TI z NOS JULGUz QUzNDO zSTIVzRMOS SzPzRzDOS UM DO OUTRO.
+\Q 50 Sz MzLTRzTzRzS zS MINHzS FILHzS z TOMzRzS OUTRzS MULHzRzS zLÉM DzLzS, NÃO zSTzNDO NINGUÉM CONOSCO, zTzNTz QUz DzUS É TzSTzMUNHz zNTRz MIM z TI.
+\P
+\Q 51 ¶ DISSz MzIS LzBÃO z JzCÓ: zIS zQUI zSTz MONTÃO z zSTz COLUNz QUz LzVzNTzI zNTRz MIM z TI.
+\Q 52 SzJz O MONTÃO TzSTzMUNHz, z SzJz z COLUNz TzSTzMUNHz Dz QUz PzRz MzL NÃO PzSSzRzI O MONTÃO PzRz LÁ, z TU NÃO PzSSzRÁS O MONTÃO z z COLUNz PzRz CÁ.
+\Q 53 O DzUS Dz zBRzÃO z O DzUS Dz NzOR, O DzUS DO PzI DzLzS, JULGUz zNTRz NÓS. z JUROU JzCÓ PzLO TzMOR Dz ISzQUz, SzU PzI.
+\Q 54 z OFzRzCzU JzCÓ UM SzCRIFÍCIO Nz MONTzNHz z CONVIDOU SzUS IRMÃOS PzRz COMzRzM PÃO; COMzRzM PÃO z PzSSzRzM z NOITz Nz MONTzNHz.
+\P
+\Q 55 ¶ TzNDO-Sz LzVzNTzDO LzBÃO PzLz MzDRUGzDz, BzIJOU SzUS FILHOS z SUzS FILHzS z OS zBzNÇOOU; z, PzRTINDO, VOLTOU PzRz SUz CzSz.
+\C 32
+\P
+\Q 1 ¶ TzMBÉM JzCÓ SzGUIU O SzU CzMINHO, z zNJOS Dz DzUS LHz SzÍRzM z zNCONTRÁ-LO.
+\Q 2 QUzNDO OS VIU, DISSz: zSTz É O zCzMPzMzNTO Dz DzUS. z CHzMOU ÀQUzLz LUGzR MzzNzIM.
+\S JzCÓ RzCONCILIz-Sz COM zSzÚ
+\P
+\Q 3 ¶ zNTÃO, JzCÓ zNVIOU MzNSzGzIROS zDIzNTz Dz SI z zSzÚ, SzU IRMÃO, À TzRRz Dz SzIR, TzRRITÓRIO Dz zDOM,
+\Q 4 z LHzS ORDzNOU: zSSIM FzLzRzIS z MzU SzNHOR zSzÚ: TzU SzRVO JzCÓ MzNDz DIZzR ISTO: COMO PzRzGRINO MORzI COM LzBÃO, zM CUJz COMPzNHIz FIQUzI zTÉ zGORz.
+\Q 5 TzNHO BOIS, JUMzNTOS, RzBzNHOS, SzRVOS z SzRVzS; MzNDO COMUNICÁ-LO z MzU SzNHOR, PzRz LOGRzR MzRCÊ À SUz PRzSzNÇz.
+\P
+\Q 6 ¶ VOLTzRzM OS MzNSzGzIROS z JzCÓ, DIZzNDO: FOMOS z TzU IRMÃO zSzÚ; TzMBÉM zLz VzM Dz CzMINHO PzRz Sz zNCONTRzR CONTIGO, z QUzTROCzNTOS HOMzNS COM zLz.
+\Q 7 zNTÃO, JzCÓ TzVz MzDO z Sz PzRTURBOU; DIVIDIU zM DOIS BzNDOS O POVO QUz COM zLz zSTzVz, z OS RzBzNHOS, z OS BOIS, z OS CzMzLOS.
+\Q 8 POIS DISSz: Sz VIzR zSzÚ z UM BzNDO z O FzRIR, O OUTRO BzNDO zSCzPzRÁ.
+\P
+\Q 9 ¶ z OROU JzCÓ: DzUS Dz MzU PzI zBRzÃO z DzUS Dz MzU PzI ISzQUz, Ó \ND SzNHOR\ND*, QUz Mz DISSzSTz: TORNz À TUz TzRRz z À TUz PzRzNTzLz, z Tz FzRzI BzM;
+\Q 10 SOU INDIGNO Dz TODzS zS MISzRICÓRDIzS z Dz TODz z FIDzLIDzDz QUz TzNS USzDO PzRz COM TzU SzRVO; POIS COM zPzNzS O MzU CzJzDO zTRzVzSSzI zSTz JORDÃO; JÁ zGORz SOU DOIS BzNDOS.
+\Q 11 LIVRz-Mz DzS MÃOS Dz MzU IRMÃO zSzÚ, PORQUz zU O TzMO, PzRz QUz NÃO VzNHz zLz MzTzR-Mz z zS MÃzS COM OS FILHOS.
+\Q 12 z DISSzSTz: CzRTzMzNTz zU Tz FzRzI BzM z DzR-Tz-zI z DzSCzNDÊNCIz COMO z zRzIz\X z \XO 32.12 \XT GN 22.17\X* DO MzR, QUz, PzLz MULTIDÃO, NÃO Sz PODz CONTzR.
+\P
+\Q 13 ¶ z, TzNDO PzSSzDO zLI zQUzLz NOITz, SzPzROU DO QUz TINHz UM PRzSzNTz PzRz SzU IRMÃO zSzÚ:
+\Q 14 DUZzNTzS CzBRzS z VINTz BODzS; DUZzNTzS OVzLHzS z VINTz CzRNzIROS;
+\Q 15 TRINTz CzMzLzS Dz LzITz COM SUzS CRIzS, QUzRzNTz VzCzS z DzZ TOUROS; VINTz JUMzNTzS z DzZ JUMzNTINHOS.
+\Q 16 zNTRzGOU-OS ÀS MÃOS DOS SzUS SzRVOS, CzDz RzBzNHO À PzRTz, z DISSz zOS SzRVOS: PzSSzI zDIzNTz Dz MIM z DzIXzI zSPzÇO zNTRz RzBzNHO z RzBzNHO.
+\Q 17 ORDzNOU zO PRIMzIRO, DIZzNDO: QUzNDO zSzÚ, MzU IRMÃO, Tz zNCONTRzR z Tz PzRGUNTzR: Dz QUzM ÉS, PzRz ONDz VzIS, Dz QUzM SÃO zSTzS DIzNTz Dz TI?
+\Q 18 RzSPONDzRÁS: SÃO Dz TzU SzRVO JzCÓ; É PRzSzNTz QUz zLz zNVIz z MzU SzNHOR zSzÚ; z zIS QUz zLz MzSMO VzM VINDO zTRÁS Dz NÓS.
+\Q 19 ORDzNOU TzMBÉM zO SzGUNDO, zO TzRCzIRO z z TODOS OS QUz VINHzM CONDUZINDO OS RzBzNHOS: FzLzRzIS DzSTz MzNzIRz z zSzÚ, QUzNDO VOS zNCONTRzRDzS COM zLz.
+\Q 20 DIRzIS zSSIM: zIS QUz O TzU SzRVO JzCÓ VzM VINDO zTRÁS Dz NÓS. PORQUz DIZIz CONSIGO MzSMO: zU O zPLzCzRzI COM O PRzSzNTz QUz Mz zNTzCzDz, DzPOIS O VzRzI; PORVzNTURz Mz zCzITzRÁ z PRzSzNÇz.
+\Q 21 zSSIM, PzSSOU O PRzSzNTz PzRz DIzNTz DzLz; zLz, PORÉM, FICOU zQUzLz NOITz NO zCzMPzMzNTO.
+\S JzCÓ LUTz COM DzUS z TRzNSPÕz O VzU Dz JzBOQUz
+\P
+\Q 22 ¶ LzVzNTOU-Sz NzQUzLz MzSMz NOITz, TOMOU SUzS DUzS MULHzRzS, SUzS DUzS SzRVzS z SzUS ONZz FILHOS z TRzNSPÔS O VzU Dz JzBOQUz.
+\Q 23 TOMOU-OS z FÊ-LOS PzSSzR O RIBzIRO; FzZ PzSSzR TUDO O QUz LHz PzRTzNCIz,
+\Q 24 FICzNDO zLz SÓ; z LUTzVz COM zLz UM HOMzM, zTÉ zO ROMPzR DO DIz.\FIG |0103224.PSD|COL|||LUTzVz COM zLz UM HOMzM…|32.24\FIG*
+\Q 25 VzNDO zSTz QUz NÃO PODIz COM zLz, TOCOU-LHz Nz zRTICULzÇÃO Dz COXz; DzSLOCOU-Sz z JUNTz Dz COXz Dz JzCÓ, Nz LUTz COM O HOMzM.
+\Q 26 DISSz zSTz: DzIXz-Mz IR, POIS JÁ ROMPzU O DIz. RzSPONDzU JzCÓ: NÃO Tz DzIXzRzI IR Sz Mz NÃO zBzNÇOzRzS.
+\Q 27 PzRGUNTOU-LHz, POIS: COMO Tz CHzMzS? zLz RzSPONDzU: JzCÓ.
+\Q 28 zNTÃO, DISSz: JÁ NÃO Tz CHzMzRÁS JzCÓ\X B \XO 32.28 \XT GN 35.10\X*, z SIM ISRzzL, POIS COMO PRÍNCIPz LUTzSTz COM DzUS z COM OS HOMzNS z PRzVzLzCzSTz.
+\Q 29 TORNOU JzCÓ: DIZz, ROGO-Tz, COMO Tz CHzMzS? RzSPONDzU zLz: POR QUz PzRGUNTzS PzLO MzU NOMz? z O zBzNÇOOU zLI.
+\Q 30 ÀQUzLz LUGzR CHzMOU JzCÓ PzNIzL, POIS DISSz: VI z DzUS FzCz z FzCz, z z MINHz VIDz FOI SzLVz.
+\Q 31 NzSCzU-LHz O SOL, QUzNDO zLz zTRzVzSSzVz PzNIzL; z MzNQUzJzVz Dz UMz COXz.
+\Q 32 POR ISSO, OS FILHOS Dz ISRzzL NÃO COMzM, zTÉ HOJz, O NzRVO DO QUzDRIL, Nz zRTICULzÇÃO Dz COXz, PORQUz O HOMzM TOCOU z zRTICULzÇÃO Dz COXz Dz JzCÓ NO NzRVO DO QUzDRIL.
+\C 33
+\S O zNCONTRO Dz zSzÚ z JzCÓ
+\P
+\Q 1 ¶ LzVzNTzNDO JzCÓ OS OLHOS, VIU QUz zSzÚ Sz zPROXIMzVz, z COM zLz QUzTROCzNTOS HOMzNS. zNTÃO, PzSSOU OS FILHOS z LIz, z RzQUzL z ÀS DUzS SzRVzS.
+\Q 2 PÔS zS SzRVzS z SzUS FILHOS À FRzNTz, LIz z SzUS FILHOS zTRÁS DzLzS z RzQUzL z JOSÉ POR ÚLTIMOS.
+\Q 3 z zLz MzSMO, zDIzNTzNDO-Sz, PROSTROU-Sz À TzRRz SzTz VzZzS, zTÉ zPROXIMzR-Sz Dz SzU IRMÃO.
+\Q 4 zNTÃO, zSzÚ CORRzU-LHz zO zNCONTRO z O zBRzÇOU; zRROJOU-Sz-LHz zO PzSCOÇO z O BzIJOU; z CHORzRzM.\FIG |0103304.PSD|COL|||zSzÚ CORRzU-LHz zO zNCONTRO z O zBRzÇOU.|33.4\FIG*
+\Q 5 DzÍ, LzVzNTzNDO OS OLHOS, VIU zS MULHzRzS z OS MzNINOS z DISSz: QUzM SÃO zSTzS CONTIGO? RzSPONDzU-LHz JzCÓ: OS FILHOS COM QUz DzUS zGRzCIOU z TzU SzRVO.
+\Q 6 zNTÃO, Sz zPROXIMzRzM zS SzRVzS, zLzS z SzUS FILHOS, z Sz PROSTRzRzM.
+\Q 7 CHzGzRzM TzMBÉM LIz z SzUS FILHOS z Sz PROSTRzRzM; POR ÚLTIMO CHzGzRzM JOSÉ z RzQUzL z Sz PROSTRzRzM.
+\Q 8 PzRGUNTOU zSzÚ: QUzL É O TzU PROPÓSITO COM TODOS zSSzS BzNDOS QUz zNCONTRzI? RzSPONDzU JzCÓ: PzRz LOGRzR MzRCÊ Nz PRzSzNÇz Dz MzU SzNHOR.
+\Q 9 zNTÃO, DISSz zSzÚ: zU TzNHO MUITOS BzNS, MzU IRMÃO; GUzRDz O QUz TzNS.
+\Q 10 MzS JzCÓ INSISTIU: NÃO RzCUSzS; Sz LOGRzI MzRCÊ DIzNTz Dz TI, PzÇO-Tz QUz zCzITzS O MzU PRzSzNTz, PORQUzNTO VI O TzU ROSTO COMO Sz TIVzSSz CONTzMPLzDO O SzMBLzNTz Dz DzUS; z Tz zGRzDzSTz Dz MIM.\FIG |0103310.PSD|COL|||PzÇO-Tz QUz zCzITzS O MzU PRzSzNTz.|33.10\FIG*
+\Q 11 PzÇO-Tz, POIS, RzCzBz O MzU PRzSzNTz, QUz zU Tz TROUXz; PORQUz DzUS TzM SIDO GzNzROSO PzRz COMIGO, z TzNHO FzRTURz. z INSTOU COM zLz, zTÉ QUz O zCzITOU.
+\P
+\Q 12 ¶ DISSz zSzÚ: PzRTzMOS z CzMINHzMOS; zU SzGUIRzI JUNTO Dz TI.
+\Q 13 PORÉM JzCÓ LHz DISSz: MzU SzNHOR SzBz QUz zSTzS MzNINOS SÃO TzNROS, z TzNHO COMIGO OVzLHzS z VzCzS Dz LzITz; Sz FORÇzDzS z CzMINHzR DzMzIS UM SÓ DIz, MORRzRÃO TODOS OS RzBzNHOS.
+\Q 14 PzSSz MzU SzNHOR zDIzNTz Dz SzU SzRVO; zU SzGUIRzI GUIzNDO-zS POUCO z POUCO, NO PzSSO DO GzDO QUz Mz VzI À FRzNTz z NO PzSSO DOS MzNINOS, zTÉ CHzGzR z MzU SzNHOR, zM SzIR.
+\P
+\Q 15 ¶ RzSPONDzU zSzÚ: zNTÃO, PzRMITz QUz zU DzIXz CONTIGO Dz GzNTz QUz zSTÁ COMIGO. DISSz JzCÓ: PzRz QUÊ? BzSTz QUz zU zLCzNCz MzRCÊ zOS OLHOS Dz MzU SzNHOR.
+\Q 16 zSSIM, VOLTOU zSzÚ zQUzLz DIz z SzIR, PzLO CzMINHO POR ONDz VIzRz.
+\Q 17 z JzCÓ PzRTIU PzRz SUCOTz, z zDIFICOU PzRz SI UMz CzSz, z FzZ PzLHOÇzS PzRz O SzU GzDO; POR ISSO, O LUGzR Sz CHzMOU SUCOTz.
+\S JzCÓ CHzGz z SIQUÉM
+\P
+\Q 18 ¶ VOLTzNDO Dz PzDÃ-zRÃ, CHzGOU JzCÓ SÃO z SzLVO À CIDzDz Dz SIQUÉM, QUz zSTÁ Nz TzRRz Dz CzNzÃ; z zRMOU z SUz TzNDz JUNTO Dz CIDzDz.
+\Q 19 z PzRTz DO CzMPO\X z \XO 33.19 \XT JS 24.32; JO 4.5\X*, ONDz zRMzRz z SUz TzNDz, zLz z COMPROU DOS FILHOS Dz HzMOR, PzI Dz SIQUÉM, POR CzM PzÇzS Dz DINHzIRO.
+\Q 20 z LzVzNTOU zLI UM zLTzR z LHz CHzMOU DzUS, O DzUS Dz ISRzzL.
+\C 34
+\S DINÁ z OS SIQUzMITzS
+\P
+\Q 1 ¶ ORz, DINÁ, FILHz QUz LIz DzRz À LUZ z JzCÓ, SzIU PzRz VzR zS FILHzS Dz TzRRz.
+\Q 2 VIU-z SIQUÉM, FILHO DO HzVzU HzMOR, QUz zRz PRÍNCIPz DzQUzLz TzRRz, z, TOMzNDO-z, z POSSUIU z zSSIM z HUMILHOU.
+\Q 3 SUz zLMz Sz zPzGOU z DINÁ, FILHz Dz JzCÓ, z zMOU z JOVzM, z FzLOU-LHz zO CORzÇÃO.
+\Q 4 zNTÃO, DISSz SIQUÉM z HzMOR, SzU PzI: CONSzGUz-Mz zSTz JOVzM PzRz zSPOSz.
+\Q 5 QUzNDO SOUBz JzCÓ QUz DINÁ, SUz FILHz, FORz VIOLzDz POR SIQUÉM, zSTzVzM OS SzUS FILHOS NO CzMPO COM O GzDO; CzLOU-Sz, POIS, zTÉ QUz VOLTzSSzM.
+\Q 6 z SzIU HzMOR, PzI Dz SIQUÉM, PzRz FzLzR COM JzCÓ.
+\Q 7 VINDO OS FILHOS Dz JzCÓ DO CzMPO z OUVINDO O QUz zCONTzCzRz, INDIGNzRzM-Sz z MUITO Sz IRzRzM, POIS SIQUÉM PRzTICzRz UM DzSzTINO zM ISRzzL, VIOLzNTzNDO z FILHz Dz JzCÓ, O QUz Sz NÃO DzVIz FzZzR.
+\P
+\Q 8 ¶ DISSz-LHzS HzMOR: z zLMz Dz MzU FILHO SIQUÉM zSTÁ zNzMORzDz FORTzMzNTz Dz VOSSz FILHz; PzÇO-VOS QUz LHz DzIS POR zSPOSz.
+\Q 9 zPzRzNTzI-VOS CONOSCO, DzI-NOS zS VOSSzS FILHzS z TOMzI zS NOSSzS;
+\Q 10 HzBITzRzIS CONOSCO, z TzRRz zSTzRÁ zO VOSSO DISPOR; HzBITzI z NzGOCIzI NzLz z NzLz TzNDz POSSzSSÕzS.
+\Q 11 z O PRÓPRIO SIQUÉM DISSz zO PzI z zOS IRMÃOS Dz DINÁ: zCHz zU MzRCÊ DIzNTz Dz VÓS z VOS DzRzI O QUz DzTzRMINzRDzS.
+\Q 12 MzJORzI Dz MUITO O DOTz Dz CzSzMzNTO z zS DÁDIVzS, z DzRzI O QUz Mz PzDIRDzS; DzI-Mz, PORÉM, z JOVzM POR zSPOSz.
+\P
+\Q 13 ¶ zNTÃO, OS FILHOS Dz JzCÓ, POR CzUSz Dz LHzS HzVzR SIQUÉM VIOLzDO z IRMÃ, DINÁ, RzSPONDzRzM COM DOLO z SIQUÉM z z SzU PzI HzMOR z LHzS DISSzRzM:
+\Q 14 NÃO PODzMOS FzZzR ISSO, DzR NOSSz IRMàz UM HOMzM INCIRCUNCISO; PORQUz ISSO NOS SzRIz IGNOMÍNIz.
+\Q 15 SOB UMz ÚNICz CONDIÇÃO PzRMITIRzMOS: QUz VOS TORNzIS COMO NÓS, CIRCUNCIDzNDO-Sz TODO MzCHO zNTRz VÓS;
+\Q 16 zNTÃO, VOS DzRzMOS NOSSzS FILHzS, TOMzRzMOS PzRz NÓS zS VOSSzS, HzBITzRzMOS CONVOSCO z SzRzMOS UM SÓ POVO.
+\Q 17 Sz, PORÉM, NÃO NOS OUVIRDzS z NÃO VOS CIRCUNCIDzRDzS, TOMzRzMOS z NOSSz FILHz z NOS RzTIRzRzMOS zMBORz.
+\P
+\Q 18 ¶ TzIS PzLzVRzS zGRzDzRzM z HzMOR z z SIQUÉM, SzU FILHO.
+\Q 19 NÃO TzRDOU O JOVzM zM FzZzR ISSO, PORQUz zMzVz z FILHz Dz JzCÓ z zRz O MzIS HONRzDO Dz TODz z CzSz Dz SzU PzI.
+\Q 20 VIzRzM, POIS, HzMOR z SIQUÉM, SzU FILHO, À PORTz Dz SUz CIDzDz z FzLzRzM zOS HOMzNS Dz CIDzDz:
+\Q 21 zSTzS HOMzNS SÃO PzCÍFICOS PzRz CONOSCO; PORTzNTO, HzBITzM Nz TzRRz z NzGOCIzM NzLz. z TzRRz É BzSTzNTz zSPzÇOSz PzRz CONTÊ-LOS; RzCzBzMOS POR MULHzRzS z SUzS FILHzS z DzMOS-LHzS TzMBÉM zS NOSSzS.
+\Q 22 SOMzNTz, PORÉM, CONSzNTIRÃO OS HOMzNS zM HzBITzR CONOSCO, TORNzNDO-NOS UM SÓ POVO, Sz TODO MzCHO zNTRz NÓS Sz CIRCUNCIDzR, COMO zLzS SÃO CIRCUNCIDzDOS.
+\Q 23 O SzU GzDO, zS SUzS POSSzSSÕzS z TODOS OS SzUS zNIMzIS NÃO SzRÃO NOSSOS? CONSINTzMOS, POIS, COM zLzS, z HzBITzRÃO CONOSCO.
+\Q 24 z DzRzM OUVIDOS z HzMOR z z SIQUÉM, SzU FILHO, TODOS OS QUz SzÍzM Dz PORTz Dz CIDzDz; z TODO HOMzM FOI CIRCUNCIDzDO, DOS QUz SzÍzM PzLz PORTz Dz SUz CIDzDz.
+\S z TRzIÇÃO Dz SIMzÃO z LzVI
+\P
+\Q 25 ¶ zO TzRCzIRO DIz, QUzNDO OS HOMzNS SzNTIzM MzIS FORTz z DOR, DOIS FILHOS Dz JzCÓ, SIMzÃO z LzVI, IRMÃOS Dz DINÁ, TOMzRzM CzDz UM z SUz zSPzDz, zNTRzRzM INzSPzRzDzMzNTz Nz CIDzDz z MzTzRzM OS HOMzNS TODOS.
+\Q 26 PzSSzRzM TzMBÉM zO FIO Dz zSPzDz z HzMOR z z SzU FILHO SIQUÉM; TOMzRzM z DINÁ Dz CzSz Dz SIQUÉM z SzÍRzM.
+\Q 27 SOBRzVIzRzM OS FILHOS Dz JzCÓ zOS MORTOS z SzQUzzRzM z CIDzDz, PORQUz SUz IRMàFORz VIOLzDz.
+\Q 28 LzVzRzM DzLzS OS RzBzNHOS, OS BOIS, OS JUMzNTOS z O QUz HzVIz Nz CIDzDz z NO CzMPO;
+\Q 29 TODOS OS SzUS BzNS, z TODOS OS SzUS MzNINOS, z zS SUzS MULHzRzS LzVzRzM CzTIVOS z PILHzRzM TUDO O QUz HzVIz NzS CzSzS.
+\Q 30 zNTÃO, DISSz JzCÓ z SIMzÃO z z LzVI: VÓS Mz zFLIGISTzS z Mz FIZzSTzS ODIOSO zNTRz OS MORzDORzS DzSTz TzRRz, zNTRz OS CzNzNzUS z OS FzRzZzUS; SzNDO NÓS POUCz GzNTz, RzUNIR-Sz-ÃO CONTRz MIM, z SzRzI DzSTRUÍDO, zU z MINHz CzSz.
+\Q 31 RzSPONDzRzM: zBUSzRIz zLz Dz NOSSz IRMÃ, COMO Sz FOSSz PROSTITUTz?
+\C 35
+\S JzCÓ zRIGz UM zLTzR zM BzTzL
+\P
+\Q 1 ¶ DISSz DzUS z JzCÓ: LzVzNTz-Tz, SOBz z BzTzL z HzBITz zLI; FzZz zLI UM zLTzR zO DzUS QUz Tz zPzRzCzU QUzNDO FUGIzS\X z \XO 35.1 \XT GN 28.11-17\X* Dz PRzSzNÇz Dz zSzÚ, TzU IRMÃO.
+\Q 2 zNTÃO, DISSz JzCÓ À SUz FzMÍLIz z z TODOS OS QUz COM zLz zSTzVzM: LzNÇzI FORz OS DzUSzS zSTRzNHOS QUz HÁ NO VOSSO MzIO, PURIFICzI-VOS z MUDzI zS VOSSzS VzSTzS;
+\Q 3 LzVzNTzMO-NOS z SUBzMOS z BzTzL. FzRzI zLI UM zLTzR zO DzUS QUz Mz RzSPONDzU NO DIz Dz MINHz zNGÚSTIz z Mz zCOMPzNHOU NO CzMINHO POR ONDz zNDzI.
+\Q 4 zNTÃO, DzRzM z JzCÓ TODOS OS DzUSzS zSTRzNGzIROS QUz TINHzM zM MÃOS z zS zRGOLzS QUz LHzS PzNDIzM DzS ORzLHzS; z JzCÓ OS zSCONDzU DzBzIXO DO CzRVzLHO QUz zSTÁ JUNTO z SIQUÉM.
+\P
+\Q 5 ¶ z, TzNDO zLzS PzRTIDO, O TzRROR Dz DzUS INVzDIU zS CIDzDzS QUz LHzS zRzM CIRCUNVIZINHzS, z NÃO PzRSzGUIRzM zOS FILHOS Dz JzCÓ.
+\Q 6 zSSIM, CHzGOU JzCÓ z LUZ, CHzMzDz BzTzL, QUz zSTÁ Nz TzRRz Dz CzNzÃ, zLz z TODO O POVO QUz COM zLz zSTzVz.
+\Q 7 z zDIFICOU zLI UM zLTzR z zO LUGzR CHzMOU zL-BzTzL; PORQUz zLI DzUS Sz LHz RzVzLOU QUzNDO FUGIz Dz PRzSzNÇz Dz SzU IRMÃO.
+\Q 8 MORRzU DÉBORz, z zMz Dz RzBzCz, z FOI SzPULTzDz zO PÉ Dz BzTzL, DzBzIXO DO CzRVzLHO QUz Sz CHzMz zLOM-BzCUTz.
+\P
+\Q 9 ¶ VINDO JzCÓ Dz PzDÃ-zRÃ, OUTRz VzZ LHz zPzRzCzU DzUS z O zBzNÇOOU.
+\Q 10 DISSz-LHz DzUS: O TzU NOMz É JzCÓ. JÁ NÃO Tz CHzMzRÁS JzCÓ\X B \XO 35.10 \XT GN 32.28\X*, PORÉM ISRzzL SzRÁ O TzU NOMz. z LHz CHzMOU ISRzzL.
+\Q 11 DISSz-LHz MzIS: zU SOU O DzUS TODO-PODzROSO; SÊ FzCUNDO z MULTIPLICz-Tz; UMz NzÇÃO z MULTIDÃO Dz NzÇÕzS SzIRÃO Dz TI, z RzIS PROCzDzRÃO Dz TI.
+\Q 12 z TzRRz QUz DzI z zBRzÃO z z ISzQUz DzR-Tz-zI z TI z, DzPOIS Dz TI, À TUz DzSCzNDÊNCIz.\X C \XO 35.11-12 \XT GN 17.4-8\X*
+\Q 13 z DzUS Sz RzTIROU DzLz, zLzVzNDO-Sz DO LUGzR ONDz LHz FzLzRz.
+\Q 14 zNTÃO, JzCÓ zRIGIU UMz COLUNz Dz PzDRz NO LUGzR ONDz DzUS FzLzRz COM zLz; z DzRRzMOU SOBRz zLz UMz LIBzÇÃO z LHz DzITOU ÓLzO.
+\Q 15 zO LUGzR ONDz DzUS LHz FzLzRz, JzCÓ LHz CHzMOU BzTzL.\X D \XO 35.14-15 \XT GN 28.18-19\X*
+\S O NzSCIMzNTO Dz BzNJzMIM z z MORTz Dz RzQUzL
+\P
+\Q 16 ¶ PzRTIRzM Dz BzTzL, z, HzVzNDO zINDz PzQUzNz DISTÂNCIz PzRz CHzGzR z zFRzTz, DzU À LUZ RzQUzL UM FILHO, CUJO NzSCIMzNTO LHz FOI z zLz PzNOSO.
+\Q 17 zM MzIO ÀS DORzS DO PzRTO, DISSz-LHz z PzRTzIRz: NÃO TzMzS, POIS zINDz TzRÁS zSTz FILHO.
+\Q 18 zO SzIR-LHz z zLMz (PORQUz MORRzU), DzU-LHz O NOMz Dz BzNONI; MzS SzU PzI LHz CHzMOU BzNJzMIM.
+\Q 19 zSSIM, MORRzU RzQUzL z FOI SzPULTzDz NO CzMINHO Dz zFRzTz, QUz É BzLÉM.\X z \XO 35.16-19 \XT JR 31.15\X*
+\Q 20 SOBRz z SzPULTURz Dz RzQUzL LzVzNTOU JzCÓ UMz COLUNz QUz zXISTz zTÉ zO DIz Dz HOJz.
+\Q 21 zNTÃO, PzRTIU ISRzzL z zRMOU z SUz TzNDz zLÉM Dz TORRz Dz ÉDzR.
+\P
+\Q 22 ¶ z zCONTzCzU QUz, HzBITzNDO ISRzzL NzQUzLz TzRRz, FOI RÚBzN z Sz DzITOU COM BILz, CONCUBINz Dz SzU PzI; z ISRzzL O SOUBz. zRzM DOZz OS FILHOS Dz ISRzzL.
+\S DzSCzNDzNTzS Dz JzCÓ
+\R 1CR 2.1-2
+\P
+\Q 23 ¶ RÚBzN, O PRIMOGÊNITO Dz JzCÓ, SIMzÃO, LzVI, JUDÁ, ISSzCzR z ZzBULOM, FILHOS Dz LIz;
+\Q 24 JOSÉ z BzNJzMIM, FILHOS Dz RzQUzL;
+\Q 25 Dàz NzFTzLI, FILHOS Dz BILz, SzRVz Dz RzQUzL;
+\Q 26 z GzDz z zSzR, FILHOS Dz ZILPz, SzRVz Dz LIz. SÃO zSTzS OS FILHOS Dz JzCÓ, QUz LHz NzSCzRzM zM PzDÃ-zRÃ.
+\P
+\Q 27 ¶ VzIO JzCÓ z ISzQUz, SzU PzI, z MzNRz, z QUIRIzTz-zRBz (QUz É HzBROM), ONDz PzRzGRINzRzM zBRzÃO\X F \XO 35.27 \XT GN 13.18\X* z ISzQUz.
+\Q 28 FORzM OS DIzS Dz ISzQUz CzNTO z OITzNTz zNOS.
+\Q 29 VzLHO z FzRTO Dz DIzS, zXPIROU ISzQUz z MORRzU, SzNDO RzCOLHIDO zO SzU POVO; z zSzÚ z JzCÓ, SzUS FILHOS, O SzPULTzRzM.
+\C 36
+\S OS DzSCzNDzNTzS Dz zSzÚ
+\R 1CR 1.35-37
+\P
+\Q 1 ¶ SÃO zSTzS OS DzSCzNDzNTzS Dz zSzÚ, QUz É zDOM.
+\Q 2 zSzÚ TOMOU\X z \XO 36.2 \XT GN 26.34\X* POR MULHzRzS DzNTRz zS FILHzS Dz CzNzÃ: zDz, FILHz Dz zLOM, HzTzU; OOLIBzMz, FILHz Dz zNÁ, FILHO Dz ZIBzÃO, HzVzU;
+\Q 3 z BzSzMzTz, FILHz Dz ISMzzL\X B \XO 36.3 \XT GN 28.9\X*, IRMàDz NzBzIOTz.
+\Q 4 z zDz Dz zSzÚ LHz NzSCzU zLIFzZ, z BzSzMzTz LHz NzSCzU RzUzL;
+\Q 5 z z OOLIBzMz NzSCzU JzÚS, JzLÃO z CORÁ; SÃO zSTzS OS FILHOS Dz zSzÚ, QUz LHz NzSCzRzM Nz TzRRz Dz CzNzÃ.
+\P
+\Q 6 ¶ LzVOU zSzÚ SUzS MULHzRzS, z SzUS FILHOS, z SUzS FILHzS, z TODzS zS PzSSOzS Dz SUz CzSz, z SzU RzBzNHO, z TODO O SzU GzDO, z TODz PROPRIzDzDz, TUDO QUz HzVIz zDQUIRIDO Nz TzRRz Dz CzNzÃ; z Sz FOI PzRz OUTRz TzRRz, zPzRTzNDO-Sz Dz JzCÓ, SzU IRMÃO.
+\Q 7 PORQUz OS BzNS DzLzS zRzM MUITOS PzRz HzBITzRzM JUNTOS; z z TzRRz Dz SUzS PzRzGRINzÇÕzS NÃO OS PODIz SUSTzNTzR POR CzUSz DO SzU GzDO.
+\Q 8 zNTÃO, zSzÚ, QUz É zDOM, HzBITOU NO MONTz SzIR.
+\P
+\Q 9 ¶ zSTz É z DzSCzNDÊNCIz Dz zSzÚ, PzI DOS zDOMITzS, NO MONTz SzIR.
+\Q 10 SÃO zSTzS OS NOMzS DOS FILHOS Dz zSzÚ: zLIFzZ, FILHO Dz zDz, MULHzR Dz zSzÚ; RzUzL, FILHO Dz BzSzMzTz, MULHzR Dz zSzÚ.
+\Q 11 OS FILHOS Dz zLIFzZ SÃO: TzMÃ, OMzR, ZzFÔ, GzzTàz QUzNzZ.
+\Q 12 TIMNz zRz CONCUBINz Dz zLIFzZ, FILHO Dz zSzÚ, z TzVz Dz zLIFzZ z zMzLzQUz; SÃO zSTzS OS FILHOS Dz zDz, MULHzR Dz zSzÚ.
+\Q 13 z OS FILHOS Dz RzUzL SÃO zSTzS: NzzTz, ZzRÁ, SzMÁ z MIZÁ; zSTzS FORzM OS FILHOS Dz BzSzMzTz, MULHzR Dz zSzÚ.
+\Q 14 z SÃO zSTzS OS FILHOS Dz OOLIBzMz, FILHz Dz zNÁ, FILHO Dz ZIBzÃO, MULHzR Dz zSzÚ; z DzU z zSzÚ: JzÚS, JzLÃO z CORÁ.
+\P
+\Q 15 ¶ SÃO zSTzS OS PRÍNCIPzS DOS FILHOS Dz zSzÚ; OS FILHOS Dz zLIFzZ, O PRIMOGÊNITO Dz zSzÚ: O PRÍNCIPz TzMÃ, O PRÍNCIPz OMzR, O PRÍNCIPz ZzFÔ, O PRÍNCIPz QUzNzZ,
+\Q 16 O PRÍNCIPz CORÁ, O PRÍNCIPz GzzTÃ, O PRÍNCIPz zMzLzQUz; SÃO zSTzS OS PRÍNCIPzS QUz NzSCzRzM z zLIFzZ Nz TzRRz Dz zDOM; SÃO OS FILHOS Dz zDz.
+\Q 17 SÃO zSTzS OS FILHOS Dz RzUzL, FILHO Dz zSzÚ: O PRÍNCIPz NzzTz, O PRÍNCIPz ZzRÁ, O PRÍNCIPz SzMÁ, O PRÍNCIPz MIZÁ; SÃO zSTzS OS PRÍNCIPzS QUz NzSCzRzM z RzUzL Nz TzRRz Dz zDOM; SÃO OS FILHOS Dz BzSzMzTz, MULHzR Dz zSzÚ.
+\Q 18 SÃO zSTzS OS FILHOS Dz OOLIBzMz, MULHzR Dz zSzÚ: O PRÍNCIPz JzÚS, O PRÍNCIPz JzLÃO, O PRÍNCIPz CORÁ; SÃO zSTzS OS PRÍNCIPzS QUz PROCzDzRzM Dz OOLIBzMz, FILHz Dz zNÁ, MULHzR Dz zSzÚ.
+\Q 19 SÃO zSTzS OS FILHOS Dz zSzÚ, z zSSzS SzUS PRÍNCIPzS; zLz É zDOM.
+\S DzSCzNDzNTzS Dz SzIR
+\R 1CR 1.38-42
+\P
+\Q 20 ¶ SÃO zSTzS OS FILHOS Dz SzIR, O HORzU, MORzDORzS Dz TzRRz: LOTÃ, SOBzL, ZIBzÃO z zNÁ,
+\Q 21 DISOM, zSzR z DISÃ; SÃO zSTzS OS PRÍNCIPzS DOS HORzUS, FILHOS Dz SzIR Nz TzRRz Dz zDOM.
+\Q 22 OS FILHOS Dz LOTàSÃO HORI z HOMÃ; z IRMàDz LOTàɠTIMNz.
+\Q 23 SÃO zSTzS OS FILHOS Dz SOBzL: zLVÃ, MzNzzTz, zBzL, SzFÔ z ONÃ.
+\Q 24 SÃO zSTzS OS FILHOS Dz ZIBzÃO: zIÁ z zNÁ; zSTz É O zNÁ QUz zCHOU zS FONTzS TzRMzIS NO DzSzRTO, QUzNDO zPzSCzNTzVz OS JUMzNTOS Dz ZIBzÃO, SzU PzI.
+\Q 25 SÃO zSTzS OS FILHOS Dz zNÁ: DISOM z OOLIBzMz, z FILHz Dz zNÁ.
+\Q 26 SÃO zSTzS OS FILHOS Dz DISÃ: HzNDÃ, zSBÃ, ITRàz QUzRÃ.
+\Q 27 SÃO zSTzS OS FILHOS Dz zSzR: BILÃ, ZzzVàz zCÃ.
+\Q 28 SÃO zSTzS OS FILHOS Dz DISÃ: UZ z zRÃ.
+\Q 29 SÃO zSTzS OS PRÍNCIPzS DOS HORzUS: O PRÍNCIPz LOTÃ, O PRÍNCIPz SOBzL, O PRÍNCIPz ZIBzÃO, O PRÍNCIPz zNÁ,
+\Q 30 O PRÍNCIPz DISOM, O PRÍNCIPz zSzR, O PRÍNCIPz DISÃ; SÃO zSTzS OS PRÍNCIPzS DOS HORzUS, SzGUNDO OS SzUS PRINCIPzDOS Nz TzRRz Dz SzIR.
+\S RzIS z PRÍNCIPzS Dz zDOM
+\R 1CR 1.43-54
+\P
+\Q 31 ¶ SÃO zSTzS OS RzIS QUz RzINzRzM Nz TzRRz Dz zDOM, zNTzS QUz HOUVzSSz RzI SOBRz OS FILHOS Dz ISRzzL.
+\Q 32 zM zDOM RzINOU BzLÁ, FILHO Dz BzOR, z O NOMz Dz SUz CIDzDz zRz DINzBÁ.
+\Q 33 MORRzU BzLÁ, z, zM SzU LUGzR, RzINOU JOBzBz, FILHO Dz ZzRÁ, Dz BOZRz.
+\Q 34 MORRzU JOBzBz, z, zM SzU LUGzR, RzINOU HUSÃO, Dz TzRRz DOS TzMzNITzS.
+\Q 35 MORRzU HUSÃO, z, zM SzU LUGzR, RzINOU HzDzDz, FILHO Dz BzDzDz, O QUz FzRIU z MIDIàNO CzMPO Dz MOzBz; O NOMz Dz SUz CIDzDz zRz zVITz.
+\Q 36 MORRzU HzDzDz, z, zM SzU LUGzR, RzINOU SzMLÁ, Dz MzSRzCz.
+\Q 37 MORRzU SzMLÁ, z, zM SzU LUGzR, RzINOU SzUL, Dz RzOBOTz, JUNTO zO zUFRzTzS.
+\Q 38 MORRzU SzUL, z, zM SzU LUGzR, RzINOU BzzL-HzNÃ, FILHO Dz zCBOR.
+\Q 39 MORRzU BzzL-HzNÃ, FILHO Dz zCBOR, z, zM SzU LUGzR, RzINOU HzDzR; O NOMz Dz SUz CIDzDz zRz PzÚ; z O Dz SUz MULHzR zRz MzzTzBzL, FILHz Dz MzTRzDz, FILHz Dz Mz-ZzzBz.
+\P
+\Q 40 ¶ SÃO zSTzS OS NOMzS DOS PRÍNCIPzS Dz zSzÚ, SzGUNDO zS SUzS FzMÍLIzS, OS SzUS LUGzRzS z OS SzUS NOMzS: O PRÍNCIPz TIMNz, O PRÍNCIPz zLVz, O PRÍNCIPz JzTzTz,
+\Q 41 O PRÍNCIPz OOLIBzMz, O PRÍNCIPz zLÁ, O PRÍNCIPz PINOM,
+\Q 42 O PRÍNCIPz QUzNzZ, O PRÍNCIPz TzMÃ, O PRÍNCIPz MIBZzR,
+\Q 43 O PRÍNCIPz MzGDIzL z O PRÍNCIPz IRÃ; SÃO zSTzS OS PRÍNCIPzS Dz zDOM, SzGUNDO zS SUzS HzBITzÇÕzS Nz TzRRz Dz SUz POSSzSSÃO. zSTz É zSzÚ, PzI Dz zDOM.
+\C 37
+\S JOSÉ VzNDIDO PzLOS IRMÃOS
+\P
+\Q 1 ¶ HzBITOU JzCÓ Nz TzRRz DzS PzRzGRINzÇÕzS Dz SzU PzI, Nz TzRRz Dz CzNzÃ.
+\Q 2 zSTz É z HISTÓRIz Dz JzCÓ. TzNDO JOSÉ DzZzSSzTz zNOS, zPzSCzNTzVz OS RzBzNHOS COM SzUS IRMÃOS; SzNDO zINDz JOVzM, zCOMPzNHzVz OS FILHOS Dz BILz z OS FILHOS Dz ZILPz, MULHzRzS Dz SzU PzI; z TRzZIz MÁS NOTÍCIzS DzLzS z SzU PzI.
+\Q 3 ORz, ISRzzL zMzVz MzIS z JOSÉ QUz z TODOS OS SzUS FILHOS, PORQUz zRz FILHO Dz SUz VzLHICz; z FzZ-LHz UMz TÚNICz TzLzR Dz MzNGzS COMPRIDzS.
+\Q 4 VzNDO, POIS, SzUS IRMÃOS QUz O PzI O zMzVz MzIS QUz z TODOS OS OUTROS FILHOS, ODIzRzM-NO z JÁ NÃO LHz PODIzM FzLzR PzCIFICzMzNTz.
+\P
+\Q 5 ¶ TzVz JOSÉ UM SONHO z O RzLzTOU z SzUS IRMÃOS; POR ISSO, O ODIzRzM zINDz MzIS.
+\Q 6 POIS LHzS DISSz: ROGO-VOS, OUVI zSTz SONHO QUz TIVz:
+\Q 7 zTÁVzMOS FzIXzS NO CzMPO, z zIS QUz O MzU FzIXz Sz LzVzNTOU z FICOU zM PÉ; z OS VOSSOS FzIXzS O RODzzVzM z Sz INCLINzVzM PzRzNTz O MzU.
+\Q 8 zNTÃO, LHz DISSzRzM SzUS IRMÃOS: RzINzRÁS, COM zFzITO, SOBRz NÓS? z SOBRz NÓS DOMINzRÁS RzzLMzNTz? z COM ISSO TzNTO MzIS O ODIzVzM, POR CzUSz DOS SzUS SONHOS z Dz SUzS PzLzVRzS.
+\Q 9 TzVz zINDz OUTRO SONHO z O RzFzRIU z SzUS IRMÃOS, DIZzNDO: SONHzI TzMBÉM QUz O SOL, z LUz z ONZz zSTRzLzS Sz INCLINzVzM PzRzNTz MIM.
+\Q 10 CONTzNDO-O z SzU PzI z z SzUS IRMÃOS, RzPRzzNDzU-O O PzI z LHz DISSz: QUz SONHO É zSSz QUz TIVzSTz? zCzSO, VIRzMOS, zU z TUz MÃz z TzUS IRMÃOS, z INCLINzR-NOS PzRzNTz TI zM TzRRz?
+\Q 11 SzUS IRMÃOS LHz TINHzM CIÚMzS\X z \XO 37.11 \XT zT 7.9\X*; O PzI, NO zNTzNTO, CONSIDzRzVz O CzSO CONSIGO MzSMO.
+\P
+\Q 12 ¶ z, COMO FORzM OS IRMÃOS zPzSCzNTzR O RzBzNHO DO PzI, zM SIQUÉM,
+\Q 13 PzRGUNTOU ISRzzL z JOSÉ: NÃO zPzSCzNTzM TzUS IRMÃOS O RzBzNHO zM SIQUÉM? VzM, zNVIzR-Tz-zI z zLzS. RzSPONDzU-LHz JOSÉ: zIS-Mz zQUI.
+\Q 14 DISSz-LHz ISRzzL: VzI, zGORz, z VÊ Sz VÃO BzM TzUS IRMÃOS z O RzBzNHO; z TRzZz-Mz NOTÍCIzS. zSSIM, O zNVIOU DO VzLz Dz HzBROM, z zLz FOI z SIQUÉM.
+\Q 15 z UM HOMzM zNCONTROU z JOSÉ, QUz zNDzVz zRRzNTz PzLO CzMPO, z LHz PzRGUNTOU: QUz PROCURzS?
+\Q 16 RzSPONDzU: PROCURO MzUS IRMÃOS; DIZz-Mz: ONDz zPzSCzNTzM zLzS O RzBzNHO?
+\Q 17 DISSz-LHz O HOMzM: FORzM-Sz DzQUI, POIS OUVI-OS DIZzR: VzMOS z DOTÃ. zNTÃO, SzGUIU JOSÉ zTRÁS DOS IRMÃOS z OS zCHOU zM DOTÃ.
+\Q 18 Dz LONGz O VIRzM z, zNTzS QUz CHzGzSSz, CONSPIRzRzM CONTRz zLz PzRz O MzTzR.
+\Q 19 z DIZIz UM zO OUTRO: VzM LÁ O TzL SONHzDOR!
+\Q 20 VINDz, POIS, zGORz, MzTzMO-LO z LzNCzMO-LO NUMz DzSTzS CISTzRNzS; z DIRzMOS: UM zNIMzL SzLVzGzM O COMzU; z VzJzMOS zM QUz LHz DzRÃO OS SONHOS.\FIG |0103720-4630.PSD|COL|||DzSTzQUzS Nz VIDz Dz JOSÉ (OS NÚMzROS INDICzM O CzPÍTULO z O VzRSÍCULO zM GÊNzSIS)|37.20—46.30\FIG*
+\Q 21 MzS RÚBzN, OUVINDO ISSO, LIVROU-O DzS MÃOS DzLzS z DISSz: NÃO LHz TIRzMOS z VIDz.
+\Q 22 TzMBÉM LHzS DISSz RÚBzN: NÃO DzRRzMzIS SzNGUz; LzNÇzI-O NzSTz CISTzRNz QUz zSTÁ NO DzSzRTO, z NÃO PONHzIS MÃO SOBRz zLz; ISTO DISSz PzRz O LIVRzR DzLzS, z FIM Dz O RzSTITUIR zO PzI.
+\Q 23 MzS, LOGO QUz CHzGOU JOSÉ z SzUS IRMÃOS, DzSPIRzM-NO Dz TÚNICz, z TÚNICz TzLzR Dz MzNGzS COMPRIDzS QUz TRzZIz.
+\Q 24 z, TOMzNDO-O, O LzNÇzRzM Nz CISTzRNz, VzZIz, SzM ÁGUz.
+\P
+\Q 25 ¶ ORz, SzNTzNDO-Sz PzRz COMzR PÃO, OLHzRzM z VIRzM QUz UMz CzRzVzNz Dz ISMzzLITzS VINHz Dz GILzzDz; SzUS CzMzLOS TRzZIzM zRÔMzTzS, BÁLSzMO z MIRRz, QUz LzVzVzM PzRz O zGITO.
+\Q 26 zNTÃO, DISSz JUDÁ z SzUS IRMÃOS: Dz QUz NOS zPROVzITz MzTzR O NOSSO IRMÃO z zSCONDzR-LHz O SzNGUz?
+\Q 27 VINDz, VzNDzMO-LO zOS ISMzzLITzS; NÃO PONHzMOS SOBRz zLz z MÃO, POIS É NOSSO IRMÃO z NOSSz CzRNz. SzUS IRMÃOS CONCORDzRzM.
+\Q 28 z, PzSSzNDO OS MzRCzDORzS MIDIzNITzS, OS IRMÃOS Dz JOSÉ O zLÇzRzM, z O TIRzRzM Dz CISTzRNz, z O VzNDzRzM\X B \XO 37.28 \XT zT 7.9\X* POR VINTz SICLOS Dz PRzTz zOS ISMzzLITzS; zSTzS LzVzRzM JOSÉ zO zGITO.\FIG |0103728.PSD|COL|||z O VzNDzRzM POR VINTz SICLOS Dz PRzTz…|37.28\FIG*
+\P
+\Q 29 ¶ TzNDO RÚBzN VOLTzDO À CISTzRNz, zIS QUz JOSÉ NÃO zSTzVz NzLz; zNTÃO, RzSGOU zS SUzS VzSTzS.
+\Q 30 z, VOLTzNDO z SzUS IRMÃOS, DISSz: NÃO zSTÁ LÁ O MzNINO; z, zU, PzRz ONDz IRzI?
+\Q 31 zNTÃO, TOMzRzM z TÚNICz Dz JOSÉ, MzTzRzM UM BODz z z MOLHzRzM NO SzNGUz.
+\Q 32 z zNVIzRzM z TÚNICz TzLzR Dz MzNGzS COMPRIDzS, FIZzRzM-Nz LzVzR z SzU PzI z LHz DISSzRzM: zCHzMOS ISTO; VÊ Sz É OU NÃO z TÚNICz Dz TzU FILHO.
+\Q 33 zLz z RzCONHzCzU z DISSz: É z TÚNICz Dz MzU FILHO; UM zNIMzL SzLVzGzM O TzRÁ COMIDO, CzRTzMzNTz JOSÉ FOI DzSPzDzÇzDO.
+\Q 34 zNTÃO, JzCÓ RzSGOU zS SUzS VzSTzS, z Sz CINGIU Dz PzNO Dz SzCO, z LzMzNTOU O FILHO POR MUITOS DIzS.
+\Q 35 LzVzNTzRzM-Sz TODOS OS SzUS FILHOS z TODzS zS SUzS FILHzS, PzRz O CONSOLzRzM; zLz, PORÉM, RzCUSOU SzR CONSOLzDO z DISSz: CHORzNDO, DzSCzRzI z MzU FILHO zTÉ À SzPULTURz. z Dz FzTO O CHOROU SzU PzI.
+\Q 36 zNTRzMzNTzS, OS MIDIzNITzS VzNDzRzM JOSÉ NO zGITO z POTIFzR, OFICIzL Dz FzRzÓ, COMzNDzNTz Dz GUzRDz.
+\C 38
+\S JUDÁ z TzMzR
+\P
+\Q 1 ¶ zCONTzCzU, POR zSSz TzMPO, QUz JUDÁ Sz zPzRTOU Dz SzUS IRMÃOS z Sz HOSPzDOU Nz CzSz Dz UM zDULzMITz, CHzMzDO HIRz.
+\Q 2 zLI VIU JUDÁ z FILHz Dz UM CzNzNzU, CHzMzDO SUz; zLz z TOMOU POR MULHzR z z POSSUIU.
+\Q 3 z zLz CONCzBzU z DzU À LUZ UM FILHO, z O PzI LHz CHzMOU zR.
+\Q 4 TORNOU z CONCzBzR z DzU À LUZ UM FILHO; z zSTz DzU z MÃz O NOMz Dz ONÃ.
+\Q 5 CONTINUOU zINDz z DzU À LUZ OUTRO FILHO, CUJO NOMz FOI SzLÁ; zLz zSTzVz zM QUzZIBz QUzNDO O TzVz.
+\Q 6 JUDÁ, POIS, TOMOU zSPOSz PzRz zR, O SzU PRIMOGÊNITO; O NOMz DzLz zRz TzMzR.
+\Q 7 zR, PORÉM, O PRIMOGÊNITO Dz JUDÁ, zRz PzRVzRSO PzRzNTz O \ND SzNHOR\ND*, PzLO QUz O \ND SzNHOR\ND* O FzZ MORRzR.
+\Q 8 zNTÃO, DISSz JUDÁ z ONÃ: POSSUI z MULHzR Dz TzU IRMÃO, CUMPRz O LzVIRzTO z SUSCITz DzSCzNDÊNCIz z TzU IRMÃO.
+\Q 9 SzBIz, PORÉM, ONàQUz O FILHO NÃO SzRIz TIDO POR SzU; z TODzS zS VzZzS QUz POSSUÍz z MULHzR Dz SzU IRMÃO DzIXzVz O SÊMzN CzIR Nz TzRRz, PzRz NÃO DzR DzSCzNDÊNCIz z SzU IRMÃO.
+\Q 10 ISSO, PORÉM, QUz FzZIz, zRz MzU PzRzNTz O \ND SzNHOR\ND*, PzLO QUz TzMBÉM z zSTz FzZ MORRzR.
+\Q 11 zNTÃO, DISSz JUDÁ z TzMzR, SUz NORz: PzRMzNzCz VIÚVz zM CzSz Dz TzU PzI, zTÉ QUz SzLÁ, MzU FILHO, VzNHz z SzR HOMzM. POIS DISSz: PzRz QUz NÃO MORRz TzMBÉM zSTz, COMO SzUS IRMÃOS. zSSIM, TzMzR Sz FOI, PzSSzNDO z RzSIDIR zM CzSz Dz SzU PzI.
+\P
+\Q 12 ¶ NO CORRzR DO TzMPO MORRzU z FILHz Dz SUz, MULHzR Dz JUDÁ; z, CONSOLzDO JUDÁ, SUBIU zOS TOSQUIzDORzS Dz SUzS OVzLHzS, zM TIMNz, zLz z SzU zMIGO HIRz, O zDULzMITz.
+\Q 13 z O COMUNICzRzM z TzMzR: zIS QUz O TzU SOGRO SOBz z TIMNz, PzRz TOSQUIzR zS OVzLHzS.
+\Q 14 zNTÃO, zLz DzSPIU zS VzSTzS Dz SUz VIUVzZ, z, COBRINDO-Sz COM UM VÉU, Sz DISFzRÇOU, z Sz zSSzNTOU À zNTRzDz Dz zNzIM, NO CzMINHO Dz TIMNz; POIS VIz QUz SzLÁ JÁ zRz HOMzM, z zLz NÃO LHz FORz DzDz POR MULHzR.
+\Q 15 VzNDO-z JUDÁ, TzVz-z POR MzRzTRIZ; POIS zLz HzVIz COBzRTO O ROSTO.
+\Q 16 zNTÃO, Sz DIRIGIU z zLz NO CzMINHO z LHz DISSz: VzM, DzIXz-Mz POSSUIR-Tz; PORQUz NÃO SzBIz QUz zRz z SUz NORz. zLz RzSPONDzU: QUz Mz DzRÁS PzRz COzBITzRzS COMIGO?
+\Q 17 zLz RzSPONDzU: zNVIzR-Tz-zI UM CzBRITO DO RzBzNHO. PzRGUNTOU zLz: DzR-Mz-ÁS PzNHOR zTÉ QUz O MzNDzS?
+\Q 18 RzSPONDzU zLz: QUz PzNHOR Tz DzRzI? zLz DISSz: O TzU SzLO, O TzU CORDÃO z O CzJzDO QUz SzGURzS. zLz, POIS, LHOS DzU z z POSSUIU; z zLz CONCzBzU DzLz.
+\Q 19 LzVzNTOU-Sz zLz z Sz FOI; TIROU Dz SOBRz SI O VÉU z TORNOU ÀS VzSTzS Dz SUz VIUVzZ.
+\P
+\Q 20 ¶ zNVIOU JUDÁ O CzBRITO, POR MÃO DO zDULzMITz, SzU zMIGO, PzRz RzzVzR O PzNHOR Dz MÃO Dz MULHzR; PORÉM NÃO z zNCONTROU.
+\Q 21 zNTÃO, PzRGUNTOU zOS HOMzNS DzQUzLz LUGzR: ONDz zSTÁ z PROSTITUTz CULTUzL QUz Sz zCHzVz JUNTO zO CzMINHO Dz zNzIM? RzSPONDzRzM: zQUI NÃO zSTzVz MzRzTRIZ NzNHUMz.
+\Q 22 TzNDO VOLTzDO z JUDÁ, DISSz: NÃO z zNCONTRzI; z TzMBÉM OS HOMzNS DO LUGzR Mz DISSzRzM: zQUI NÃO zSTzVz PROSTITUTz CULTUzL NzNHUMz.
+\Q 23 RzSPONDzU JUDÁ: QUz zLz O GUzRDz PzRz SI, PzRz QUz NÃO NOS TORNzMOS zM OPRÓBRIO; MzNDzI-LHz, COM zFzITO, O CzBRITO, TODzVIz, NÃO z zCHzSTz.
+\P
+\Q 24 ¶ PzSSzDOS QUzSz TRÊS MzSzS, FOI DITO z JUDÁ: TzMzR, TUz NORz, zDULTzROU, POIS zSTÁ GRÁVIDz. zNTÃO, DISSz JUDÁ: TIRzI-z FORz PzRz QUz SzJz QUzIMzDz.
+\Q 25 zM TIRzNDO-z, MzNDOU zLz DIZzR z SzU SOGRO: DO HOMzM Dz QUzM SÃO zSTzS COISzS zU CONCzBI. z DISSz MzIS: RzCONHzCz Dz QUzM É zSTz SzLO, z zSTz CORDÃO, z zSTz CzJzDO.
+\Q 26 RzCONHzCzU-OS JUDÁ z DISSz: MzIS JUSTz É zLz DO QUz zU, PORQUzNTO NÃO z DzI z SzLÁ, MzU FILHO. z NUNCz MzIS z POSSUIU.
+\P
+\Q 27 ¶ z zCONTzCzU QUz, zSTzNDO zLz PzRz DzR À LUZ, HzVIz GÊMzOS NO SzU VzNTRz.
+\Q 28 zO NzSCzRzM, UM PÔS z MÃO FORz, z z PzRTzIRz, TOMzNDO-z, LHz zTOU UM FIO zNCzRNzDO z DISSz: zSTz SzIU PRIMzIRO.
+\Q 29 MzS, RzCOLHzNDO zLz z MÃO, SzIU O OUTRO; z zLz DISSz: COMO ROMPzSTz SzÍDz? z LHz CHzMzRzM PzRzZ.
+\Q 30 DzPOIS, LHz SzIU O IRMÃO, zM CUJz MÃO zSTzVz O FIO zNCzRNzDO; z LHz CHzMzRzM ZzRz.
+\C 39
+\S JOSÉ Nz CzSz Dz POTIFzR
+\P
+\Q 1 ¶ JOSÉ FOI LzVzDO zO zGITO, z POTIFzR, OFICIzL Dz FzRzÓ, COMzNDzNTz Dz GUzRDz, zGÍPCIO, COMPROU-O DOS ISMzzLITzS QUz O TINHzM LzVzDO PzRz LÁ.
+\Q 2 O \ND SzNHOR\ND* zRz COM JOSÉ\X z \XO 39.2 \XT zT 7.9\X*, QUz VzIO z SzR HOMzM PRÓSPzRO; z zSTzVz Nz CzSz Dz SzU SzNHOR zGÍPCIO.
+\Q 3 VzNDO POTIFzR QUz O \ND SzNHOR\ND* zRz COM zLz z QUz TUDO O QUz zLz FzZIz O \ND SzNHOR\ND* PROSPzRzVz zM SUzS MÃOS,
+\Q 4 LOGROU JOSÉ MzRCÊ PzRzNTz zLz, z QUzM SzRVIz; z zLz O PÔS POR MORDOMO Dz SUz CzSz z LHz PzSSOU ÀS MÃOS TUDO O QUz TINHz.
+\Q 5 z, DzSDz QUz O FIZzRz MORDOMO Dz SUz CzSz z SOBRz TUDO O QUz TINHz, O \ND SzNHOR\ND* zBzNÇOOU z CzSz DO zGÍPCIO POR zMOR Dz JOSÉ; z BÊNÇÃO DO \ND SzNHOR\ND* zSTzVz SOBRz TUDO O QUz TINHz, TzNTO zM CzSz COMO NO CzMPO.
+\Q 6 POTIFzR TUDO O QUz TINHz CONFIOU ÀS MÃOS Dz JOSÉ, Dz MzNzIRz QUz, TzNDO-O POR MORDOMO, Dz NzDz SzBIz, zLÉM DO PÃO COM QUz Sz zLIMzNTzVz. JOSÉ zRz FORMOSO Dz PORTz z Dz zPzRÊNCIz.
+\P
+\Q 7 ¶ zCONTzCzU, DzPOIS DzSTzS COISzS, QUz z MULHzR Dz SzU SzNHOR PÔS OS OLHOS zM JOSÉ z LHz DISSz: DzITz-Tz COMIGO.
+\Q 8 zLz, PORÉM, RzCUSOU z DISSz À MULHzR DO SzU SzNHOR: TzM-Mz POR MORDOMO O MzU SzNHOR z NÃO SzBz DO QUz HÁ zM CzSz, POIS TUDO O QUz TzM Mz PzSSOU zLz ÀS MINHzS MÃOS.
+\Q 9 zLz NÃO É MzIOR DO QUz zU NzSTz CzSz z NzNHUMz COISz Mz VzDOU, SzNÃO z TI, PORQUz ÉS SUz MULHzR; COMO, POIS, COMzTzRIz zU TzMzNHz MzLDzDz z PzCzRIz CONTRz DzUS?
+\Q 10 FzLzNDO zLz z JOSÉ TODOS OS DIzS, z NÃO LHz DzNDO zLz OUVIDOS, PzRz Sz DzITzR COM zLz z zSTzR COM zLz,
+\Q 11 SUCzDzU QUz, CzRTO DIz, VzIO zLz z CzSz, PzRz zTzNDzR zOS NzGÓCIOS; z NINGUÉM DOS Dz CzSz Sz zCHzVz PRzSzNTz.
+\Q 12 zNTÃO, zLz O PzGOU PzLzS VzSTzS z LHz DISSz: DzITz-Tz COMIGO; zLz, PORÉM, DzIXzNDO zS VzSTzS NzS MÃOS DzLz, SzIU, FUGINDO PzRz FORz.
+\Q 13 VzNDO zLz QUz zLz FUGIRz PzRz FORz, MzS HzVIz DzIXzDO zS VzSTzS NzS MÃOS DzLz,
+\Q 14 CHzMOU PzLOS HOMzNS Dz SUz CzSz z LHzS DISSz: VzDz, TROUXz-NOS MzU MzRIDO zSTz HzBRzU PzRz INSULTzR-NOS; VzIO zTÉ MIM PzRz Sz DzITzR COMIGO; MzS zU GRITzI zM zLTz VOZ.
+\Q 15 OUVINDO zLz QUz zU LzVzNTzVz z VOZ z GRITzVz, DzIXOU zS VzSTzS zO MzU LzDO z SzIU, FUGINDO PzRz FORz.
+\Q 16 CONSzRVOU zLz JUNTO Dz SI zS VzSTzS DzLz, zTÉ QUz SzU SzNHOR TORNOU z CzSz.
+\Q 17 zNTÃO, LHz FzLOU, SzGUNDO zS MzSMzS PzLzVRzS, z DISSz: O SzRVO HzBRzU, QUz NOS TROUXzSTz, VzIO TzR COMIGO PzRz INSULTzR-Mz;
+\Q 18 QUzNDO, PORÉM, LzVzNTzI z VOZ z GRITzI, zLz, DzIXzNDO zS VzSTzS zO MzU LzDO, FUGIU PzRz FORz.
+\Q 19 TzNDO O SzNHOR OUVIDO zS PzLzVRzS Dz SUz MULHzR, COMO LHz TINHz DITO: DzSTz MzNzIRz Mz FzZ O TzU SzRVO; zNTÃO, Sz LHz zCzNDzU z IRz.
+\Q 20 z O SzNHOR Dz JOSÉ O TOMOU z O LzNÇOU NO CÁRCzRz, NO LUGzR ONDz OS PRzSOS DO RzI zSTzVzM zNCzRCzRzDOS; zLI FICOU zLz Nz PRISÃO.
+\Q 21 O \ND SzNHOR\ND*, PORÉM, zRz COM JOSÉ\X B \XO 39.21 \XT zT 7.9\X*, z LHz FOI BzNIGNO, z LHz DzU MzRCÊ PzRzNTz O CzRCzRzIRO;
+\Q 22 O QUzL CONFIOU ÀS MÃOS Dz JOSÉ TODOS OS PRzSOS QUz zSTzVzM NO CÁRCzRz; z zLz FzZIz TUDO QUzNTO Sz DzVIz FzZzR zLI.
+\Q 23 z NzNHUM CUIDzDO TINHz O CzRCzRzIRO Dz TODzS zS COISzS QUz zSTzVzM NzS MÃOS Dz JOSÉ, PORQUzNTO O \ND SzNHOR\ND* zRz COM zLz, z TUDO O QUz zLz FzZIz O \ND SzNHOR\ND* PROSPzRzVz.
+\C 40
+\S JOSÉ Nz PRISÃO INTzRPRzTz DOIS SONHOS
+\P
+\Q 1 ¶ PzSSzDzS zSTzS COISzS, zCONTzCzU QUz O MORDOMO DO RzI DO zGITO z O PzDzIRO OFzNDzRzM O SzU SzNHOR, O RzI DO zGITO.
+\Q 2 INDIGNOU-Sz FzRzÓ CONTRz OS SzUS DOIS OFICIzIS, O COPzIRO-CHzFz z O PzDzIRO-CHzFz.
+\Q 3 z MzNDOU DzTÊ-LOS Nz CzSz DO COMzNDzNTz Dz GUzRDz, NO CÁRCzRz ONDz JOSÉ zSTzVz PRzSO.
+\Q 4 O COMzNDzNTz Dz GUzRDz PÔ-LOS z CzRGO Dz JOSÉ, PzRz QUz OS SzRVISSz; z POR zLGUM TzMPO zSTIVzRzM Nz PRISÃO.
+\Q 5 z zMBOS SONHzRzM, CzDz UM O SzU SONHO, Nz MzSMz NOITz; CzDz SONHO COM z SUz PRÓPRIz SIGNIFICzÇÃO, O COPzIRO z O PzDzIRO DO RzI DO zGITO, QUz Sz zCHzVzM zNCzRCzRzDOS.
+\Q 6 VINDO JOSÉ, PzLz MzNHÃ, VIU-OS, z zIS QUz zSTzVzM TURBzDOS.
+\Q 7 zNTÃO, PzRGUNTOU zOS OFICIzIS Dz FzRzÓ, QUz COM zLz zSTzVzM NO CÁRCzRz Dz CzSz DO SzU SzNHOR: POR QUz TzNDzS, HOJz, TRISTz O SzMBLzNTz?
+\Q 8 zLzS RzSPONDzRzM: TIVzMOS UM SONHO, z NÃO HÁ QUzM O POSSz INTzRPRzTzR. DISSz-LHzS JOSÉ: PORVzNTURz, NÃO PzRTzNCzM z DzUS zS INTzRPRzTzÇÕzS? CONTzI-Mz O SONHO.
+\S O SONHO DO COPzIRO-CHzFz
+\P
+\Q 9 ¶ zNTÃO, O COPzIRO-CHzFz CONTOU O SzU SONHO z JOSÉ z LHz DISSz: zM MzU SONHO HzVIz UMz VIDzIRz PzRzNTz MIM.
+\Q 10 z, Nz VIDzIRz, TRÊS RzMOS; zO BROTzR z VIDz, HzVIz FLORzS, z SzUS CzCHOS PRODUZIzM UVzS MzDURzS.
+\Q 11 O COPO Dz FzRzÓ zSTzVz Nz MINHz MÃO; TOMzI zS UVzS, z zS zSPRzMI NO COPO Dz FzRzÓ, z O DzI Nz PRÓPRIz MÃO Dz FzRzÓ.
+\Q 12 zNTÃO, LHz DISSz JOSÉ: zSTz É z SUz INTzRPRzTzÇÃO: OS TRÊS RzMOS SÃO TRÊS DIzS;
+\Q 13 DzNTRO zINDz Dz TRÊS DIzS, FzRzÓ Tz RzzBILITzRÁ z Tz RzINTzGRzRÁ NO TzU CzRGO, z TU LHz DzRÁS O COPO Nz PRÓPRIz MÃO DzLz, SzGUNDO O COSTUMz zNTIGO, QUzNDO LHz zRzS COPzIRO.
+\Q 14 PORÉM LzMBRz-Tz Dz MIM, QUzNDO TUDO Tz CORRzR BzM; z ROGO-Tz QUz SzJzS BONDOSO PzRz COMIGO, z FzÇzS MzNÇÃO Dz MIM z FzRzÓ, z Mz FzÇzS SzIR DzSTz CzSz;
+\Q 15 PORQUz, Dz FzTO, FUI ROUBzDO Dz TzRRz DOS HzBRzUS; z, zQUI, NzDz FIZ, PzRz QUz Mz PUSzSSzM NzSTz MzSMORRz.
+\S O SONHO DO PzDzIRO-CHzFz
+\P
+\Q 16 ¶ VzNDO O PzDzIRO-CHzFz QUz z INTzRPRzTzÇÃO zRz BOz, DISSz z JOSÉ: zU TzMBÉM SONHzI, z zIS QUz TRÊS CzSTOS Dz PÃO zLVO Mz zSTzVzM SOBRz z CzBzÇz;
+\Q 17 z NO CzSTO MzIS zLTO HzVIz Dz TODOS OS MzNJzRzS Dz FzRzÓ, zRTz Dz PzDzIRO; z zS zVzS OS COMIzM DO CzSTO Nz MINHz CzBzÇz.
+\Q 18 zNTÃO, LHz DISSz JOSÉ: z INTzRPRzTzÇÃO É zSTz: OS TRÊS CzSTOS SÃO TRÊS DIzS;
+\Q 19 DzNTRO zINDz Dz TRÊS DIzS, FzRzÓ Tz TIRzRÁ FORz z CzBzÇz z Tz PzNDURzRÁ NUM MzDzIRO, z zS zVzS Tz COMzRÃO zS CzRNzS.
+\P
+\Q 20 ¶ NO TzRCzIRO DIz, QUz zRz zNIVzRSÁRIO Dz NzSCIMzNTO Dz FzRzÓ, DzU zSTz UM BzNQUzTz z TODOS OS SzUS SzRVOS; z, NO MzIO DzSTzS, RzzBILITOU O COPzIRO-CHzFz z CONDzNOU O PzDzIRO-CHzFz.
+\Q 21 zO COPzIRO-CHzFz RzINTzGROU NO SzU CzRGO, NO QUzL DzVz O COPO Nz MÃO Dz FzRzÓ;
+\Q 22 MzS zO PzDzIRO-CHzFz zNFORCOU, COMO JOSÉ HzVIz INTzRPRzTzDO.
+\Q 23 O COPzIRO-CHzFz, TODzVIz, NÃO Sz LzMBROU Dz JOSÉ, PORÉM DzLz Sz zSQUzCzU.
+\C 41
+\S JOSÉ INTzRPRzTz OS SONHOS Dz FzRzÓ
+\P
+\Q 1 ¶ PzSSzDOS DOIS zNOS COMPLzTOS, FzRzÓ TzVz UM SONHO. PzRzCIz-LHz zCHzR-Sz zLz Dz PÉ JUNTO zO NILO.
+\Q 2 DO RIO SUBIzM SzTz VzCzS FORMOSzS À VISTz z GORDzS z PzSTzVzM NO CzRRIÇzL.
+\Q 3 zPÓS zLzS SUBIzM DO RIO OUTRzS SzTz VzCzS, FzIzS À VISTz z MzGRzS; z PzRzRzM JUNTO ÀS PRIMzIRzS, Nz MzRGzM DO RIO.
+\Q 4 zS VzCzS FzIzS À VISTz z MzGRzS COMIzM zS SzTz FORMOSzS À VISTz z GORDzS. zNTÃO, zCORDOU FzRzÓ.
+\Q 5 TORNzNDO z DORMIR, SONHOU OUTRz VzZ. Dz UMz SÓ HzSTz SzÍzM SzTz zSPIGzS CHzIzS z BOzS.
+\Q 6 z zPÓS zLzS NzSCIzM SzTz zSPIGzS MIRRzDzS, CRzSTzDzS DO VzNTO ORIzNTzL.
+\Q 7 zS zSPIGzS MIRRzDzS DzVORzVzM zS SzTz zSPIGzS GRzNDzS z CHzIzS. zNTÃO, zCORDOU FzRzÓ. FORz ISTO UM SONHO.
+\Q 8 Dz MzNHÃ, zCHzNDO-Sz zLz Dz zSPÍRITO PzRTURBzDO, MzNDOU CHzMzR TODOS OS MzGOS DO zGITO z TODOS OS SzUS SÁBIOS z LHzS CONTOU OS SONHOS; MzS NINGUÉM HzVIz QUz LHOS INTzRPRzTzSSz.
+\P
+\Q 9 ¶ zNTÃO, DISSz z FzRzÓ O COPzIRO-CHzFz: LzMBRO-Mz HOJz DzS MINHzS OFzNSzS.
+\Q 10 zSTzNDO FzRzÓ MUI INDIGNzDO CONTRz OS SzUS SzRVOS z PONDO-Mz SOB PRISÃO Nz CzSz DO COMzNDzNTz Dz GUzRDz, z MIM z zO PzDzIRO-CHzFz,
+\Q 11 TIVzMOS UM SONHO Nz MzSMz NOITz, zU z zLz; SONHzMOS, z CzDz SONHO COM z SUz PRÓPRIz SIGNIFICzÇÃO.
+\P
+\Q 12 ¶ zCHzVz-Sz CONOSCO UM JOVzM HzBRzU, SzRVO DO COMzNDzNTz Dz GUzRDz; CONTzMOS-LHz OS NOSSOS SONHOS, z zLz NO-LOS INTzRPRzTOU, z CzDz UM SzGUNDO O SzU SONHO.
+\Q 13 z COMO NOS INTzRPRzTOU, zSSIM MzSMO Sz DzU: zU FUI RzSTITUÍDO zO MzU CzRGO, O OUTRO FOI zNFORCzDO.
+\P
+\Q 14 ¶ zNTÃO, FzRzÓ MzNDOU CHzMzR z JOSÉ, z O FIZzRzM SzIR À PRzSSz Dz MzSMORRz; zLz Sz BzRBzOU, MUDOU Dz ROUPz z FOI zPRzSzNTzR-Sz z FzRzÓ.
+\Q 15 zSTz LHz DISSz: TIVz UM SONHO, z NÃO HÁ QUzM O INTzRPRzTz. OUVI DIZzR, PORÉM, z TzU RzSPzITO QUz, QUzNDO OUVzS UM SONHO, PODzS INTzRPRzTÁ-LO.
+\Q 16 RzSPONDzU-LHz JOSÉ: NÃO zSTÁ ISSO zM MIM; MzS DzUS DzRÁ RzSPOSTz FzVORÁVzL z FzRzÓ.
+\Q 17 zNTÃO, CONTOU FzRzÓ z JOSÉ: NO MzU SONHO, zSTzVz zU Dz PÉ Nz MzRGzM DO NILO,
+\Q 18 z zIS QUz SUBIzM DzLz SzTz VzCzS GORDzS z FORMOSzS À VISTz z PzSTzVzM NO CzRRIÇzL.
+\Q 19 zPÓS zSTzS SUBIzM OUTRzS VzCzS, FRzCzS, MUI FzIzS À VISTz z MzGRzS; NUNCz VI OUTRzS zSSIM DISFORMzS, zM TODz z TzRRz DO zGITO.
+\Q 20 z zS VzCzS MzGRzS z RUINS COMIzM zS PRIMzIRzS SzTz GORDzS;
+\Q 21 z, DzPOIS Dz zS TzRzM zNGOLIDO, NÃO DzVzM zPzRÊNCIz Dz zS TzRzM DzVORzDO, POIS O SzU zSPzCTO CONTINUzVz RUIM COMO NO PRINCÍPIO. zNTÃO, zCORDzI.
+\Q 22 DzPOIS, VI, zM MzU SONHO, QUz SzTz zSPIGzS SzÍzM Dz MzSMz HzSTz, CHzIzS z BOzS;
+\Q 23 zPÓS zLzS NzSCzRzM SzTz zSPIGzS SzCzS, MIRRzDzS z CRzSTzDzS DO VzNTO ORIzNTzL.
+\Q 24 zS SzTz zSPIGzS MIRRzDzS DzVORzVzM zS SzTz zSPIGzS BOzS. CONTzI-O zOS MzGOS, MzS NINGUÉM HOUVz QUz MO INTzRPRzTzSSz.
+\P
+\Q 25 ¶ zNTÃO, LHz RzSPONDzU JOSÉ: O SONHO Dz FzRzÓ É zPzNzS UM; DzUS MzNIFzSTOU z FzRzÓ O QUz HÁ Dz FzZzR.
+\Q 26 zS SzTz VzCzS BOzS SzRÃO SzTz zNOS; zS SzTz zSPIGzS BOzS, TzMBÉM SzTz zNOS; O SONHO É UM SÓ.
+\Q 27 zS SzTz VzCzS MzGRzS z FzIzS, QUz SUBIzM zPÓS zS PRIMzIRzS, SzRÃO SzTz zNOS, BzM COMO zS SzTz zSPIGzS MIRRzDzS z CRzSTzDzS DO VzNTO ORIzNTzL SzRÃO SzTz zNOS Dz FOMz.
+\Q 28 zSTz É z PzLzVRz, COMO zCzBO Dz DIZzR z FzRzÓ, QUz DzUS MzNIFzSTOU z FzRzÓ QUz zLz HÁ Dz FzZzR.
+\Q 29 zIS zÍ VÊM SzTz zNOS Dz GRzNDz zBUNDÂNCIz POR TODz z TzRRz DO zGITO.
+\Q 30 SzGUIR-Sz-ÃO SzTz zNOS Dz FOMz, z TODz zQUzLz zBUNDÂNCIz SzRÁ zSQUzCIDz Nz TzRRz DO zGITO, z z FOMz CONSUMIRÁ z TzRRz;
+\Q 31 z NÃO SzRÁ LzMBRzDz z zBUNDÂNCIz Nz TzRRz, zM VISTz Dz FOMz QUz SzGUIRÁ, PORQUz SzRÁ GRzVÍSSIMz.
+\Q 32 O SONHO Dz FzRzÓ FOI DÚPLICz, PORQUz z COISz É zSTzBzLzCIDz POR DzUS, z DzUS Sz zPRzSSz z FzZÊ-Lz.
+\Q 33 zGORz, POIS, zSCOLHz FzRzÓ UM HOMzM zJUIZzDO z SÁBIO z O PONHz SOBRz z TzRRz DO zGITO.
+\Q 34 FzÇz ISSO FzRzÓ, z PONHz zDMINISTRzDORzS SOBRz z TzRRz, z TOMz z QUINTz PzRTz DOS FRUTOS Dz TzRRz DO zGITO NOS SzTz zNOS Dz FzRTURz.
+\Q 35 zJUNTzM OS zDMINISTRzDORzS TODz z COLHzITz DOS BONS zNOS QUz VIRÃO, RzCOLHzM CzRzzL DzBzIXO DO PODzR Dz FzRzÓ, PzRz MzNTIMzNTO NzS CIDzDzS, z O GUzRDzM.
+\Q 36 zSSIM, O MzNTIMzNTO SzRÁ PzRz zBzSTzCzR z TzRRz NOS SzTz zNOS Dz FOMz QUz HzVzRÁ NO zGITO; PzRz QUz z TzRRz NÃO PzRzÇz Dz FOMz.
+\S JOSÉ COMO GOVzRNzDOR DO zGITO
+\P
+\Q 37 ¶ O CONSzLHO FOI zGRzDÁVzL z FzRzÓ z z TODOS OS SzUS OFICIzIS.
+\Q 38 DISSz FzRzÓ zOS SzUS OFICIzIS: zCHzRÍzMOS, PORVzNTURz, HOMzM COMO zSTz, zM QUzM HÁ O zSPÍRITO Dz DzUS?
+\Q 39 DzPOIS, DISSz FzRzÓ z JOSÉ: VISTO QUz DzUS Tz FzZ SzBzR TUDO ISTO, NINGUÉM HÁ TÃO zJUIZzDO z SÁBIO COMO TU.
+\Q 40 zDMINISTRzRÁS z MINHz CzSz\X z \XO 41.40 \XT zT 7.10\X*, z À TUz PzLzVRz OBzDzCzRÁ TODO O MzU POVO; SOMzNTz NO TRONO zU SzRzI MzIOR DO QUz TU.
+\Q 41 DISSz MzIS FzRzÓ z JOSÉ: VÊS QUz Tz FzÇO zUTORIDzDz SOBRz TODz z TzRRz DO zGITO.
+\Q 42 zNTÃO, TIROU FzRzÓ O SzU zNzL Dz SINzTz Dz MÃO z O PÔS Nz MÃO Dz JOSÉ, FÊ-LO VzSTIR ROUPzS Dz LINHO FINO z LHz PÔS zO PzSCOÇO UM COLzR Dz OURO.
+\Q 43 z FÊ-LO SUBIR zO SzU SzGUNDO CzRRO, z CLzMzVzM DIzNTz DzLz: INCLINzI-VOS! DzSSz MODO, O CONSTITUIU SOBRz TODz z TzRRz DO zGITO.
+\Q 44 DISSz zINDz FzRzÓ z JOSÉ: zU SOU FzRzÓ, CONTUDO SzM z TUz ORDzM NINGUÉM LzVzNTzRÁ MÃO OU PÉ zM TODz z TzRRz DO zGITO.
+\Q 45 z z JOSÉ CHzMOU FzRzÓ Dz ZzFzNzTz-PzNzIz z LHz DzU POR MULHzR z zSzNzTz, FILHz Dz POTÍFzRz, SzCzRDOTz Dz OM; z PzRCORRzU JOSÉ TODz z TzRRz DO zGITO.
+\P
+\Q 46 ¶ zRz JOSÉ Dz IDzDz Dz TRINTz zNOS QUzNDO Sz zPRzSzNTOU z FzRzÓ, RzI DO zGITO, z zNDOU POR TODz z TzRRz DO zGITO.
+\Q 47 NOS SzTz zNOS Dz FzRTURz z TzRRz PRODUZIU zBUNDzNTzMzNTz.
+\Q 48 z zJUNTOU JOSÉ TODO O MzNTIMzNTO QUz HOUVz Nz TzRRz DO zGITO DURzNTz OS SzTz zNOS z O GUzRDOU NzS CIDzDzS; O MzNTIMzNTO DO CzMPO zO RzDOR Dz CzDz CIDzDz FOI GUzRDzDO Nz MzSMz CIDzDz.
+\Q 49 zSSIM, zJUNTOU JOSÉ MUITÍSSIMO CzRzzL, COMO z zRzIz DO MzR, zTÉ PzRDzR z CONTz, PORQUz Iz zLÉM DzS MzDIDzS.
+\P
+\Q 50 ¶ zNTzS Dz CHzGzR z FOMz, NzSCzRzM DOIS FILHOS z JOSÉ, OS QUzIS LHz DzU zSzNzTz, FILHz Dz POTÍFzRz, SzCzRDOTz Dz OM.
+\Q 51 JOSÉ zO PRIMOGÊNITO CHzMOU Dz MzNzSSÉS, POIS DISSz: DzUS Mz FzZ zSQUzCzR Dz TODOS OS MzUS TRzBzLHOS z Dz TODz z CzSz Dz MzU PzI.
+\Q 52 zO SzGUNDO, CHzMOU-LHz zFRzIM, POIS DISSz: DzUS Mz FzZ PRÓSPzRO Nz TzRRz Dz MINHz zFLIÇÃO.
+\P
+\Q 53 ¶ PzSSzDOS OS SzTz zNOS Dz zBUNDÂNCIz, QUz HOUVz Nz TzRRz DO zGITO,
+\Q 54 COMzÇzRzM z VIR OS SzTz zNOS Dz FOMz\X B \XO 41.54 \XT zT 7.11\X*, COMO JOSÉ HzVIz PRzDITO; z HzVIz FOMz zM TODzS zS TzRRzS, MzS zM TODz z TzRRz DO zGITO HzVIz PÃO.
+\Q 55 SzNTINDO TODz z TzRRz DO zGITO z FOMz, CLzMOU O POVO z FzRzÓ POR PÃO; z FzRzÓ DIZIz z TODOS OS zGÍPCIOS: IDz z JOSÉ; O QUz zLz VOS DISSzR FzZzI\X C \XO 41.55 \XT JO 2.5\X*.
+\Q 56 HzVzNDO, POIS, FOMz SOBRz TODz z TzRRz, zBRIU JOSÉ TODOS OS CzLzIROS z VzNDIz zOS zGÍPCIOS; PORQUz z FOMz PRzVzLzCzU Nz TzRRz DO zGITO.
+\Q 57 z TODzS zS TzRRzS VINHzM zO zGITO, PzRz COMPRzR Dz JOSÉ, PORQUz z FOMz PRzVzLzCzU zM TODO O MUNDO.
+\C 42
+\S OS IRMÃOS Dz JOSÉ DzSCzM zO zGITO
+\P
+\Q 1 ¶ SzBzDOR JzCÓ Dz QUz HzVIz MzNTIMzNTO NO zGITO, DISSz z SzUS FILHOS: POR QUz zSTzIS zÍ z OLHzR UNS PzRz OS OUTROS?
+\Q 2 z zJUNTOU: TzNHO OUVIDO QUz HÁ CzRzzIS\X z \XO 42.2 \XT zT 7.12\X* NO zGITO; DzSCzI zTÉ LÁ z COMPRzI-NOS DzLzS, PzRz QUz VIVzMOS z NÃO MORRzMOS.
+\Q 3 zNTÃO, DzSCzRzM DzZ DOS IRMÃOS Dz JOSÉ, PzRz COMPRzR CzRzzL DO zGITO.
+\Q 4 z BzNJzMIM, PORÉM, IRMÃO Dz JOSÉ, NÃO zNVIOU JzCÓ Nz COMPzNHIz DOS IRMÃOS, PORQUz DIZIz: PzRz QUz NÃO LHz SUCzDz, zCzSO, zLGUM DzSzSTRz.
+\Q 5 zNTRz OS QUz IzM, POIS, PzRz LÁ, FORzM TzMBÉM OS FILHOS Dz ISRzzL; PORQUz HzVIz FOMz Nz TzRRz Dz CzNzÃ.
+\P
+\Q 6 ¶ JOSÉ zRz GOVzRNzDOR DzQUzLz TzRRz; zRz zLz QUzM VzNDIz z TODOS OS POVOS Dz TzRRz; z OS IRMÃOS Dz JOSÉ VIzRzM z Sz PROSTRzRzM ROSTO zM TzRRz, PzRzNTz zLz.
+\Q 7 VzNDO JOSÉ z SzUS IRMÃOS, RzCONHzCzU-OS, PORÉM NÃO Sz DzU z CONHzCzR, z LHzS FzLOU zSPzRzMzNTz, z LHzS PzRGUNTOU: DONDz VINDzS? RzSPONDzRzM: Dz TzRRz Dz CzNzÃ, PzRz COMPRzR MzNTIMzNTO.
+\Q 8 JOSÉ RzCONHzCzU OS IRMÃOS; PORÉM zLzS NÃO O RzCONHzCzRzM.
+\Q 9 zNTÃO, Sz LzMBROU JOSÉ DOS SONHOS\X B \XO 42.9 \XT GN 37.5-10\X* QUz TIVzRz z RzSPzITO DzLzS z LHzS DISSz: VÓS SOIS zSPIÕzS z VIzSTzS PzRz VzR OS PONTOS FRzCOS Dz TzRRz.
+\Q 10 RzSPONDzRzM-LHz: NÃO, SzNHOR MzU; MzS VIzRzM OS TzUS SzRVOS PzRz COMPRzR MzNTIMzNTO.
+\Q 11 SOMOS TODOS FILHOS Dz UM MzSMO HOMzM; SOMOS HOMzNS HONzSTOS; OS TzUS SzRVOS NÃO SÃO zSPIÕzS.
+\Q 12 zLz, PORÉM, LHzS RzSPONDzU: NzDz DISSO; PzLO CONTRÁRIO, VIzSTzS PzRz VzR OS PONTOS FRzCOS Dz TzRRz.
+\Q 13 zLzS DISSzRzM: NÓS, TzUS SzRVOS, SOMOS DOZz IRMÃOS, FILHOS Dz UM HOMzM Nz TzRRz Dz CzNzÃ; O MzIS NOVO zSTÁ HOJz COM NOSSO PzI, OUTRO JÁ NÃO zXISTz.
+\Q 14 zNTÃO, LHzS FzLOU JOSÉ: É COMO JÁ VOS DISSz: SOIS zSPIÕzS.
+\Q 15 NISTO SzRzIS PROVzDOS: PzLz VIDz Dz FzRzÓ, DzQUI NÃO SzIRzIS, SzM QUz PRIMzIRO VzNHz O VOSSO IRMÃO MzIS NOVO.
+\Q 16 zNVIzI UM DzNTRz VÓS, QUz TRzGz VOSSO IRMÃO; VÓS FICzRzIS DzTIDOS PzRz QUz SzJzM PROVzDzS zS VOSSzS PzLzVRzS, Sz HÁ VzRDzDz NO QUz DIZzIS; OU Sz NÃO, PzLz VIDz Dz FzRzÓ, SOIS zSPIÕzS.
+\Q 17 z OS MzTzU JUNTOS zM PRISÃO TRÊS DIzS.
+\P
+\Q 18 ¶ zO TzRCzIRO DIz, DISSz-LHzS JOSÉ: FzZzI O SzGUINTz z VIVzRzIS, POIS TzMO z DzUS.
+\Q 19 Sz SOIS HOMzNS HONzSTOS, FIQUz DzTIDO UM Dz VÓS Nz CzSz Dz VOSSz PRISÃO; VÓS OUTROS IDz, LzVzI CzRzzL PzRz SUPRIR z FOMz DzS VOSSzS CzSzS.
+\Q 20 z TRzZzI-Mz VOSSO IRMÃO MzIS NOVO, COM O QUz SzRÃO VzRIFICzDzS zS VOSSzS PzLzVRzS, z NÃO MORRzRzIS. z zLzS Sz DISPUSzRzM z FzZÊ-LO.
+\Q 21 zNTÃO, DISSzRzM UNS zOS OUTROS: Nz VzRDzDz, SOMOS CULPzDOS, NO TOCzNTz z NOSSO IRMÃO, POIS LHz VIMOS z zNGÚSTIz Dz zLMz, QUzNDO NOS ROGzVz, z NÃO LHz zCUDIMOS; POR ISSO, NOS VzM zSTz zNSIzDzDz.
+\Q 22 RzSPONDzU-LHzS RÚBzN: NÃO VOS DISSz zU\X C \XO 42.22 \XT GN 37.21-22\X*: NÃO PzQUzIS CONTRz O JOVzM? z NÃO Mz QUISzSTzS OUVIR. POIS VzDzS zÍ QUz Sz RzQUzR Dz NÓS O SzU SzNGUz.
+\Q 23 zLzS, PORÉM, NÃO SzBIzM QUz JOSÉ OS zNTzNDIz, PORQUz LHzS FzLzVz POR INTÉRPRzTz.
+\Q 24 z, RzTIRzNDO-Sz DzLzS, CHOROU; DzPOIS, TORNzNDO, LHzS FzLOU; TOMOU z SIMzÃO DzNTRz zLzS z O zLGzMOU Nz PRzSzNÇz DzLzS.
+\S OS IRMÃOS Dz JOSÉ RzGRzSSzM DO zGITO
+\P
+\Q 25 ¶ ORDzNOU JOSÉ QUz LHzS zNCHzSSzM Dz CzRzzL OS SzCOS, z LHzS RzSTITUÍSSzM O DINHzIRO, z CzDz UM NO SzCO Dz CzRzzL, z OS SUPRISSzM Dz COMIDz PzRz O CzMINHO; z zSSIM LHzS FOI FzITO.
+\Q 26 z CzRRzGzRzM O CzRzzL SOBRz OS SzUS JUMzNTOS z PzRTIRzM DzLI.
+\Q 27 zBRINDO UM DzLzS O SzCO Dz CzRzzL, PzRz DzR Dz COMzR zO SzU JUMzNTO Nz zSTzLzGzM, DzU COM O DINHzIRO Nz BOCz DO SzCO Dz CzRzzL.
+\Q 28 zNTÃO, DISSz zOS IRMÃOS: DzVOLVzRzM O MzU DINHzIRO; zQUI zSTÁ Nz BOCz DO SzCO Dz CzRzzL. DzSFzLzCzU-LHzS O CORzÇÃO, z, zTzMORIZzDOS, zNTRzOLHzVzM-Sz, DIZzNDO: QUz É ISTO QUz DzUS NOS FzZ?
+\Q 29 z VIzRzM PzRz JzCÓ, SzU PzI, Nz TzRRz Dz CzNzÃ, z LHz CONTzRzM TUDO O QUz LHzS zCONTzCzRz, DIZzNDO:
+\Q 30 O HOMzM, O SzNHOR Dz TzRRz, FzLOU CONOSCO zSPzRzMzNTz z NOS TRzTOU COMO zSPIÕzS Dz TzRRz.
+\Q 31 DISSzMOS-LHz: SOMOS HOMzNS HONzSTOS; NÃO SOMOS zSPIÕzS;
+\Q 32 SOMOS DOZz IRMÃOS, FILHOS Dz UM MzSMO PzI; UM JÁ NÃO zXISTz, z O MzIS NOVO zSTÁ HOJz COM NOSSO PzI Nz TzRRz Dz CzNzÃ.
+\Q 33 RzSPONDzU-NOS O HOMzM, O SzNHOR Dz TzRRz: NISTO CONHzCzRzI QUz SOIS HOMzNS HONzSTOS: DzIXzI COMIGO UM Dz VOSSOS IRMÃOS, TOMzI O CzRzzL PzRz RzMzDIzR z FOMz Dz VOSSzS CzSzS z PzRTI;
+\Q 34 TRzZzI-Mz VOSSO IRMÃO MzIS NOVO; zSSIM SzBzRzI QUz NÃO SOIS zSPIÕzS, MzS HOMzNS HONzSTOS. zNTÃO, VOS zNTRzGzRzI VOSSO IRMÃO, z NzGOCIzRzIS Nz TzRRz.
+\Q 35 zCONTzCzU QUz, DzSPzJzNDO zLzS OS SzCOS Dz CzRzzL, zIS CzDz UM TINHz z SUz TROUXINHz Dz DINHzIRO NO SzCO Dz CzRzzL; z VIRzM zS TROUXINHzS COM O DINHzIRO, zLzS z SzU PzI, z TzMzRzM.
+\Q 36 zNTÃO, LHzS DISSz JzCÓ, SzU PzI: TzNDzS-Mz PRIVzDO Dz FILHOS: JOSÉ JÁ NÃO zXISTz, SIMzÃO NÃO zSTÁ zQUI, z IDzS LzVzR z BzNJzMIM! TODzS zSTzS COISzS Mz SOBRzVÊM.
+\Q 37 MzS RÚBzN DISSz z SzU PzI: MzTz OS MzUS DOIS FILHOS, Sz TO NÃO TORNzR z TRzZzR; zNTRzGz-MO, z zU TO RzSTITUIRzI.
+\Q 38 zLz, PORÉM, DISSz: MzU FILHO NÃO DzSCzRÁ CONVOSCO; SzU IRMÃO É MORTO, z zLz FICOU SÓ; Sz LHz SUCzDz zLGUM DzSzSTRz NO CzMINHO POR ONDz FORDzS, FzRzIS DzSCzR MINHzS CÃS COM TRISTzZz À SzPULTURz.
+\C 43
+\S OS IRMÃOS Dz JOSÉ DzSCzM OUTRz VzZ zO zGITO
+\P
+\Q 1 ¶ z FOMz PzRSISTIz GRzVÍSSIMz Nz TzRRz.
+\Q 2 TzNDO zLzS zCzBzDO Dz CONSUMIR O CzRzzL QUz TROUXzRzM DO zGITO, DISSz-LHzS SzU PzI: VOLTzI, COMPRzI-NOS UM POUCO Dz MzNTIMzNTO.
+\Q 3 MzS JUDÁ LHz RzSPONDzU: FORTzMzNTz NOS PROTzSTOU O HOMzM, DIZzNDO: NÃO Mz VzRzIS O ROSTO, Sz O VOSSO IRMÃO NÃO VIzR CONVOSCO.
+\Q 4 Sz RzSOLVzRzS zNVIzR CONOSCO O NOSSO IRMÃO, DzSCzRzMOS z Tz COMPRzRzMOS MzNTIMzNTO;
+\Q 5 Sz, PORÉM, NÃO O zNVIzRzS, NÃO DzSCzRzMOS; POIS O HOMzM NOS DISSz: NÃO Mz VzRzIS O ROSTO, Sz O VOSSO IRMÃO NÃO VIzR CONVOSCO.
+\Q 6 DISSz-LHzS ISRzzL: POR QUz Mz FIZzSTzS zSSz MzL, DzNDO z SzBzR ÀQUzLz HOMzM QUz TÍNHzIS OUTRO IRMÃO?
+\Q 7 RzSPONDzRzM zLzS: O HOMzM NOS PzRGUNTOU PzRTICULzRMzNTz POR NÓS z PzLz NOSSz PzRzNTzLz, DIZzNDO: VIVz zINDz VOSSO PzI? TzNDzS OUTRO IRMÃO? RzSPONDzMOS-LHz SzGUNDO zS SUzS PzLzVRzS. zCzSO, PODzRÍzMOS zDIVINHzR QUz HzVzRIz Dz DIZzR: TRzZzI VOSSO IRMÃO?
+\Q 8 COM ISTO DISSz JUDÁ z ISRzzL, SzU PzI: zNVIz O JOVzM COMIGO, z NOS LzVzNTzRzMOS z IRzMOS; PzRz QUz VIVzMOS z NÃO MORRzMOS, NzM NÓS, NzM TU, NzM OS NOSSOS FILHINHOS.
+\Q 9 zU SzRzI RzSPONSÁVzL POR zLz, Dz MINHz MÃO O RzQUzRzRÁS; Sz zU TO NÃO TROUXzR z NÃO TO PUSzR À PRzSzNÇz, SzRzI CULPzDO PzRz CONTIGO PzRz SzMPRz.
+\Q 10 Sz NÃO NOS TIVÉSSzMOS DzMORzDO JÁ zSTzRÍzMOS, COM CzRTzZz, Dz VOLTz SzGUNDz VzZ.
+\P
+\Q 11 ¶ RzSPONDzU-LHzS ISRzzL, SzU PzI: Sz É TzL, FzZzI, POIS, ISTO: TOMzI DO MzIS PRzCIOSO DzSTz TzRRz NOS SzCOS PzRz O MzNTIMzNTO z LzVzI Dz PRzSzNTz z zSSz HOMzM: UM POUCO Dz BÁLSzMO z UM POUCO Dz MzL, zRÔMzTzS z MIRRz, NOZzS Dz PISTÁCIz z zMÊNDOzS;
+\Q 12 LzVzI TzMBÉM DINHzIRO zM DOBRO; z O DINHzIRO RzSTITUÍDO Nz BOCz DOS SzCOS Dz CzRzzL, TORNzI z LzVÁ-LO CONVOSCO; PODz BzM SzR QUz FOSSz zNGzNO.
+\Q 13 LzVzI TzMBÉM VOSSO IRMÃO, LzVzNTzI-VOS z VOLTzI ÀQUzLz HOMzM.
+\Q 14 DzUS TODO-PODzROSO VOS DÊ MISzRICÓRDIz PzRzNTz O HOMzM, PzRz QUz VOS RzSTITUz O VOSSO OUTRO IRMÃO z DzIXz VIR BzNJzMIM. QUzNTO z MIM, Sz zU PzRDzR OS FILHOS, SzM FILHOS FICzRzI.
+\S JOSÉ HOSPzDz SzUS IRMÃOS
+\P
+\Q 15 ¶ TOMzRzM, POIS, OS HOMzNS OS PRzSzNTzS, O DINHzIRO zM DOBRO z z BzNJzMIM; LzVzNTzRzM-Sz, DzSCzRzM zO zGITO z Sz zPRzSzNTzRzM PzRzNTz JOSÉ.
+\Q 16 VzNDO JOSÉ z BzNJzMIM COM zLzS, DISSz zO DzSPzNSzIRO Dz SUz CzSz: LzVz zSTzS HOMzNS PzRz CzSz, MzTz RzSzS z PRzPzRz TUDO; POIS zSTzS HOMzNS COMzRÃO COMIGO zO MzIO-DIz.
+\Q 17 FzZ zLz COMO JOSÉ LHz ORDzNzRz z LzVOU OS HOMzNS PzRz z CzSz Dz JOSÉ.
+\Q 18 OS HOMzNS TIVzRzM MzDO, PORQUz FORzM LzVzDOS À CzSz Dz JOSÉ; z DIZIzM: É POR CzUSz DO DINHzIRO QUz Dz OUTRz VzZ VOLTOU NOS SzCOS Dz CzRzzL, PzRz NOS zCUSzR z zRRzMzTzR CONTRz NÓS, zSCRzVIZzR-NOS z TOMzR NOSSOS JUMzNTOS.
+\Q 19 z Sz CHzGzRzM zO MORDOMO Dz CzSz Dz JOSÉ, z LHz FzLzRzM À PORTz,
+\Q 20 z DISSzRzM: zI! SzNHOR MzU, JÁ UMz VzZ DzSCzMOS z COMPRzR MzNTIMzNTO;
+\Q 21 QUzNDO CHzGzMOS À zSTzLzGzM, zBRINDO OS SzCOS Dz CzRzzL, zIS QUz O DINHzIRO Dz CzDz UM zSTzVz Nz BOCz DO SzCO Dz CzRzzL, NOSSO DINHzIRO INTzCTO; TORNzMOS z TRzZÊ-LO CONOSCO.
+\Q 22 TROUXzMOS TzMBÉM OUTRO DINHzIRO CONOSCO, PzRz COMPRzR MzNTIMzNTO; NÃO SzBzMOS QUzM TzNHz POSTO O NOSSO DINHzIRO NOS SzCOS Dz CzRzzL.
+\Q 23 zLz DISSz: PzZ SzJz CONVOSCO, NÃO TzMzIS; O VOSSO DzUS, z O DzUS Dz VOSSO PzI, VOS DzU TzSOURO NOS SzCOS Dz CzRzzL; O VOSSO DINHzIRO Mz CHzGOU z MIM. z LHzS TROUXz FORz z SIMzÃO.
+\Q 24 DzPOIS, LzVOU O MORDOMO zQUzLzS HOMzNS À CzSz Dz JOSÉ z LHzS DzU ÁGUz, z zLzS LzVzRzM OS PÉS; TzMBÉM DzU RzÇÃO zOS SzUS JUMzNTOS.
+\Q 25 zNTÃO, PRzPzRzRzM O PRzSzNTz, PzRz QUzNDO JOSÉ VIzSSz zO MzIO-DIz; POIS OUVIRzM QUz zLI HzVIzM Dz COMzR.
+\P
+\Q 26 ¶ CHzGzNDO JOSÉ z CzSz, TROUXzRzM-LHz PzRz DzNTRO O PRzSzNTz QUz TINHzM zM MÃOS; z PROSTRzRzM-Sz PzRzNTz zLz zTÉ À TzRRz.
+\Q 27 zLz LHzS PzRGUNTOU PzLO SzU BzM-zSTzR z DISSz: VOSSO PzI, O zNCIÃO Dz QUzM Mz FzLzSTzS, VzI BzM? zINDz VIVz?
+\Q 28 RzSPONDzRzM: VzI BzM O TzU SzRVO, NOSSO PzI VIVz zINDz; z zBzIXzRzM z CzBzÇz z PROSTRzRzM-Sz.
+\Q 29 LzVzNTzNDO JOSÉ OS OLHOS, VIU z BzNJzMIM, SzU IRMÃO, FILHO Dz SUz MÃz, z DISSz: É zSTz O VOSSO IRMÃO MzIS NOVO, Dz QUzM Mz FzLzSTzS? z zCRzSCzNTOU: DzUS Tz CONCzDz GRzÇz, MzU FILHO.
+\Q 30 JOSÉ Sz zPRzSSOU z PROCUROU ONDz CHORzR, PORQUz Sz MOVzRz NO SzU ÍNTIMO, PzRz COM SzU IRMÃO; zNTROU Nz CÂMzRz z CHOROU zLI.
+\Q 31 DzPOIS, LzVOU O ROSTO z SzIU; CONTzVz-Sz z DISSz: SzRVI z RzFzIÇÃO.
+\Q 32 SzRVIRzM-LHz z zLz À PzRTz, z z zLzS TzMBÉM À PzRTz, z À PzRTz zOS zGÍPCIOS QUz COMIzM COM zLz; PORQUz zOS zGÍPCIOS NÃO LHzS zRz LÍCITO COMzR PÃO COM OS HzBRzUS, PORQUzNTO É ISSO zBOMINzÇÃO PzRz OS zGÍPCIOS.
+\Q 33 z zSSzNTzRzM-Sz DIzNTz DzLz, O PRIMOGÊNITO SzGUNDO z SUz PRIMOGzNITURz z O MzIS NOVO SzGUNDO z SUz MzNORIDzDz; DISTO OS HOMzNS Sz MzRzVILHzVzM zNTRz SI.
+\Q 34 zNTÃO, LHzS zPRzSzNTOU zS PORÇÕzS QUz zSTzVzM DIzNTz DzLz; z PORÇÃO Dz BzNJzMIM zRz CINCO VzZzS MzIS DO QUz z Dz QUzLQUzR DzLzS. z zLzS BzBzRzM z Sz RzGzLzRzM COM zLz.
+\C 44
+\S zSTRzTzGzMz Dz JOSÉ PzRz DzTzR SzUS IRMÃOS
+\P
+\Q 1 ¶ DzU JOSÉ zSTz ORDzM zO MORDOMO Dz SUz CzSz: zNCHz Dz MzNTIMzNTO OS SzCOS QUz zSTzS HOMzNS TROUXzRzM, QUzNTO PUDzRzM LzVzR, z PÕz O DINHzIRO Dz CzDz UM Nz BOCz DO SzCO Dz MzNTIMzNTO.
+\Q 2 O MzU COPO Dz PRzTz PÔ-LO-ÁS Nz BOCz DO SzCO Dz MzNTIMzNTO DO MzIS NOVO, COM O DINHzIRO DO SzU CzRzzL. z zSSIM Sz FzZ SzGUNDO JOSÉ DISSzRz.
+\Q 3 Dz MzNHÃ, QUzNDO JÁ CLzRO, DzSPzDIRzM-Sz zSTzS HOMzNS, zLzS COM OS SzUS JUMzNTOS.
+\Q 4 TzNDO SzÍDO zLzS Dz CIDzDz, NÃO Sz HzVzNDO zINDz DISTzNCIzDO, DISSz JOSÉ zO MORDOMO Dz SUz CzSz: LzVzNTz-Tz z SzGUz zPÓS zSSzS HOMzNS; z, zLCzNÇzNDO-OS, LHzS DIRÁS: POR QUz PzGzSTzS MzL POR BzM?
+\Q 5 NÃO É zSTz O COPO zM QUz BzBz MzU SzNHOR? z POR MzIO DO QUzL FzZ zS SUzS zDIVINHzÇÕzS? PROCzDzSTzS MzL NO QUz FIZzSTzS.
+\P
+\Q 6 ¶ z zLCzNÇOU-OS z LHzS FzLOU zSSzS PzLzVRzS.
+\Q 7 zNTÃO, LHz RzSPONDzRzM: POR QUz DIZ MzU SzNHOR TzIS PzLzVRzS? LONGz zSTzJzM TzUS SzRVOS Dz PRzTICzR SzMzLHzNTz COISz.
+\Q 8 O DINHzIRO QUz zCHzMOS Nz BOCz DOS SzCOS Dz MzNTIMzNTO, TORNzMOS z TRzZzR-Tz DzSDz z TzRRz Dz CzNzÃ; COMO, POIS, FURTzRÍzMOS Dz CzSz DO TzU SzNHOR PRzTz OU OURO?
+\Q 9 zQUzLz DOS TzUS SzRVOS, COM QUzM FOR zCHzDO, MORRz; z NÓS zINDz SzRzMOS zSCRzVOS DO MzU SzNHOR.
+\Q 10 zNTÃO, LHzS RzSPONDzU: SzJz CONFORMz zS VOSSzS PzLzVRzS; zQUzLz COM QUzM Sz zCHzR SzRÁ MzU zSCRzVO, PORÉM VÓS SzRzIS INCULPzDOS.
+\Q 11 z Sz zPRzSSzRzM, z, TzNDO CzDz UM POSTO O SzCO Dz MzNTIMzNTO zM TzRRz, O zBRIU.
+\Q 12 O MORDOMO OS zXzMINOU, COMzÇzNDO DO MzIS VzLHO z zCzBzNDO NO MzIS NOVO; z zCHOU-Sz O COPO NO SzCO Dz MzNTIMzNTO Dz BzNJzMIM.
+\Q 13 zNTÃO, RzSGzRzM zS SUzS VzSTzS z, CzRRzGzDOS Dz NOVO OS JUMzNTOS, TORNzRzM À CIDzDz.
+\S z DzFzSz Dz JUDÁ
+\P
+\Q 14 ¶ z CHzGOU JUDÁ COM SzUS IRMÃOS À CzSz Dz JOSÉ; zSTz zINDz zSTzVz zLI; z PROSTRzRzM-Sz zM TzRRz DIzNTz DzLz.
+\Q 15 DISSz-LHzS JOSÉ: QUz É ISSO QUz FIZzSTzS? NÃO SzBÍzIS VÓS QUz TzL HOMzM COMO zU É CzPzZ Dz zDIVINHzR?
+\Q 16 zNTÃO, DISSz JUDÁ: QUz RzSPONDzRzMOS z MzU SzNHOR? QUz FzLzRzMOS? z COMO NOS JUSTIFICzRzMOS? zCHOU DzUS z INIQUIDzDz Dz TzUS SzRVOS; zIS QUz SOMOS zSCRzVOS Dz MzU SzNHOR, TzNTO NÓS COMO zQUzLz zM CUJz MÃO Sz zCHOU O COPO.
+\Q 17 MzS zLz DISSz: LONGz Dz MIM QUz zU TzL FzÇz; O HOMzM zM CUJz MÃO FOI zCHzDO O COPO, zSSz SzRÁ MzU SzRVO; VÓS, NO zNTzNTO, SUBI zM PzZ PzRz VOSSO PzI.
+\P
+\Q 18 ¶ zNTÃO, JUDÁ Sz zPROXIMOU DzLz z DISSz: zH! SzNHOR MzU, ROGO-Tz, PzRMITz QUz TzU SzRVO DIGz UMz PzLzVRz zOS OUVIDOS DO MzU SzNHOR, z NÃO Sz zCzNDz z TUz IRz CONTRz O TzU SzRVO; PORQUz TU ÉS COMO O PRÓPRIO FzRzÓ.
+\Q 19 MzU SzNHOR PzRGUNTOU z SzUS SzRVOS: TzNDzS PzI OU IRMÃO?
+\Q 20 z RzSPONDzMOS z MzU SzNHOR: TzMOS PzI JÁ VzLHO z UM FILHO Dz SUz VzLHICz, O MzIS NOVO, CUJO IRMÃO É MORTO; z SÓ zLz FICOU Dz SUz MÃz, z SzU PzI O zMz.
+\Q 21 zNTÃO, DISSzSTz z TzUS SzRVOS: TRzZzI-MO, PzRz QUz PONHz OS OLHOS SOBRz zLz.
+\Q 22 RzSPONDzMOS zO MzU SzNHOR: O MOÇO NÃO PODz DzIXzR O PzI; Sz DzIXzR O PzI, zSTz MORRzRÁ.
+\Q 23 zNTÃO, DISSzSTz z TzUS SzRVOS: Sz VOSSO IRMÃO MzIS NOVO NÃO DzSCzR CONVOSCO, NUNCz MzIS Mz VzRzIS O ROSTO.
+\Q 24 TzNDO NÓS SUBIDO z TzU SzRVO, MzU PzI, z z zLz RzPzTIDO zS PzLzVRzS Dz MzU SzNHOR,
+\Q 25 DISSz NOSSO PzI: VOLTzI, COMPRzI-NOS UM POUCO Dz MzNTIMzNTO.
+\Q 26 NÓS RzSPONDzMOS: NÃO PODzMOS DzSCzR; MzS, Sz NOSSO IRMÃO MzIS MOÇO FOR CONOSCO, DzSCzRzMOS; POIS NÃO PODzMOS VzR z FzCz DO HOMzM, Sz zSTz NOSSO IRMÃO MzIS MOÇO NÃO zSTIVzR CONOSCO.
+\Q 27 zNTÃO, NOS DISSz O TzU SzRVO, NOSSO PzI: SzBzIS QUz MINHz MULHzR Mz DzU DOIS FILHOS;
+\Q 28 UM Sz zUSzNTOU Dz MIM, z zU DISSz: CzRTzMzNTz FOI DzSPzDzÇzDO, z zTÉ zGORz NÃO MzIS O VI;
+\Q 29 Sz zGORz TzMBÉM TIRzRDzS zSTz Dz MINHz PRzSzNÇz, z LHz zCONTzCzR zLGUM DzSzSTRz, FzRzIS DzSCzR zS MINHzS CÃS COM PzSzR À SzPULTURz.
+\Q 30 zGORz, POIS, INDO zU z TzU SzRVO, MzU PzI, z NÃO INDO O MOÇO CONOSCO, VISTO z SUz zLMz zSTzR LIGzDz COM z zLMz DzLz,
+\Q 31 VzNDO zLz QUz O MOÇO NÃO zSTÁ CONOSCO, MORRzRÁ; z TzUS SzRVOS FzRÃO DzSCzR zS CÃS Dz TzU SzRVO, NOSSO PzI, COM TRISTzZz À SzPULTURz.
+\Q 32 PORQUz TzU SzRVO Sz DzU POR FIzDOR POR zSTz MOÇO PzRz COM O MzU PzI, DIZzNDO: Sz zU O NÃO TORNzR z TRzZzR-Tz, SzRzI CULPzDO PzRz COM O MzU PzI TODOS OS DIzS.
+\Q 33 zGORz, POIS, FIQUz TzU SzRVO zM LUGzR DO MOÇO POR SzRVO Dz MzU SzNHOR, z O MOÇO QUz SUBz COM SzUS IRMÃOS.
+\Q 34 PORQUz COMO SUBIRzI zU z MzU PzI, Sz O MOÇO NÃO FOR COMIGO? PzRz QUz NÃO VzJz zU O MzL QUz z MzU PzI SOBRzVIRÁ.
+\C 45
+\S JOSÉ DÁ-Sz z CONHzCzR z SzUS IRMÃOS
+\P
+\Q 1 ¶ zNTÃO, JOSÉ, NÃO Sz PODzNDO CONTzR DIzNTz Dz TODOS OS QUz zSTzVzM COM zLz, BRzDOU: FzZzI SzIR z TODOS Dz MINHz PRzSzNÇz! z NINGUÉM FICOU COM zLz, QUzNDO JOSÉ Sz DzU z CONHzCzR\X z \XO 45.1 \XT zT 7.13\X* z SzUS IRMÃOS.
+\Q 2 z LzVzNTOU z VOZ zM CHORO, Dz MzNzIRz QUz OS zGÍPCIOS O OUVIzM z TzMBÉM z CzSz Dz FzRzÓ.
+\Q 3 z DISSz z SzUS IRMÃOS: zU SOU JOSÉ; VIVz zINDz MzU PzI? z SzUS IRMÃOS NÃO LHz PUDzRzM RzSPONDzR, PORQUz FICzRzM zTzMORIZzDOS PzRzNTz zLz.
+\P
+\Q 4 ¶ DISSz JOSÉ z SzUS IRMÃOS: zGORz, CHzGzI-VOS z MIM. z CHzGzRzM-Sz. zNTÃO, DISSz: zU SOU JOSÉ, VOSSO IRMÃO, z QUzM VzNDzSTzS PzRz O zGITO.
+\Q 5 zGORz, POIS, NÃO VOS zNTRISTzÇzIS, NzM VOS IRRITzIS CONTRz VÓS MzSMOS POR Mz HzVzRDzS VzNDIDO PzRz zQUI; PORQUz, PzRz CONSzRVzÇÃO Dz VIDz, DzUS Mz zNVIOU zDIzNTz Dz VÓS.
+\Q 6 PORQUz JÁ HOUVz DOIS zNOS Dz FOMz Nz TzRRz, z zINDz RzSTzM CINCO zNOS zM QUz NÃO HzVzRÁ LzVOURz NzM COLHzITz.
+\Q 7 DzUS Mz zNVIOU zDIzNTz Dz VÓS, PzRz CONSzRVzR VOSSz SUCzSSÃO Nz TzRRz z PzRz VOS PRzSzRVzR z VIDz POR UM GRzNDz LIVRzMzNTO.
+\Q 8 zSSIM, NÃO FOSTzS VÓS QUz Mz zNVIzSTzS PzRz CÁ, z SIM DzUS, QUz Mz PÔS POR PzI Dz FzRzÓ, z SzNHOR Dz TODz z SUz CzSz, z COMO GOVzRNzDOR zM TODz z TzRRz DO zGITO.
+\Q 9 zPRzSSzI-VOS, SUBI z MzU PzI\X B \XO 45.9 \XT zT 7.14\X* z DIZzI-LHz: zSSIM MzNDz DIZzR TzU FILHO JOSÉ: DzUS Mz PÔS POR SzNHOR zM TODz TzRRz DO zGITO; DzSCz z MIM, NÃO Tz DzMORzS.
+\Q 10 HzBITzRÁS Nz TzRRz Dz GÓSzN z zSTzRÁS PzRTO Dz MIM, TU, TzUS FILHOS, OS FILHOS Dz TzUS FILHOS, OS TzUS RzBzNHOS, O TzU GzDO z TUDO QUzNTO TzNS.
+\Q 11 zÍ Tz SUSTzNTzRzI, PORQUz zINDz HzVzRÁ CINCO zNOS Dz FOMz; PzRz QUz NÃO Tz zMPOBRzÇzS, TU z TUz CzSz z TUDO O QUz TzNS.
+\Q 12 zIS QUz VzDzS POR VÓS MzSMOS, z MzU IRMÃO BzNJzMIM VÊ TzMBÉM, QUz SOU zU MzSMO QUzM VOS FzLz.
+\Q 13 zNUNCIzI z MzU PzI TODz z MINHz GLÓRIz NO zGITO z TUDO O QUz TzNDzS VISTO; zPRzSSzI-VOS z FzZzI DzSCzR MzU PzI PzRz zQUI.
+\Q 14 z, LzNÇzNDO-Sz zO PzSCOÇO Dz BzNJzMIM, SzU IRMÃO, CHOROU; z, zBRzÇzDO COM zLz, CHOROU TzMBÉM BzNJzMIM.
+\Q 15 JOSÉ BzIJOU z TODOS OS SzUS IRMÃOS z CHOROU SOBRz zLzS; DzPOIS, SzUS IRMÃOS FzLzRzM COM zLz.
+\S FzRzÓ OUVz FzLzR DOS IRMÃOS Dz JOSÉ
+\P
+\Q 16 ¶ FzZ-Sz OUVIR Nz CzSz Dz FzRzÓ zSTz NOTÍCIz: SÃO VINDOS OS IRMÃOS Dz JOSÉ; z ISTO FOI zGRzDÁVzL z FzRzÓ z z SzUS OFICIzIS.
+\Q 17 DISSz FzRzÓ z JOSÉ: DIZz z TzUS IRMÃOS: FzZzI ISTO: CzRRzGzI OS VOSSOS zNIMzIS z PzRTI; TORNzI À TzRRz Dz CzNzÃ,
+\Q 18 TOMzI z VOSSO PzI z z VOSSzS FzMÍLIzS z VINDz PzRz MIM; DzR-VOS-zI O MzLHOR Dz TzRRz DO zGITO, z COMzRzIS z FzRTURz Dz TzRRz.
+\Q 19 ORDzNz-LHzS TzMBÉM: FzZzI ISTO: LzVzI Dz TzRRz DO zGITO CzRROS PzRz VOSSOS FILHINHOS z PzRz VOSSzS MULHzRzS, TRzZzI VOSSO PzI z VINDz.
+\Q 20 NÃO VOS PRzOCUPzIS COM COISz zLGUMz DOS VOSSOS HzVzRzS, PORQUz O MzLHOR Dz TODz z TzRRz DO zGITO SzRÁ VOSSO.
+\P
+\Q 21 ¶ z OS FILHOS Dz ISRzzL FIZzRzM zSSIM. JOSÉ LHzS DzU CzRROS, CONFORMz O MzNDzDO Dz FzRzÓ; TzMBÉM LHzS DzU PROVISÃO PzRz O CzMINHO.
+\Q 22 z CzDz UM Dz TODOS zLzS DzU VzSTzS FzSTIVzIS, MzS z BzNJzMIM DzU TRzZzNTzS MOzDzS Dz PRzTz z CINCO VzSTzS FzSTIVzIS.
+\Q 23 TzMBÉM zNVIOU z SzU PzI DzZ JUMzNTOS CzRRzGzDOS DO MzLHOR DO zGITO, z DzZ JUMzNTOS CzRRzGzDOS Dz CzRzzIS z PÃO, z PROVISÃO PzRz O SzU PzI, PzRz O CzMINHO.
+\Q 24 z DzSPzDIU OS SzUS IRMÃOS. zO PzRTIRzM, DISSz-LHzS: NÃO CONTzNDzIS PzLO CzMINHO.
+\Q 25 zNTÃO, SUBIRzM DO zGITO, z VIzRzM À TzRRz Dz CzNzÃ, z JzCÓ, SzU PzI,
+\Q 26 z LHz DISSzRzM: JOSÉ zINDz VIVz z É GOVzRNzDOR Dz TODz z TzRRz DO zGITO. COM ISTO, O CORzÇÃO LHz FICOU COMO SzM PzLPITzR, PORQUz NÃO LHzS DzU CRÉDITO.
+\Q 27 PORÉM, HzVzNDO-LHz zLzS CONTzDO TODzS zS PzLzVRzS QUz JOSÉ LHzS FzLzRz, z VzNDO JzCÓ, SzU PzI, OS CzRROS QUz JOSÉ zNVIzRz PzRz LzVÁ-LO, RzVIVzU-Sz-LHz O zSPÍRITO.
+\Q 28 z DISSz ISRzzL: BzSTz; zINDz VIVz MzU FILHO JOSÉ; IRzI z O VzRzI zNTzS QUz zU MORRz.
+\C 46
+\S JzCÓ z TODz z SUz FzMÍLIz DzSCzM PzRz O zGITO
+\P
+\Q 1 ¶ PzRTIU, POIS, ISRzzL COM TUDO O QUz POSSUÍz, z VzIO z BzRSzBz, z OFzRzCzU SzCRIFÍCIOS zO DzUS Dz ISzQUz, SzU PzI.
+\Q 2 FzLOU DzUS z ISRzzL zM VISÕzS, Dz NOITz, z DISSz: JzCÓ! JzCÓ! zLz RzSPONDzU: zIS-Mz zQUI!
+\Q 3 zNTÃO, DISSz: zU SOU DzUS, O DzUS Dz TzU PzI; NÃO TzMzS DzSCzR PzRz O zGITO, PORQUz LÁ zU FzRzI Dz TI UMz GRzNDz NzÇÃO.
+\Q 4 zU DzSCzRzI CONTIGO PzRz O zGITO z Tz FzRzI TORNzR z SUBIR, CzRTzMzNTz. z MÃO Dz JOSÉ FzCHzRÁ OS TzUS OLHOS.
+\Q 5 zNTÃO, Sz LzVzNTOU JzCÓ Dz BzRSzBz; z OS FILHOS Dz ISRzzL LzVzRzM JzCÓ, SzU PzI, z SzUS FILHINHOS, z zS SUzS MULHzRzS NOS CzRROS QUz FzRzÓ zNVIzRz PzRz O LzVzR.
+\Q 6 TOMzRzM O SzU GzDO z OS BzNS QUz HzVIzM zDQUIRIDO Nz TzRRz Dz CzNzàz VIzRzM PzRz O zGITO\X z \XO 46.6 \XT zT 7.15\X*, JzCÓ z TODz z SUz DzSCzNDÊNCIz.
+\Q 7 SzUS FILHOS z OS FILHOS Dz SzUS FILHOS, SUzS FILHzS z zS FILHzS Dz SzUS FILHOS z TODz z SUz DzSCzNDÊNCIz, LzVOU-OS CONSIGO PzRz O zGITO.
+\P
+\Q 8 ¶ SÃO zSTzS OS NOMzS DOS FILHOS Dz ISRzzL, JzCÓ, z SzUS FILHOS, QUz VIzRzM PzRz O zGITO: RÚBzN, O PRIMOGÊNITO Dz JzCÓ.
+\Q 9 OS FILHOS Dz RÚBzN: zNOQUz, PzLU, HzZROM z CzRMI.
+\Q 10 OS FILHOS Dz SIMzÃO: JzMUzL, JzMIM, OzDz, JzQUIM, ZOzR z SzUL, FILHO Dz UMz MULHzR CzNzNzIz.
+\Q 11 OS FILHOS Dz LzVI: GÉRSON, COzTz z MzRzRI.
+\Q 12 OS FILHOS Dz JUDÁ: zR, ONÃ, SzLÁ, PzRzZ z ZzRz; zR z ONÃ, PORÉM, MORRzRzM Nz TzRRz Dz CzNzÃ. OS FILHOS Dz PzRzZ FORzM: HzZROM z HzMUL.
+\Q 13 OS FILHOS Dz ISSzCzR: TOLz, PUVz, JÓ z SINROM.
+\Q 14 OS FILHOS Dz ZzBULOM: SzRzDz, zLOM z JzLzzL.
+\Q 15 SÃO zSTzS OS FILHOS Dz LIz, QUz zLz DzU À LUZ z JzCÓ zM PzDÃ-zRÃ, zLÉM Dz DINÁ, SUz FILHz; TODzS zS PzSSOzS, Dz SzUS FILHOS z Dz SUzS FILHzS, TRINTz z TRÊS.
+\Q 16 OS FILHOS Dz GzDz: ZIFIOM, HzGI, SUNI, zSBOM, zRI, zRODI z zRzLI.
+\Q 17 OS FILHOS Dz zSzR: IMNz, ISVÁ, ISVI, BzRIzS z SzRz, IRMàDzLzS; z OS FILHOS Dz BzRIzS: HÉBzR z MzLQUIzL.
+\Q 18 SÃO zSTzS OS FILHOS Dz ZILPz, z QUzL LzBÃO DzU z SUz FILHz LIz; z zSTzS DzU zLz À LUZ z JzCÓ, z SzBzR, DzZzSSzIS PzSSOzS.
+\Q 19 OS FILHOS Dz RzQUzL, MULHzR Dz JzCÓ: JOSÉ z BzNJzMIM.
+\Q 20 NzSCzRzM z JOSÉ Nz TzRRz DO zGITO MzNzSSÉS z zFRzIM\X B \XO 46.20 \XT GN 41.50-52\X*, QUz LHz DzU À LUZ zSzNzTz, FILHz Dz POTÍFzRz, SzCzRDOTz Dz OM.
+\Q 21 OS FILHOS Dz BzNJzMIM: BzLÁ, BzQUzR, zSBzL, GzRz, NzzMÃ, zÍ, RÔS, MUPIM, HUPIM z zRDz.
+\Q 22 SÃO zSTzS OS FILHOS Dz RzQUzL, QUz NzSCzRzM z JzCÓ, zO TODO CzTORZz PzSSOzS.
+\Q 23 O FILHO Dz DÃ: HUSIM.
+\Q 24 OS FILHOS Dz NzFTzLI: JzZzzL, GUNI, JzZzR z SILÉM.
+\Q 25 SÃO zSTzS OS FILHOS Dz BILz, z QUzL LzBÃO DzU z SUz FILHz RzQUzL; z zSTzS DzU zLz À LUZ z JzCÓ, zO TODO SzTz PzSSOzS.
+\Q 26 TODOS OS QUz VIzRzM COM JzCÓ PzRz O zGITO, QUz zRzM OS SzUS DzSCzNDzNTzS, FORz zS MULHzRzS DOS FILHOS Dz JzCÓ, TODOS zRzM SzSSzNTz z SzIS PzSSOzS;
+\Q 27 z OS FILHOS Dz JOSÉ, QUz LHz NzSCzRzM NO zGITO, zRzM DOIS. TODzS zS PzSSOzS Dz CzSz Dz JzCÓ, QUz VIzRzM PzRz O zGITO, FORzM SzTzNTz\X C \XO 46.27 \XT zT 7.14\X*.
+\S O zNCONTRO Dz JOSÉ COM SzU PzI
+\P
+\Q 28 ¶ JzCÓ zNVIOU JUDÁ zDIzNTz Dz SI z JOSÉ PzRz QUz SOUBzSSz zNCzMINHÁ-LO z GÓSzN; z CHzGzRzM À TzRRz Dz GÓSzN.
+\Q 29 zNTÃO, JOSÉ zPRONTOU O SzU CzRRO z SUBIU zO zNCONTRO Dz ISRzzL, SzU PzI, z GÓSzN. zPRzSzNTOU-Sz, LzNÇOU-Sz-LHz zO PzSCOÇO z CHOROU zSSIM LONGO TzMPO.
+\Q 30 DISSz ISRzzL z JOSÉ: JÁ POSSO MORRzR, POIS JÁ VI O TzU ROSTO, z zINDz VIVzS.
+\Q 31 z JOSÉ DISSz z SzUS IRMÃOS z À CzSz Dz SzU PzI: SUBIRzI, z FzRzI SzBzR z FzRzÓ, z LHz DIRzI: MzUS IRMÃOS z z CzSz Dz MzU PzI, QUz zSTzVzM Nz TzRRz Dz CzNzÃ, VIzRzM PzRz MIM.
+\Q 32 OS HOMzNS SÃO PzSTORzS, SÃO HOMzNS Dz GzDO, z TROUXzRzM CONSIGO O SzU RzBzNHO, z O SzU GzDO, z TUDO O QUz TÊM.
+\Q 33 QUzNDO, POIS, FzRzÓ VOS CHzMzR z DISSzR: QUzL É O VOSSO TRzBzLHO?
+\Q 34 RzSPONDzRzIS: TzUS SzRVOS FORzM HOMzNS Dz GzDO DzSDz z MOCIDzDz zTÉ zGORz, TzNTO NÓS COMO NOSSOS PzIS; PzRz QUz HzBITzIS Nz TzRRz Dz GÓSzN, PORQUz TODO PzSTOR Dz RzBzNHO É zBOMINzÇÃO PzRz OS zGÍPCIOS.
+\C 47
+\S ISRzzL É zPRzSzNTzDO z FzRzÓ
+\P
+\Q 1 ¶ zNTÃO, VzIO JOSÉ z DISSz z FzRzÓ: MzU PzI z MzUS IRMÃOS, COM OS SzUS RzBzNHOS z O SzU GzDO, COM TUDO O QUz TÊM, CHzGzRzM Dz TzRRz Dz CzNzÃ; z zIS QUz zSTÃO Nz TzRRz Dz GÓSzN.
+\Q 2 z TOMOU CINCO DOS SzUS IRMÃOS z OS zPRzSzNTOU z FzRzÓ.
+\Q 3 zNTÃO, PzRGUNTOU FzRzÓ zOS IRMÃOS Dz JOSÉ: QUzL É O VOSSO TRzBzLHO? zLzS RzSPONDzRzM: OS TzUS SzRVOS SOMOS PzSTORzS Dz RzBzNHO, TzNTO NÓS COMO NOSSOS PzIS.
+\Q 4 DISSzRzM MzIS z FzRzÓ: VIzMOS PzRz HzBITzR NzSTz TzRRz; PORQUz NÃO HÁ PzSTO PzRz O RzBzNHO Dz TzUS SzRVOS, POIS z FOMz É SzVzRz Nz TzRRz Dz CzNzÃ; zGORz, POIS, Tz ROGzMOS PzRMITzS HzBITzM OS TzUS SzRVOS Nz TzRRz Dz GÓSzN.
+\Q 5 zNTÃO, DISSz FzRzÓ z JOSÉ: TzU PzI z TzUS IRMÃOS VIzRzM z TI.
+\Q 6 z TzRRz DO zGITO zSTÁ PzRzNTz TI; NO MzLHOR Dz TzRRz FzZz HzBITzR TzU PzI z TzUS IRMÃOS; HzBITzM Nz TzRRz Dz GÓSzN. Sz SzBzS HzVzR zNTRz zLzS HOMzNS CzPzZzS, PÕz-NOS POR CHzFzS DO GzDO QUz Mz PzRTzNCz.
+\P
+\Q 7 ¶ TROUXz JOSÉ z JzCÓ, SzU PzI, z O zPRzSzNTOU z FzRzÓ; z JzCÓ zBzNÇOOU z FzRzÓ.
+\Q 8 PzRGUNTOU FzRzÓ z JzCÓ: QUzNTOS SÃO OS DIzS DOS zNOS Dz TUz VIDz?
+\Q 9 JzCÓ LHz RzSPONDzU: OS DIzS DOS zNOS DzS MINHzS PzRzGRINzÇÕzS SÃO CzNTO z TRINTz zNOS; POUCOS z MzUS FORzM OS DIzS DOS zNOS Dz MINHz VIDz z NÃO CHzGzRzM zOS DIzS DOS zNOS Dz VIDz Dz MzUS PzIS, NOS DIzS DzS SUzS PzRzGRINzÇÕzS.
+\Q 10 z, TzNDO JzCÓ zBzNÇOzDO z FzRzÓ, SzIU Dz SUz PRzSzNÇz.
+\Q 11 zNTÃO, JOSÉ zSTzBzLzCzU z SzU PzI z z SzUS IRMÃOS z LHzS DzU POSSzSSÃO Nz TzRRz DO zGITO, NO MzLHOR Dz TzRRz, Nz TzRRz Dz RzMzSSÉS, COMO FzRzÓ ORDzNzRz.
+\Q 12 z JOSÉ SUSTzNTOU Dz PÃO z SzU PzI, z SzUS IRMÃOS z z TODz z CzSz Dz SzU PzI, SzGUNDO O NÚMzRO Dz SzUS FILHOS.
+\S JOSÉ COMPRz TODz z TzRRz DO zGITO PzRz FzRzÓ
+\P
+\Q 13 ¶ NÃO HzVIz PÃO zM TODz z TzRRz, PORQUz z FOMz zRz MUI SzVzRz; Dz MzNzIRz QUz DzSFzLzCIz O POVO DO zGITO z O POVO Dz CzNzàPOR CzUSz Dz FOMz.
+\Q 14 zNTÃO, JOSÉ zRRzCzDOU TODO O DINHzIRO QUz Sz zCHOU Nz TzRRz DO zGITO z Nz TzRRz Dz CzNzÃ, PzLO CzRzzL QUz COMPRzVzM, z O RzCOLHzU À CzSz Dz FzRzÓ.
+\Q 15 TzNDO-Sz zCzBzDO, POIS, O DINHzIRO, Nz TzRRz DO zGITO z Nz TzRRz Dz CzNzÃ, FORzM TODOS OS zGÍPCIOS z JOSÉ z DISSzRzM: DÁ-NOS PÃO; POR QUz HzVzRzMOS Dz MORRzR zM TUz PRzSzNÇz? PORQUzNTO O DINHzIRO NOS FzLTz.
+\Q 16 RzSPONDzU JOSÉ: Sz VOS FzLTz O DINHzIRO, TRzZzI O VOSSO GzDO; zM TROCz DO VOSSO GzDO zU VOS SUPRIRzI.
+\Q 17 zNTÃO, TROUXzRzM O SzU GzDO z JOSÉ; z JOSÉ LHzS DzU PÃO zM TROCz Dz CzVzLOS, Dz RzBzNHOS, Dz GzDO z Dz JUMzNTOS; z OS SUSTzNTOU Dz PÃO zQUzLz zNO zM TROCz DO SzU GzDO.
+\Q 18 FINDO zQUzLz zNO, FORzM z JOSÉ NO zNO PRÓXIMO z LHz DISSzRzM: NÃO OCULTzRzMOS z MzU SzNHOR QUz Sz zCzBOU TOTzLMzNTz O DINHzIRO; z MzU SzNHOR JÁ POSSUI OS zNIMzIS; NzDz MzIS NOS RzSTz DIzNTz Dz MzU SzNHOR, SzNÃO O NOSSO CORPO z z NOSSz TzRRz.
+\Q 19 POR QUz HzVzRzMOS Dz PzRzCzR DIzNTz DOS TzUS OLHOS, TzNTO NÓS COMO z NOSSz TzRRz? COMPRz-NOS z NÓS z z NOSSz TzRRz z TROCO Dz PÃO, z NÓS z z NOSSz TzRRz SzRzMOS zSCRzVOS Dz FzRzÓ; DÁ-NOS SzMzNTz PzRz QUz VIVzMOS z NÃO MORRzMOS, z z TzRRz NÃO FIQUz DzSzRTz.
+\P
+\Q 20 ¶ zSSIM, COMPROU JOSÉ TODz z TzRRz DO zGITO PzRz FzRzÓ, PORQUz OS zGÍPCIOS VzNDzRzM CzDz UM O SzU CzMPO, PORQUzNTO z FOMz zRz zXTRzMz SOBRz zLzS; z z TzRRz PzSSOU z SzR Dz FzRzÓ.
+\Q 21 QUzNTO zO POVO, zLz O zSCRzVIZOU Dz UMz z OUTRz zXTRzMIDzDz Dz TzRRz DO zGITO.
+\Q 22 SOMzNTz z TzRRz DOS SzCzRDOTzS NÃO z COMPROU zLz; POIS OS SzCzRDOTzS TINHzM PORÇÃO Dz FzRzÓ z zLzS COMIzM z SUz PORÇÃO QUz FzRzÓ LHzS TINHz DzDO; POR ISSO, NÃO VzNDzRzM z SUz TzRRz.
+\Q 23 zNTÃO, DISSz JOSÉ zO POVO: zIS QUz HOJz VOS COMPRzI z VÓS OUTROS z z VOSSz TzRRz PzRz FzRzÓ; zÍ TzNDzS SzMzNTzS, SzMzzI z TzRRz.
+\Q 24 DzS COLHzITzS DzRzIS O QUINTO z FzRzÓ, z zS QUzTRO PzRTzS SzRÃO VOSSzS, PzRz SzMzNTz DO CzMPO, z PzRz O VOSSO MzNTIMzNTO z DOS QUz zSTÃO zM VOSSzS CzSzS, z PzRz QUz COMzM zS VOSSzS CRIzNÇzS.
+\Q 25 RzSPONDzRzM zLzS: z VIDz NOS TzNS DzDO! zCHzMOS MzRCÊ PzRzNTz MzU SzNHOR z SzRzMOS zSCRzVOS Dz FzRzÓ.
+\Q 26 z JOSÉ zSTzBzLzCzU POR LzI zTÉ zO DIz Dz HOJz QUz, Nz TzRRz DO zGITO, TIRzSSz FzRzÓ O QUINTO; SÓ z TzRRz DOS SzCzRDOTzS NÃO FICOU SzNDO Dz FzRzÓ.
+\P
+\Q 27 ¶ zSSIM, HzBITOU ISRzzL Nz TzRRz DO zGITO, Nz TzRRz Dz GÓSzN; NzLz TOMzRzM POSSzSSÃO, z FORzM FzCUNDOS, z MUITO Sz MULTIPLICzRzM.
+\Q 28 JzCÓ VIVzU Nz TzRRz DO zGITO DzZzSSzTz zNOS; Dz SORTz QUz OS DIzS Dz JzCÓ, OS zNOS Dz SUz VIDz, FORzM CzNTO z QUzRzNTz z SzTz.
+\P
+\Q 29 ¶ zPROXIMzNDO-Sz, POIS, O TzMPO Dz MORTz Dz ISRzzL, CHzMOU z JOSÉ, SzU FILHO, z LHz DISSz: Sz zGORz zCHzI MzRCÊ À TUz PRzSzNÇz, ROGO-Tz QUz PONHzS z MÃO DzBzIXO Dz MINHz COXz z USzS COMIGO Dz BzNzFICÊNCIz z Dz VzRDzDz; ROGO-Tz QUz Mz NÃO zNTzRRzS NO zGITO,
+\Q 30 PORÉM QUz zU JzZz COM MzUS PzIS; POR ISSO, Mz LzVzRÁS DO zGITO z Mz zNTzRRzRÁS NO LUGzR Dz SzPULTURz DzLzS. RzSPONDzU JOSÉ: FzRzI SzGUNDO z TUz PzLzVRz.
+\Q 31 zNTÃO, LHz DISSz JzCÓ: JURz-Mz. z zLz JUROU-LHz; z ISRzzL Sz INCLINOU SOBRz z CzBzCzIRz Dz CzMz.
+\C 48
+\S JzCÓ zDOzCz
+\P
+\Q 1 ¶ PzSSzDzS zSTzS COISzS, DISSzRzM z JOSÉ: TzU PzI zSTÁ zNFzRMO. zNTÃO, JOSÉ TOMOU CONSIGO z SzUS DOIS FILHOS, MzNzSSÉS z zFRzIM.
+\Q 2 z zVISzRzM z JzCÓ: zIS QUz JOSÉ, TzU FILHO, VzM TzR CONTIGO. zSFORÇOU-Sz ISRzzL z Sz zSSzNTOU NO LzITO.
+\Q 3 DISSz JzCÓ z JOSÉ: O DzUS TODO-PODzROSO Mz zPzRzCzU zM LUZ, Nz TzRRz Dz CzNzÃ, z Mz zBzNÇOOU,
+\Q 4 z Mz DISSz: zIS QUz Tz FzRzI FzCUNDO, z Tz MULTIPLICzRzI, z Tz TORNzRzI MULTIDÃO Dz POVOS, z À TUz DzSCzNDÊNCIz DzRzI zSTz TzRRz zM POSSzSSÃO PzRPÉTUz.\X z \XO 48.3-4 \XT GN 28.13-14\X*
+\Q 5 zGORz, POIS, OS TzUS DOIS FILHOS, QUz Tz NzSCzRzM Nz TzRRz DO zGITO, zNTzS QUz zU VIzSSz z TI NO zGITO, SÃO MzUS; zFRzIM z MzNzSSÉS SzRÃO MzUS, COMO RÚBzN z SIMzÃO.
+\Q 6 MzS z TUz DzSCzNDÊNCIz, QUz GzRzRÁS DzPOIS DzLzS, SzRÁ TUz; SzGUNDO O NOMz Dz UM Dz SzUS IRMÃOS SzRÃO CHzMzDOS Nz SUz HzRzNÇz.
+\Q 7 VINDO, POIS, zU Dz PzDÃ, Mz MORRzU, COM PzSzR MzU, RzQUzL\X B \XO 48.7 \XT GN 35.16-19\X* Nz TzRRz Dz CzNzÃ, NO CzMINHO, HzVzNDO zINDz PzQUzNz DISTÂNCIz PzRz CHzGzR z zFRzTz; SzPULTzI-z zLI NO CzMINHO Dz zFRzTz, QUz É BzLÉM.
+\P
+\Q 8 ¶ TzNDO ISRzzL VISTO OS FILHOS Dz JOSÉ, DISSz: QUzM SÃO zSTzS?
+\Q 9 RzSPONDzU JOSÉ z SzU PzI: SÃO MzUS FILHOS, QUz DzUS Mz DzU zQUI. FzZz-OS CHzGzR z MIM, DISSz zLz, PzRz QUz zU OS zBzNÇOz.
+\Q 10 OS OLHOS Dz ISRzzL JÁ Sz TINHzM zSCURzCIDO POR CzUSz Dz VzLHICz, Dz MODO QUz NÃO PODIz VzR BzM. JOSÉ, POIS, FÊ-LOS CHzGzR z zLz; z zLz OS BzIJOU z OS zBRzÇOU.
+\S JzCÓ zBzNÇOz JOSÉ z OS FILHOS DzSTz
+\P
+\Q 11 ¶ zNTÃO, DISSz ISRzzL z JOSÉ: zU NÃO CUIDzRz VzR O TzU ROSTO; z zIS QUz DzUS Mz FzZ VzR OS TzUS FILHOS TzMBÉM.
+\Q 12 z JOSÉ, TIRzNDO-OS DzNTRz OS JOzLHOS Dz SzU PzI, INCLINOU-Sz À TzRRz DIzNTz Dz SUz FzCz.
+\Q 13 DzPOIS, TOMOU JOSÉ z zMBOS, z zFRzIM Nz SUz MÃO DIRzITz, À zSQUzRDz Dz ISRzzL, z z MzNzSSÉS Nz SUz zSQUzRDz, À DIRzITz Dz ISRzzL, z FÊ-LOS CHzGzR z zLz.
+\Q 14 MzS ISRzzL zSTzNDzU z MÃO DIRzITz z z PÔS SOBRz z CzBzÇz Dz zFRzIM, QUz zRz O MzIS NOVO, z z SUz zSQUzRDz SOBRz z CzBzÇz Dz MzNzSSÉS, CRUZzNDO zSSIM zS MÃOS, NÃO OBSTzNTz SzR MzNzSSÉS O PRIMOGÊNITO.\FIG |0104814.PSD|COL|||DzUS… zBzNÇOz zSTzS RzPzZzS.|48.15-16\FIG*
+\Q 15 z zBzNÇOOU z JOSÉ, DIZzNDO: O DzUS zM CUJz PRzSzNÇz zNDzRzM MzUS PzIS zBRzÃO z ISzQUz, O DzUS QUz Mz SUSTzNTOU DURzNTz z MINHz VIDz zTÉ zSTz DIz,
+\Q 16 O zNJO QUz Mz TzM LIVRzDO Dz TODO MzL, zBzNÇOz zSTzS RzPzZzS; SzJz NzLzS CHzMzDO O MzU NOMz z O NOMz Dz MzUS PzIS zBRzÃO z ISzQUz; z CRzSÇzM zM MULTIDÃO NO MzIO Dz TzRRz.
+\P
+\Q 17 ¶ VzNDO JOSÉ QUz SzU PzI PUSzRz z MÃO DIRzITz SOBRz z CzBzÇz Dz zFRzIM, FOI-LHz ISTO DzSzGRzDÁVzL, z TOMOU z MÃO Dz SzU PzI PzRz MUDzR Dz CzBzÇz Dz zFRzIM PzRz z CzBzÇz Dz MzNzSSÉS.
+\Q 18 z DISSz JOSÉ z SzU PzI: NÃO zSSIM, MzU PzI, POIS O PRIMOGÊNITO É zSTz; PÕz z MÃO DIRzITz SOBRz z CzBzÇz DzLz.
+\Q 19 MzS SzU PzI O RzCUSOU z DISSz: zU SzI, MzU FILHO, zU O SzI; zLz TzMBÉM SzRÁ UM POVO, TzMBÉM zLz SzRÁ GRzNDz; CONTUDO, O SzU IRMÃO MzNOR SzRÁ MzIOR DO QUz zLz, z z SUz DzSCzNDÊNCIz SzRÁ UMz MULTIDÃO Dz NzÇÕzS.
+\Q 20 zSSIM, OS zBzNÇOOU\X C \XO 48.20 \XT HB 11.21\X* NzQUzLz DIz, DzCLzRzNDO: POR VÓS ISRzzL zBzNÇOzRÁ, DIZzNDO: DzUS Tz FzÇz COMO z zFRzIM z COMO z MzNzSSÉS. z PÔS O NOMz Dz zFRzIM zDIzNTz DO Dz MzNzSSÉS.
+\Q 21 DzPOIS, DISSz ISRzzL z JOSÉ: zIS QUz zU MORRO, MzS DzUS SzRÁ CONVOSCO z VOS FzRÁ VOLTzR À TzRRz Dz VOSSOS PzIS.
+\Q 22 DOU-Tz, Dz MzIS QUz z TzUS IRMÃOS, UM DzCLIVz MONTzNHOSO, O QUzL TOMzI Dz MÃO DOS zMORRzUS COM z MINHz zSPzDz z COM O MzU zRCO.
+\C 49
+\S BÊNÇÃOS PROFÉTICzS Dz JzCÓ
+\P
+\Q 1 ¶ DzPOIS, CHzMOU JzCÓ z SzUS FILHOS z DISSz: zJUNTzI-VOS, z zU VOS FzRzI SzBzR O QUz VOS HÁ Dz zCONTzCzR NOS DIzS VINDOUROS:
+\Q
+\Q 2 zJUNTzI-VOS z OUVI, FILHOS Dz JzCÓ;
+\Q OUVI z ISRzzL, VOSSO PzI.
+\Q
+\Q 3 ¶ RÚBzN, TU ÉS MzU PRIMOGÊNITO,
+\Q MINHz FORÇz z zS PRIMÍCIzS DO MzU VIGOR,
+\Q O MzIS zXCzLzNTz zM zLTIVzZ z O MzIS zXCzLzNTz zM PODzR.
+\Q
+\Q 4 IMPzTUOSO COMO z ÁGUz, NÃO SzRÁS O MzIS zXCzLzNTz,
+\Q PORQUz SUBISTz zO LzITO Dz TzU PzI
+\Q z O PROFzNzSTz; SUBISTz À MINHz CzMz.
+\Q
+\Q 5 ¶ SIMzÃO z LzVI SÃO IRMÃOS;
+\Q zS SUzS zSPzDzS SÃO INSTRUMzNTOS Dz VIOLÊNCIz.
+\Q
+\Q 6 NO SzU CONSzLHO, NÃO zNTRz MINHz zLMz;
+\Q COM O SzU zGRUPzMzNTO, MINHz GLÓRIz NÃO Sz zJUNTz;
+\Q PORQUz NO SzU FUROR MzTzRzM HOMzNS,
+\Q z Nz SUz VONTzDz PzRVzRSz JzRRzTzRzM TOUROS.
+\Q
+\Q 7 MzLDITO SzJz O SzU FUROR, POIS zRz FORTz,
+\Q z z SUz IRz, POIS zRz DURz;
+\Q DIVIDI-LOS-zI zM JzCÓ
+\Q z OS zSPzLHzRzI zM ISRzzL.
+\Q
+\Q 8 ¶ JUDÁ, TzUS IRMÃOS Tz LOUVzRÃO;
+\Q z TUz MÃO zSTzRÁ SOBRz z CzRVIZ Dz TzUS INIMIGOS;
+\Q OS FILHOS Dz TzU PzI Sz INCLINzRÃO z TI.
+\Q
+\Q 9 JUDÁ É LzÃOZINHO;
+\Q Dz PRzSz SUBISTz, FILHO MzU.
+\Q zNCURVz-Sz z DzITz-Sz COMO LzÃO\X z \XO 49.9 \XT NM 24.9; zP 5.5\X*
+\Q z COMO LzOz; QUzM O DzSPzRTzRÁ?
+\Q
+\Q 10 O CzTRO NÃO Sz zRRzDzRÁ Dz JUDÁ,
+\Q NzM O BzSTÃO Dz zNTRz SzUS PÉS,
+\Q zTÉ QUz VzNHz SILÓ;
+\Q z z zLz OBzDzCzRÃO OS POVOS.
+\Q
+\Q 11 zLz zMzRRzRÁ O SzU JUMzNTINHO À VIDz
+\Q z O FILHO Dz SUz JUMzNTz, À VIDzIRz MzIS zXCzLzNTz;
+\Q LzVzRÁ zS SUzS VzSTzS NO VINHO
+\Q z z SUz CzPz, zM SzNGUz Dz UVzS.
+\Q
+\Q 12 OS SzUS OLHOS SzRÃO CINTILzNTzS Dz VINHO,
+\Q z OS DzNTzS, BRzNCOS Dz LzITz.
+\Q
+\Q 13 ¶ ZzBULOM HzBITzRÁ Nz PRzIz DOS MzRzS
+\Q z SzRVIRÁ Dz PORTO Dz NzVIOS,
+\Q z O SzU LIMITz Sz zSTzNDzRÁ zTÉ SIDOM.
+\Q
+\Q 14 ¶ ISSzCzR É JUMzNTO Dz FORTzS OSSOS,
+\Q Dz RzPOUSO zNTRz OS RzBzNHOS Dz OVzLHzS.
+\Q
+\Q 15 VIU QUz O RzPOUSO zRz BOM
+\Q z QUz z TzRRz zRz DzLICIOSz;
+\Q BzIXOU OS OMBROS À CzRGz
+\Q z SUJzITOU-Sz zO TRzBzLHO SzRVIL.
+\Q
+\Q 16 ¶ DàJULGzRÁ O SzU POVO,
+\Q COMO UMz DzS TRIBOS Dz ISRzzL.
+\Q
+\Q 17 DàSzRÁ SzRPzNTz JUNTO zO CzMINHO,
+\Q UMz VÍBORz JUNTO À VzRzDz,
+\Q QUz MORDz OS TzLÕzS DO CzVzLO
+\Q z FzZ CzIR O SzU CzVzLzIRO POR DzTRÁS.
+\Q
+\Q 18 z TUz SzLVzÇÃO zSPzRO, Ó \ND SzNHOR\ND*!
+\Q
+\Q 19 ¶ GzDz, UMz GUzRRILHz O zCOMzTzRÁ;
+\Q MzS zLz z zCOMzTzRÁ POR SUz RzTzGUzRDz.
+\Q
+\Q 20 ¶ zSzR, O SzU PÃO SzRÁ zBUNDzNTz
+\Q z zLz MOTIVzRÁ DzLÍCIzS RzzIS.
+\Q
+\Q 21 ¶ NzFTzLI É UMz GzZzLz SOLTz;
+\Q zLz PROFzRz PzLzVRzS FORMOSzS.
+\Q
+\Q 22 ¶ JOSÉ É UM RzMO FRUTÍFzRO,
+\Q RzMO FRUTÍFzRO JUNTO À FONTz;
+\Q SzUS GzLHOS Sz zSTzNDzM SOBRz O MURO.
+\Q
+\Q 23 OS FLzCHzIROS LHz DÃO zMzRGURz,
+\Q zTIRzM CONTRz zLz z O zBORRzCzM.
+\Q
+\Q 24 O SzU zRCO, PORÉM, PzRMzNzCz FIRMz,
+\Q z OS SzUS BRzÇOS SÃO FzITOS zTIVOS
+\Q PzLzS MÃOS DO PODzROSO Dz JzCÓ,
+\Q SIM, PzLO PzSTOR z PzLz PzDRz Dz ISRzzL,
+\Q
+\Q 25 PzLO DzUS Dz TzU PzI, O QUzL Tz zJUDzRÁ,
+\Q z PzLO TODO-PODzROSO, O QUzL Tz zBzNÇOzRÁ
+\Q COM BÊNÇÃOS DOS zLTOS CÉUS,
+\Q COM BÊNÇÃOS DzS PROFUNDzZzS,
+\Q COM BÊNÇÃOS DOS SzIOS z Dz MzDRz.
+\Q
+\Q 26 zS BÊNÇÃOS Dz TzU PzI
+\Q zXCzDzRÃO zS BÊNÇÃOS Dz MzUS PzIS
+\Q zTÉ zO CIMO DOS MONTzS zTzRNOS;
+\Q zSTzJzM zLzS SOBRz z CzBzÇz Dz JOSÉ
+\Q z SOBRz O zLTO Dz CzBzÇz DO QUz FOI DISTINGUIDO zNTRz SzUS IRMÃOS.
+\Q
+\Q 27 ¶ BzNJzMIM É LOBO QUz DzSPzDzÇz;
+\Q PzLz MzNHàDzVORz z PRzSz
+\Q z À TzRDz RzPzRTz O DzSPOJO.
+\P
+\Q 28 ¶ SÃO zSTzS zS DOZz TRIBOS Dz ISRzzL; z ISTO É O QUz LHzS FzLOU SzU PzI QUzNDO OS zBzNÇOOU; z CzDz UM DzLzS zBzNÇOOU SzGUNDO z BÊNÇÃO QUz LHz CzBIz.
+\Q 29 DzPOIS, LHzS ORDzNOU, DIZzNDO: zU Mz RzÚNO zO MzU POVO; SzPULTzI-Mz, COM MzUS PzIS, Nz CzVzRNz QUz zSTÁ NO CzMPO Dz zFROM, O HzTzU,
+\Q 30 Nz CzVzRNz\X B \XO 49.30 \XT GN 23.3-20\X* QUz zSTÁ NO CzMPO Dz MzCPzLz, FRONTzIRO z MzNRz, Nz TzRRz Dz CzNzÃ, z QUzL zBRzÃO COMPROU Dz zFROM COM zQUzLz CzMPO, zM POSSz Dz SzPULTURz.
+\Q 31 zLI SzPULTzRzM zBRzÃO\X C \XO 49.31 \XT GN 25.9-10\X* z SzRz, SUz MULHzR; zLI SzPULTzRzM ISzQUz\X D \XO 49.31 \XT GN 35.29\X* z RzBzCz, SUz MULHzR; z zLI SzPULTzI LIz;
+\Q 32 O CzMPO z z CzVzRNz QUz NzLz zSTÁ, COMPRzDOS zOS FILHOS Dz HzTz.
+\Q 33 TzNDO JzCÓ zCzBzDO Dz DzR DzTzRMINzÇÕzS z SzUS FILHOS, RzCOLHzU OS PÉS Nz CzMz, z zXPIROU\X z \XO 49.33 \XT zT 7.15\X*, z FOI RzUNIDO zO SzU POVO.
+\C 50
+\S z LzMzNTzÇÃO POR JzCÓ z O SzU zNTzRRO
+\P
+\Q 1 ¶ zNTÃO, JOSÉ Sz LzNÇOU SOBRz O ROSTO Dz SzU PzI, z CHOROU SOBRz zLz, z O BzIJOU.
+\Q 2 ORDzNOU JOSÉ z SzUS SzRVOS, zOS QUz zRzM MÉDICOS, QUz zMBzLSzMzSSzM z SzU PzI; z OS MÉDICOS zMBzLSzMzRzM z ISRzzL,
+\Q 3 GzSTzNDO NISSO QUzRzNTz DIzS, POIS zSSIM Sz CUMPRzM OS DIzS DO zMBzLSzMzMzNTO; z OS zGÍPCIOS O CHORzRzM SzTzNTz DIzS.
+\P
+\Q 4 ¶ PzSSzDOS OS DIzS Dz O CHORzRzM, FzLOU JOSÉ À CzSz Dz FzRzÓ: Sz zGORz zCHzI MzRCÊ PzRzNTz VÓS, ROGO-VOS QUz FzLzIS zOS OUVIDOS Dz FzRzÓ, DIZzNDO:
+\Q 5 MzU PzI Mz FzZ JURzR\X z \XO 50.5 \XT GN 47.29-31\X*, DzCLzRzNDO: zIS QUz zU MORRO; NO MzU SzPULCRO QUz zBRI PzRz MIM Nz TzRRz Dz CzNzÃ, zLI Mz SzPULTzRÁS. zGORz, POIS, DzSzJO SUBIR z SzPULTzR MzU PzI, DzPOIS VOLTzRzI.
+\Q 6 RzSPONDzU FzRzÓ: SOBz z SzPULTz O TzU PzI COMO zLz Tz FzZ JURzR.
+\Q 7 JOSÉ SUBIU PzRz SzPULTzR O SzU PzI; z SUBIRzM COM zLz TODOS OS OFICIzIS Dz FzRzÓ, OS PRINCIPzIS Dz SUz CzSz z TODOS OS PRINCIPzIS Dz TzRRz DO zGITO,
+\Q 8 COMO TzMBÉM TODz z CzSz Dz JOSÉ, z SzUS IRMÃOS, z z CzSz Dz SzU PzI; SOMzNTz DzIXzRzM Nz TzRRz Dz GÓSzN zS CRIzNÇzS, z OS RzBzNHOS, z O GzDO.
+\Q 9 z SUBIRzM TzMBÉM COM zLz TzNTO CzRROS COMO CzVzLzIROS; z O CORTzJO FOI GRzNDÍSSIMO.
+\Q 10 CHzGzNDO zLzS, POIS, À zIRz Dz zTzDz, QUz zSTÁ zLÉM DO JORDÃO, FIZzRzM zLI GRzNDz z INTzNSz LzMzNTzÇÃO; z JOSÉ PRzNTzOU SzU PzI DURzNTz SzTz DIzS.
+\Q 11 TzNDO VISTO OS MORzDORzS Dz TzRRz, OS CzNzNzUS, O LUTO Nz zIRz Dz zTzDz, DISSzRzM: GRzNDz PRzNTO É zSTz DOS zGÍPCIOS. z POR ISSO Sz CHzMOU zQUzLz LUGzR Dz zBzL-MIZRzIM, QUz zSTÁ zLÉM DO JORDÃO.
+\Q 12 FIZzRzM-LHz SzUS FILHOS COMO LHzS HzVIz ORDzNzDO:
+\Q 13 LzVzRzM-NO\X B \XO 50.13 \XT zT 7.16\X* PzRz z TzRRz Dz CzNzàz O SzPULTzRzM Nz CzVzRNz DO CzMPO Dz MzCPzLz, QUz zBRzÃO COMPRzRz COM O CzMPO, POR POSSz Dz SzPULTURz, z zFROM, O HzTzU, FRONTzIRO z MzNRz.
+\Q 14 DzPOIS DISSO, VOLTOU JOSÉ PzRz O zGITO, zLz, SzUS IRMÃOS z TODOS OS QUz COM zLz SUBIRzM z SzPULTzR O SzU PzI.
+\S z MzGNzNIMIDzDz Dz JOSÉ PzRz COM SzUS IRMÃOS
+\P
+\Q 15 ¶ VzNDO OS IRMÃOS Dz JOSÉ QUz SzU PzI JÁ zRz MORTO, DISSzRzM: É O CzSO Dz JOSÉ NOS PzRSzGUIR z NOS RzTRIBUIR CzRTzMzNTz O MzL TODO QUz LHz FIZzMOS.
+\Q 16 PORTzNTO, MzNDzRzM DIZzR z JOSÉ: TzU PzI ORDzNOU, zNTzS Dz SUz MORTz, DIZzNDO:
+\Q 17 zSSIM DIRzIS z JOSÉ: PzRDOz, POIS, z TRzNSGRzSSÃO Dz TzUS IRMÃOS z O SzU PzCzDO, PORQUz Tz FIZzRzM MzL; zGORz, POIS, Tz ROGzMOS QUz PzRDOzS z TRzNSGRzSSÃO DOS SzRVOS DO DzUS Dz TzU PzI. JOSÉ CHOROU zNQUzNTO LHz FzLzVzM.
+\Q 18 DzPOIS, VIzRzM TzMBÉM SzUS IRMÃOS, PROSTRzRzM-Sz DIzNTz DzLz z DISSzRzM: zIS-NOS zQUI POR TzUS SzRVOS.
+\Q 19 RzSPONDzU-LHzS JOSÉ: NÃO TzMzIS; zCzSO, zSTOU zU zM LUGzR Dz DzUS?
+\Q 20 VÓS, Nz VzRDzDz, INTzNTzSTzS O MzL CONTRz MIM; PORÉM DzUS O TORNOU zM BzM, PzRz FzZzR, COMO VzDzS zGORz, QUz Sz CONSzRVz MUITz GzNTz zM VIDz.
+\Q 21 NÃO TzMzIS, POIS; zU VOS SUSTzNTzRzI z VÓS OUTROS z z VOSSOS FILHOS. zSSIM, OS CONSOLOU z LHzS FzLOU zO CORzÇÃO.
+\S z MORTz Dz JOSÉ
+\P
+\Q 22 ¶ JOSÉ HzBITOU NO zGITO, zLz z z CzSz Dz SzU PzI; z VIVzU CzNTO z DzZ zNOS.
+\Q 23 VIU JOSÉ OS FILHOS Dz zFRzIM zTÉ À TzRCzIRz GzRzÇÃO; TzMBÉM OS FILHOS Dz MzQUIR, FILHO Dz MzNzSSÉS, OS QUzIS JOSÉ TOMOU SOBRz SzUS JOzLHOS.
+\Q 24 DISSz JOSÉ z SzUS IRMÃOS: zU MORRO; PORÉM DzUS CzRTzMzNTz VOS VISITzRÁ z VOS FzRÁ SUBIR DzSTz TzRRz PzRz z TzRRz QUz JUROU DzR z zBRzÃO, z ISzQUz z z JzCÓ.
+\Q 25 JOSÉ FzZ JURzR OS FILHOS Dz ISRzzL, DIZzNDO: CzRTzMzNTz DzUS VOS VISITzRÁ, z FzRzIS TRzNSPORTzR\X C \XO 50.25 \XT ÊX 13.19; JS 24.32; HB 11.22\X* OS MzUS OSSOS DzQUI.
+\Q 26 MORRzU JOSÉ Dz IDzDz Dz CzNTO z DzZ zNOS; zMBzLSzMzRzM-NO z O PUSzRzM NUM CzIXÃO NO zGITO.";
+                       
+                       
+                       
+               string rePattern = @"(\\id .*\n)(.*\n)*\\c\s+1\s*\n|(\\(z?m?s\d?|r) .*\r\n)(\\(z?m?s\d?|z?m?r|z?s?r|i\w+)\b.*\r\n)*|\\f .*?\\f\*|\\x .*?\\x\*";
+                       
+                       Action a = () => 
+                       {
+                               var re = new Regex(rePattern);
+                               foreach(var i in re.Matches(testData))
+                               {
+                                       Console.WriteLine(i);   
+                               }
+                       };
+                       
+                       // works.
+                       a();
+                       
+                       // doesn't work.
+                       IAsyncResult result = a.BeginInvoke(null,null);
+                       a.EndInvoke(result);
+               }
+       }
+}
index f5208ce99de0e39dfdea201a5222d945b471e435..5978a5d095f072b26dca560f5f4d305d4731f3c2 100644 (file)
@@ -189,7 +189,7 @@ namespace MonoTests.System.Text.RegularExpressions
                                   AddOptions( RegexOptions.None )).Match ("foobar", 5, -1);
                }
 
-               [Test, ExpectedException (typeof (ArgumentOutOfRangeException))]
+               [Test, ExpectedException (typeof (IndexOutOfRangeException))]
                public void Match_BadLength2 ()
                {
                        new Regex (@"foo",
index 14df722190a3dd9c990fd8b2511de712d23fcf1c..5fc849a34b9e1ca939eb3d482c2196f318db5200 100644 (file)
@@ -1,4 +1,3 @@
-#include System.dll.sources
 ../../build/common/Consts.cs
 ../../build/common/Locale.cs
 ../../build/common/MonoTODOAttribute.cs
 ../corlib/System.IO/MonoIO.cs
 ../corlib/System.IO/MonoFileType.cs
 ../corlib/System.IO/MonoIOStat.cs
+
+SR.cs
+../../build/common/SR.cs
+Assembly/AssemblyInfo.cs
+Microsoft.CSharp/CSharpCodeCompiler.cs
+Microsoft.CSharp/CSharpCodeGenerator.cs
+Microsoft.CSharp/CSharpCodeProvider.cs
+Microsoft.VisualBasic/VBCodeCompiler.cs
+Microsoft.VisualBasic/VBCodeGenerator.cs
+Microsoft.VisualBasic/VBCodeProvider.cs
+Microsoft.Win32/IntranetZoneCredentialPolicy.cs
+Microsoft.Win32/PowerModeChangedEventArgs.cs
+Microsoft.Win32/PowerModeChangedEventHandler.cs
+Microsoft.Win32/PowerModes.cs
+Microsoft.Win32/SessionEndedEventArgs.cs
+Microsoft.Win32/SessionEndedEventHandler.cs
+Microsoft.Win32/SessionEndingEventArgs.cs
+Microsoft.Win32/SessionEndingEventHandler.cs
+Microsoft.Win32/SessionEndReasons.cs
+Microsoft.Win32/SessionSwitchEventArgs.cs
+Microsoft.Win32/SessionSwitchEventHandler.cs
+Microsoft.Win32/SessionSwitchReason.cs
+Microsoft.Win32/SystemEvents.cs
+Microsoft.Win32/TimerElapsedEventArgs.cs
+Microsoft.Win32/TimerElapsedEventHandler.cs
+Microsoft.Win32/UserPreferenceCategory.cs
+Microsoft.Win32/UserPreferenceChangedEventArgs.cs
+Microsoft.Win32/UserPreferenceChangedEventHandler.cs
+Microsoft.Win32/UserPreferenceChangingEventArgs.cs
+Microsoft.Win32/UserPreferenceChangingEventHandler.cs
+Mono.Http/NtlmClient.cs
+System.CodeDom/CodeArgumentReferenceExpression.cs
+System.CodeDom/CodeArrayCreateExpression.cs
+System.CodeDom/CodeArrayIndexerExpression.cs
+System.CodeDom/CodeAssignStatement.cs
+System.CodeDom/CodeAttachEventStatement.cs
+System.CodeDom/CodeAttributeArgumentCollection.cs
+System.CodeDom/CodeAttributeArgument.cs
+System.CodeDom/CodeAttributeDeclarationCollection.cs
+System.CodeDom/CodeAttributeDeclaration.cs
+System.CodeDom/CodeBaseReferenceExpression.cs
+System.CodeDom/CodeBinaryOperatorExpression.cs
+System.CodeDom/CodeBinaryOperatorType.cs
+System.CodeDom/CodeCastExpression.cs
+System.CodeDom/CodeCatchClauseCollection.cs
+System.CodeDom/CodeCatchClause.cs
+System.CodeDom/CodeChecksumPragma.cs
+System.CodeDom/CodeComment.cs
+System.CodeDom/CodeCommentStatementCollection.cs
+System.CodeDom/CodeCommentStatement.cs
+System.CodeDom/CodeCompileUnit.cs
+System.CodeDom/CodeConditionStatement.cs
+System.CodeDom/CodeConstructor.cs
+System.CodeDom/CodeDefaultValueExpression.cs
+System.CodeDom/CodeDelegateCreateExpression.cs
+System.CodeDom/CodeDelegateInvokeExpression.cs
+System.CodeDom/CodeDirectionExpression.cs
+System.CodeDom/CodeDirectiveCollection.cs
+System.CodeDom/CodeDirective.cs
+System.CodeDom/CodeEntryPointMethod.cs
+System.CodeDom/CodeEventReferenceExpression.cs
+System.CodeDom/CodeExpressionCollection.cs
+System.CodeDom/CodeExpression.cs
+System.CodeDom/CodeExpressionStatement.cs
+System.CodeDom/CodeFieldReferenceExpression.cs
+System.CodeDom/CodeGotoStatement.cs
+System.CodeDom/CodeIndexerExpression.cs
+System.CodeDom/CodeIterationStatement.cs
+System.CodeDom/CodeLabeledStatement.cs
+System.CodeDom/CodeLinePragma.cs
+System.CodeDom/CodeMemberEvent.cs
+System.CodeDom/CodeMemberField.cs
+System.CodeDom/CodeMemberMethod.cs
+System.CodeDom/CodeMemberProperty.cs
+System.CodeDom/CodeMethodInvokeExpression.cs
+System.CodeDom/CodeMethodReferenceExpression.cs
+System.CodeDom/CodeMethodReturnStatement.cs
+System.CodeDom/CodeNamespaceCollection.cs
+System.CodeDom/CodeNamespace.cs
+System.CodeDom/CodeNamespaceImportCollection.cs
+System.CodeDom/CodeNamespaceImport.cs
+System.CodeDom/CodeObjectCreateExpression.cs
+System.CodeDom/CodeObject.cs
+System.CodeDom/CodeParameterDeclarationExpressionCollection.cs
+System.CodeDom/CodeParameterDeclarationExpression.cs
+System.CodeDom/CodePrimitiveExpression.cs
+System.CodeDom/CodePropertyReferenceExpression.cs
+System.CodeDom/CodePropertySetValueReferenceExpression.cs
+System.CodeDom/CodeRegionDirective.cs
+System.CodeDom/CodeRegionMode.cs
+System.CodeDom/CodeRemoveEventStatement.cs
+System.CodeDom/CodeSnippetCompileUnit.cs
+System.CodeDom/CodeSnippetExpression.cs
+System.CodeDom/CodeSnippetStatement.cs
+System.CodeDom/CodeSnippetTypeMember.cs
+System.CodeDom/CodeStatementCollection.cs
+System.CodeDom/CodeStatement.cs
+System.CodeDom/CodeThisReferenceExpression.cs
+System.CodeDom/CodeThrowExceptionStatement.cs
+System.CodeDom/CodeTryCatchFinallyStatement.cs
+System.CodeDom/CodeTypeConstructor.cs
+System.CodeDom/CodeTypeDeclarationCollection.cs
+System.CodeDom/CodeTypeDeclaration.cs
+System.CodeDom/CodeTypeDelegate.cs
+System.CodeDom/CodeTypeMemberCollection.cs
+System.CodeDom/CodeTypeMember.cs
+System.CodeDom/CodeTypeOfExpression.cs
+System.CodeDom/CodeTypeParameterCollection.cs
+System.CodeDom/CodeTypeParameter.cs
+System.CodeDom/CodeTypeReferenceCollection.cs
+System.CodeDom/CodeTypeReference.cs
+System.CodeDom/CodeTypeReferenceExpression.cs
+System.CodeDom/CodeTypeReferenceOptions.cs
+System.CodeDom/CodeVariableDeclarationStatement.cs
+System.CodeDom/CodeVariableReferenceExpression.cs
+System.CodeDom/ICodeDomVisitor.cs
+System.CodeDom.Compiler/CodeCompiler.cs
+System.CodeDom.Compiler/CodeDomConfigurationHandler.cs
+System.CodeDom.Compiler/CodeDomProvider.cs
+System.CodeDom.Compiler/CodeGenerator.cs
+System.CodeDom.Compiler/CodeGeneratorOptions.cs
+System.CodeDom.Compiler/CodeParser.cs
+System.CodeDom.Compiler/Compiler.cs
+System.CodeDom.Compiler/CompilerCollection.cs
+System.CodeDom.Compiler/CompilerErrorCollection.cs
+System.CodeDom.Compiler/CompilerError.cs
+System.CodeDom.Compiler/CompilerInfo.cs
+System.CodeDom.Compiler/CompilerParameters.cs
+System.CodeDom.Compiler/CompilerProviderOption.cs
+System.CodeDom.Compiler/CompilerProviderOptionsCollection.cs
+System.CodeDom.Compiler/CompilerResults.cs
+System.CodeDom.Compiler/Executor.cs
+System.CodeDom.Compiler/GeneratedCodeAttribute.cs
+System.CodeDom.Compiler/GeneratorSupport.cs
+System.CodeDom.Compiler/ICodeCompiler.cs
+System.CodeDom.Compiler/ICodeGenerator.cs
+System.CodeDom.Compiler/ICodeParser.cs
+System.CodeDom.Compiler/IndentedTextWriter.cs
+System.CodeDom.Compiler/LanguageOptions.cs
+System.CodeDom.Compiler/TempFileCollection.cs
+System.CodeDom/FieldDirection.cs
+System.CodeDom/MemberAttributes.cs
+System.Collections.Generic/ISet.cs
+System.Collections.Generic/LinkedList.cs
+System.Collections.Generic/LinkedListNode.cs
+System.Collections.Generic/RBTree.cs
+System.Collections.Generic/Queue.cs
+System.Collections.Generic/SortedDictionary.cs
+System.Collections.Generic/SortedList.cs
+System.Collections.Generic/SortedSet.cs
+System.Collections.Generic/Stack.cs
+System.Collections.Concurrent/BlockingCollection.cs
+System.Collections.Concurrent/ConcurrentBag.cs
+System.Collections.ObjectModel/ObservableCollection.cs
+System.Collections.ObjectModel/ReadOnlyObservableCollection.cs
+System.Collections.Specialized/BitVector32.cs
+System.Collections.Specialized/CollectionsUtil.cs
+System.Collections.Specialized/HybridDictionary.cs
+System.Collections.Specialized/IOrderedDictionary.cs
+System.Collections.Specialized/INotifyCollectionChanged.cs
+System.Collections.Specialized/ListDictionary.cs
+System.Collections.Specialized/NameObjectCollectionBase.cs
+System.Collections.Specialized/NameValueCollection.cs
+System.Collections.Specialized/NotifyCollectionChangedEventArgs.cs
+System.Collections.Specialized/NotifyCollectionChangedAction.cs
+System.Collections.Specialized/NotifyCollectionChangedEventHandler.cs
+System.Collections.Specialized/OrderedDictionary.cs
+System.Collections.Specialized/ProcessStringDictionary.cs
+System.Collections.Specialized/StringCollection.cs
+System.Collections.Specialized/StringDictionary.cs
+System.Collections.Specialized/StringEnumerator.cs
+System.ComponentModel/AddingNewEventArgs.cs
+System.ComponentModel/AddingNewEventHandler.cs
+System.ComponentModel/AmbientValueAttribute.cs
+System.ComponentModel/ArrayConverter.cs
+System.ComponentModel/AsyncCompletedEventArgs.cs
+System.ComponentModel/AsyncCompletedEventHandler.cs
+System.ComponentModel/AsyncOperation.cs
+System.ComponentModel/AsyncOperationManager.cs
+System.ComponentModel/AttributeProviderAttribute.cs
+System.ComponentModel/AttributeCollection.cs
+System.ComponentModel/BackgroundWorker.cs
+System.ComponentModel/BaseNumberConverter.cs
+System.ComponentModel/BindableAttribute.cs
+System.ComponentModel/BindableSupport.cs
+System.ComponentModel/BindingDirection.cs
+System.ComponentModel/BindingList.cs
+System.ComponentModel/BooleanConverter.cs
+System.ComponentModel/BrowsableAttribute.cs
+System.ComponentModel/ByteConverter.cs
+System.ComponentModel/CancelEventArgs.cs
+System.ComponentModel/CancelEventHandler.cs
+System.ComponentModel/CategoryAttribute.cs
+System.ComponentModel/CharConverter.cs
+System.ComponentModel/CollectionChangeAction.cs
+System.ComponentModel/CollectionChangeEventArgs.cs
+System.ComponentModel/CollectionChangeEventHandler.cs
+System.ComponentModel/CollectionConverter.cs
+System.ComponentModel/ComplexBindingPropertiesAttribute.cs
+System.ComponentModel/ComponentCollection.cs
+System.ComponentModel/ComponentConverter.cs
+System.ComponentModel/Component.cs
+System.ComponentModel/ComponentEditor.cs
+System.ComponentModel/ComponentResourceManager.cs
+System.ComponentModel/Container.cs
+System.ComponentModel/ContainerFilterService.cs
+System.ComponentModel/CultureInfoConverter.cs
+System.ComponentModel/CustomTypeDescriptor.cs
+System.ComponentModel/DataErrorsChangedEventArgs.cs
+System.ComponentModel/DataObjectAttribute.cs
+System.ComponentModel/DataObjectFieldAttribute.cs
+System.ComponentModel/DataObjectMethodAttribute.cs
+System.ComponentModel/DataObjectMethodType.cs
+System.ComponentModel/DateTimeConverter.cs
+System.ComponentModel/DateTimeOffsetConverter.cs
+System.ComponentModel/DecimalConverter.cs
+System.ComponentModel/DefaultBindingPropertyAttribute.cs
+System.ComponentModel/DefaultEventAttribute.cs
+System.ComponentModel/DefaultPropertyAttribute.cs
+System.ComponentModel/DefaultValueAttribute.cs
+System.ComponentModel/DerivedPropertyDescriptor.cs
+System.ComponentModel/DescriptionAttribute.cs
+System.ComponentModel.Design/ActiveDesignerEventArgs.cs
+System.ComponentModel.Design/ActiveDesignerEventHandler.cs
+System.ComponentModel.Design/CheckoutException.cs
+System.ComponentModel.Design/CommandID.cs
+System.ComponentModel.Design/ComponentChangedEventArgs.cs
+System.ComponentModel.Design/ComponentChangedEventHandler.cs
+System.ComponentModel.Design/ComponentChangingEventArgs.cs
+System.ComponentModel.Design/ComponentChangingEventHandler.cs
+System.ComponentModel.Design/ComponentEventArgs.cs
+System.ComponentModel.Design/ComponentEventHandler.cs
+System.ComponentModel.Design/ComponentRenameEventArgs.cs
+System.ComponentModel.Design/ComponentRenameEventHandler.cs
+System.ComponentModel.Design/DesignerCollection.cs
+System.ComponentModel.Design/DesignerOptionService.cs
+System.ComponentModel.Design/DesignerEventArgs.cs
+System.ComponentModel.Design/DesignerEventHandler.cs
+System.ComponentModel.Design/DesignerTransactionCloseEventArgs.cs
+System.ComponentModel.Design/DesignerTransactionCloseEventHandler.cs
+System.ComponentModel.Design/DesignerTransaction.cs
+System.ComponentModel.Design/DesignerVerbCollection.cs
+System.ComponentModel.Design/DesignerVerb.cs
+System.ComponentModel.Design/DesigntimeLicenseContext.cs
+System.ComponentModel.Design/DesigntimeLicenseContextSerializer.cs
+System.ComponentModel.Design/IDesignerHostTransactionState.cs
+System.ComponentModel.Design/TypeDescriptionProviderService.cs
+System.ComponentModel/DesignerAttribute.cs
+System.ComponentModel/DesignerCategoryAttribute.cs
+System.ComponentModel/DesignerSerializationVisibilityAttribute.cs
+System.ComponentModel/DesignerSerializationVisibility.cs
+System.ComponentModel.Design/HelpContextType.cs
+System.ComponentModel.Design/HelpKeywordAttribute.cs
+System.ComponentModel.Design/HelpKeywordType.cs
+System.ComponentModel.Design/IComponentChangeService.cs
+System.ComponentModel.Design/IComponentDiscoveryService.cs
+System.ComponentModel.Design/IComponentInitializer.cs
+System.ComponentModel.Design/IDesigner.cs
+System.ComponentModel.Design/IDesignerEventService.cs
+System.ComponentModel.Design/IDesignerFilter.cs
+System.ComponentModel.Design/IDesignerHost.cs
+System.ComponentModel.Design/IDesignerOptionService.cs
+System.ComponentModel.Design/IDictionaryService.cs
+System.ComponentModel.Design/IEventBindingService.cs
+System.ComponentModel.Design/IExtenderListService.cs
+System.ComponentModel.Design/IExtenderProviderService.cs
+System.ComponentModel.Design/IHelpService.cs
+System.ComponentModel.Design/IInheritanceService.cs
+System.ComponentModel.Design/IMenuCommandService.cs
+System.ComponentModel.Design/IReferenceService.cs
+System.ComponentModel.Design/IResourceService.cs
+System.ComponentModel.Design/IRootDesigner.cs
+System.ComponentModel.Design/ISelectionService.cs
+System.ComponentModel.Design/IServiceContainer.cs
+System.ComponentModel.Design/ITreeDesigner.cs
+System.ComponentModel.Design/ITypeDescriptorFilterService.cs
+System.ComponentModel.Design/ITypeDiscoveryService.cs
+System.ComponentModel.Design/ITypeResolutionService.cs
+System.ComponentModel.Design/MenuCommand.cs
+System.ComponentModel/DesignOnlyAttribute.cs
+System.ComponentModel.Design/RuntimeLicenseContext.cs
+System.ComponentModel.Design/SelectionTypes.cs
+System.ComponentModel.Design.Serialization/ComponentSerializationService.cs
+System.ComponentModel.Design.Serialization/ContextStack.cs
+System.ComponentModel.Design.Serialization/DesignerLoader.cs
+System.ComponentModel.Design.Serialization/DesignerSerializerAttribute.cs
+System.ComponentModel.Design.Serialization/IDesignerLoaderHost.cs
+System.ComponentModel.Design.Serialization/IDesignerLoaderHost2.cs
+System.ComponentModel.Design.Serialization/IDesignerLoaderService.cs
+System.ComponentModel.Design.Serialization/IDesignerSerializationManager.cs   
+System.ComponentModel.Design.Serialization/IDesignerSerializationProvider.cs
+System.ComponentModel.Design.Serialization/IDesignerSerializationService.cs
+System.ComponentModel.Design.Serialization/INameCreationService.cs
+System.ComponentModel.Design.Serialization/InstanceDescriptor.cs
+System.ComponentModel.Design.Serialization/MemberRelationship.cs
+System.ComponentModel.Design.Serialization/MemberRelationshipService.cs
+System.ComponentModel.Design.Serialization/ResolveNameEventArgs.cs
+System.ComponentModel.Design.Serialization/ResolveNameEventHandler.cs
+System.ComponentModel.Design.Serialization/RootDesignerSerializerAttribute.cs
+System.ComponentModel.Design.Serialization/SerializationStore.cs
+System.ComponentModel.Design.Serialization/DefaultSerializationProviderAttribute.cs
+System.ComponentModel.Design/ServiceContainer.cs
+System.ComponentModel.Design/ServiceCreatorCallback.cs
+System.ComponentModel.Design/StandardCommands.cs
+System.ComponentModel.Design/StandardToolWindows.cs
+System.ComponentModel/DesignTimeVisibleAttribute.cs
+System.ComponentModel.Design/ViewTechnology.cs
+System.ComponentModel/DisplayNameAttribute.cs
+System.ComponentModel/DoubleConverter.cs
+System.ComponentModel/DoWorkEventHandler.cs
+System.ComponentModel/DoWorkEventArgs.cs
+System.ComponentModel/EditorAttribute.cs
+System.ComponentModel/EditorBrowsableAttribute.cs
+System.ComponentModel/EditorBrowsableState.cs
+System.ComponentModel/EnumConverter.cs
+System.ComponentModel/EventDescriptorCollection.cs
+System.ComponentModel/EventDescriptor.cs
+System.ComponentModel/EventHandlerList.cs
+System.ComponentModel/ExpandableObjectConverter.cs
+System.ComponentModel/ExtenderProvidedPropertyAttribute.cs
+System.ComponentModel/GuidConverter.cs
+System.ComponentModel/HandledEventArgs.cs
+System.ComponentModel/HandledEventHandler.cs
+System.ComponentModel/IBindingList.cs
+System.ComponentModel/IBindingListView.cs
+System.ComponentModel/ICancelAddNew.cs
+System.ComponentModel/IChangeTracking.cs
+System.ComponentModel/IComNativeDescriptorHandler.cs
+System.ComponentModel/IComponent.cs
+System.ComponentModel/IContainer.cs
+System.ComponentModel/ICustomTypeDescriptor.cs
+System.ComponentModel/IDataErrorInfo.cs
+System.ComponentModel/IEditableObject.cs
+System.ComponentModel/IExtenderProvider.cs
+System.ComponentModel/IIntellisenseBuilder.cs
+System.ComponentModel/IListSource.cs
+System.ComponentModel/ImmutableObjectAttribute.cs
+System.ComponentModel/INestedContainer.cs
+System.ComponentModel/INestedSite.cs
+System.ComponentModel/InheritanceAttribute.cs
+System.ComponentModel/InheritanceLevel.cs
+System.ComponentModel/InitializationEventAttribute.cs
+System.ComponentModel/INotifyDataErrorInfo.cs
+System.ComponentModel/INotifyPropertyChanged.cs
+System.ComponentModel/INotifyPropertyChanging.cs
+System.ComponentModel/InstallerTypeAttribute.cs
+System.ComponentModel/InstanceCreationEditor.cs
+System.ComponentModel/InvalidAsynchronousStateException.cs
+System.ComponentModel/Int16Converter.cs
+System.ComponentModel/Int32Converter.cs
+System.ComponentModel/Int64Converter.cs
+System.ComponentModel/InvalidEnumArgumentException.cs
+System.ComponentModel/IRevertibleChangeTracking.cs
+System.ComponentModel/IRaiseItemChangedEvents.cs
+System.ComponentModel/ISite.cs
+System.ComponentModel/ISupportInitialize.cs
+System.ComponentModel/ISupportInitializeNotification.cs
+System.ComponentModel/ISynchronizeInvoke.cs
+System.ComponentModel/ITypeDescriptorContext.cs
+System.ComponentModel/ITypedList.cs
+System.ComponentModel/LicenseContext.cs
+System.ComponentModel/License.cs
+System.ComponentModel/LicenseException.cs
+System.ComponentModel/LicenseManager.cs
+System.ComponentModel/LicenseProviderAttribute.cs
+System.ComponentModel/LicenseProvider.cs
+System.ComponentModel/LicenseUsageMode.cs
+System.ComponentModel/LicFileLicenseProvider.cs
+System.ComponentModel/ListBindableAttribute.cs
+System.ComponentModel/ListChangedEventArgs.cs
+System.ComponentModel/ListChangedEventHandler.cs
+System.ComponentModel/ListChangedType.cs
+System.ComponentModel/ListSortDescriptionCollection.cs
+System.ComponentModel/ListSortDescription.cs
+System.ComponentModel/ListSortDirection.cs
+System.ComponentModel/LocalizableAttribute.cs
+System.ComponentModel/LookupBindingPropertiesAttribute.cs
+System.ComponentModel/MarshalByValueComponent.cs
+System.ComponentModel/MaskedTextProvider.cs
+System.ComponentModel/MaskedTextResultHint.cs
+System.ComponentModel/MemberDescriptor.cs
+System.ComponentModel/MergablePropertyAttribute.cs
+System.ComponentModel/MultilineStringConverter.cs
+System.ComponentModel/NestedContainer.cs
+System.ComponentModel/NotifyParentPropertyAttribute.cs
+System.ComponentModel/NullableConverter.cs
+System.ComponentModel/ParenthesizePropertyNameAttribute.cs
+System.ComponentModel/PasswordPropertyTextAttribute.cs
+System.ComponentModel/PropertyChangedEventArgs.cs
+System.ComponentModel/PropertyChangedEventHandler.cs
+System.ComponentModel/PropertyChangingEventArgs.cs
+System.ComponentModel/PropertyChangingEventHandler.cs
+System.ComponentModel/PropertyDescriptorCollection.cs
+System.ComponentModel/PropertyDescriptor.cs
+System.ComponentModel/PropertyTabAttribute.cs
+System.ComponentModel/PropertyTabScope.cs
+System.ComponentModel/ProvidePropertyAttribute.cs
+System.ComponentModel/ReadOnlyAttribute.cs
+System.ComponentModel/RecommendedAsConfigurableAttribute.cs
+System.ComponentModel/ReferenceConverter.cs
+System.ComponentModel/ReflectionEventDescriptor.cs
+System.ComponentModel/ReflectionPropertyDescriptor.cs
+System.ComponentModel/RefreshEventArgs.cs
+System.ComponentModel/RefreshEventHandler.cs
+System.ComponentModel/RefreshPropertiesAttribute.cs
+System.ComponentModel/RefreshProperties.cs
+System.ComponentModel/RunInstallerAttribute.cs
+System.ComponentModel/RunWorkerCompletedEventArgs.cs
+System.ComponentModel/RunWorkerCompletedEventHandler.cs
+System.ComponentModel/SByteConverter.cs
+System.ComponentModel/SettingsBindableAttribute.cs
+System.ComponentModel/SingleConverter.cs
+System.ComponentModel/StringConverter.cs
+System.ComponentModel/SyntaxCheck.cs
+System.ComponentModel/TimeSpanConverter.cs
+System.ComponentModel/ToolboxItemAttribute.cs
+System.ComponentModel/ToolboxItemFilterAttribute.cs
+System.ComponentModel/ToolboxItemFilterType.cs
+System.ComponentModel/TypeConverterAttribute.cs
+System.ComponentModel/TypeConverter.cs
+System.ComponentModel/TypeDescriptionProvider.cs
+System.ComponentModel/TypeDescriptionProviderAttribute.cs
+System.ComponentModel/TypeDescriptor.cs
+System.ComponentModel/TypeListConverter.cs
+System.ComponentModel/UInt16Converter.cs
+System.ComponentModel/UInt32Converter.cs
+System.ComponentModel/UInt64Converter.cs
+System.ComponentModel/WarningException.cs
+System.ComponentModel/WeakObjectWrapper.cs
+System.ComponentModel/WeakObjectWrapperComparer.cs
+System.ComponentModel/Win32Exception.cs
+System.Configuration/ApplicationScopedSettingAttribute.cs
+System.Configuration/ApplicationSettingsBase.cs
+System.Configuration/ApplicationSettingsGroup.cs
+System.Configuration/AppSettingsReader.cs
+System.Configuration/ClientSettingsSection.cs
+System.Configuration/ConfigHelper.cs
+System.Configuration/ConfigurationException.cs
+System.Configuration/ConfigurationSettings.cs
+System.Configuration/ConfigXmlDocument.cs
+System.Configuration/CustomizableFileSettingsProvider.cs
+System.Configuration/DefaultSettingValueAttribute.cs
+System.Configuration/DictionarySectionHandler.cs
+System.Configuration/IApplicationSettingsProvider.cs
+System.Configuration/IConfigurationSectionHandler.cs
+System.Configuration/IConfigurationSystem.cs
+System.Configuration/IConfigXmlNode.cs
+System.Configuration/IdnElement.cs
+System.Configuration/IgnoreSectionHandler.cs
+System.Configuration/IriParsingElement.cs
+System.Configuration/IPersistComponentSettings.cs
+System.Configuration/ISettingsProviderService.cs
+System.Configuration/LocalFileSettingsProvider.cs
+System.Configuration/NameValueFileSectionHandler.cs
+System.Configuration/NameValueSectionHandler.cs
+System.Configuration/NoSettingsVersionUpgradeAttribute.cs
+System.Configuration/SettingAttribute.cs
+System.Configuration/SettingChangingEventArgs.cs
+System.Configuration/SettingChangingEventHandler.cs
+System.Configuration/SettingElementCollection.cs
+System.Configuration/SettingElement.cs
+System.Configuration/SettingsAttributeDictionary.cs
+System.Configuration/SettingsBase.cs
+System.Configuration/SettingsContext.cs
+System.Configuration/SettingsLoadedEventArgs.cs
+System.Configuration/SettingsLoadedEventHandler.cs
+System.Configuration/SettingsPropertyCollection.cs
+System.Configuration/SettingsProperty.cs
+System.Configuration/SettingsPropertyIsReadOnlyException.cs
+System.Configuration/SettingsPropertyNotFoundException.cs
+System.Configuration/SettingsPropertyValueCollection.cs
+System.Configuration/SettingsPropertyValue.cs
+System.Configuration/SettingsPropertyWrongTypeException.cs
+System.Configuration/SettingsProviderAttribute.cs
+System.Configuration/SettingsProviderCollection.cs
+System.Configuration/SettingsProvider.cs
+System.Configuration/SettingsSavingEventHandler.cs
+System.Configuration/SettingsSerializeAsAttribute.cs
+System.Configuration/SettingsSerializeAs.cs
+System.Configuration/SettingValueElement.cs
+System.Configuration/SettingsManageability.cs
+System.Configuration/SettingsManageabilityAttribute.cs
+System.Configuration/SettingsGroupDescriptionAttribute.cs
+System.Configuration/SettingsDescriptionAttribute.cs
+System.Configuration/SettingsGroupNameAttribute.cs
+System.Configuration/SingleTagSectionHandler.cs
+System.Configuration/SpecialSetting.cs
+System.Configuration/SpecialSettingAttribute.cs
+System.Configuration/UriSection.cs
+System.Configuration/UserSettingsGroup.cs
+System.Configuration/UserScopedSettingAttribute.cs
+System/DefaultUriParser.cs
+System.Diagnostics/AlphabeticalEnumConverter.cs
+System.Diagnostics/BooleanSwitch.cs
+System.Diagnostics/ConsoleTraceListener.cs
+System.Diagnostics/CorrelationManager.cs
+System.Diagnostics/CounterCreationDataCollection.cs
+System.Diagnostics/CounterCreationData.cs
+System.Diagnostics/CounterSampleCalculator.cs
+System.Diagnostics/CounterSample.cs
+System.Diagnostics/DataReceivedEventArgs.cs
+System.Diagnostics/DataReceivedEventHandler.cs
+System.Diagnostics/Debug.cs
+System.Diagnostics/DefaultTraceListener.cs
+System.Diagnostics/DelimitedListTraceListener.cs
+System.Diagnostics/DiagnosticsConfigurationHandler.cs
+System.Diagnostics/EntryWrittenEventArgs.cs
+System.Diagnostics/EntryWrittenEventHandler.cs
+System.Diagnostics/EventInstance.cs
+System.Diagnostics/EventLog.cs
+System.Diagnostics/EventLogEntryCollection.cs
+System.Diagnostics/EventLogEntry.cs
+System.Diagnostics/EventLogEntryType.cs
+System.Diagnostics/EventLogImpl.cs
+System.Diagnostics/EventLogInstaller.cs
+System.Diagnostics/EventLogPermissionAccess.cs
+System.Diagnostics/EventLogPermissionAttribute.cs
+System.Diagnostics/EventLogPermission.cs
+System.Diagnostics/EventLogPermissionEntryCollection.cs
+System.Diagnostics/EventLogPermissionEntry.cs
+System.Diagnostics/EventLogTraceListener.cs
+System.Diagnostics/EventSourceCreationData.cs
+System.Diagnostics/EventTypeFilter.cs
+System.Diagnostics/FileVersionInfo.cs
+System.Diagnostics/ICollectData.cs
+System.Diagnostics/InstanceDataCollectionCollection.cs
+System.Diagnostics/InstanceDataCollection.cs
+System.Diagnostics/InstanceData.cs
+System.Diagnostics/LocalFileEventLog.cs
+System.Diagnostics/MonitoringDescriptionAttribute.cs
+System.Diagnostics/NullEventLog.cs
+System.Diagnostics/OverflowAction.cs
+System.Diagnostics/PerformanceCounterCategory.cs
+System.Diagnostics/PerformanceCounterCategoryType.cs
+System.Diagnostics/PerformanceCounter.cs
+System.Diagnostics/PerformanceCounterInstaller.cs
+System.Diagnostics/PerformanceCounterInstanceLifetime.cs
+System.Diagnostics/PerformanceCounterManager.cs
+System.Diagnostics/PerformanceCounterPermissionAccess.cs
+System.Diagnostics/PerformanceCounterPermissionAttribute.cs
+System.Diagnostics/PerformanceCounterPermission.cs
+System.Diagnostics/PerformanceCounterPermissionEntryCollection.cs
+System.Diagnostics/PerformanceCounterPermissionEntry.cs
+System.Diagnostics/PerformanceCounterType.cs
+System.Diagnostics/Process.cs
+System.Diagnostics/ProcessModuleCollection.cs
+System.Diagnostics/ProcessModule.cs
+System.Diagnostics/ProcessPriorityClass.cs
+System.Diagnostics/ProcessStartInfo.cs
+System.Diagnostics/ProcessThreadCollection.cs
+System.Diagnostics/ProcessThread.cs
+System.Diagnostics/ProcessWindowStyle.cs
+System.Diagnostics/SourceFilter.cs
+System.Diagnostics/SourceLevels.cs
+System.Diagnostics/SourceSwitch.cs
+System.Diagnostics/Switch.cs
+System.Diagnostics/SwitchAttribute.cs
+System.Diagnostics/SwitchLevelAttribute.cs
+System.Diagnostics/Stopwatch.cs
+System.Diagnostics/TextWriterTraceListener.cs
+System.Diagnostics/ThreadPriorityLevel.cs
+System.Diagnostics/ThreadState.cs
+System.Diagnostics/ThreadWaitReason.cs
+System.Diagnostics/Trace.cs
+System.Diagnostics/TraceEventCache.cs
+System.Diagnostics/TraceEventType.cs
+System.Diagnostics/TraceFilter.cs
+System.Diagnostics/TraceImpl.cs
+System.Diagnostics/TraceLevel.cs
+System.Diagnostics/TraceListenerCollection.cs
+System.Diagnostics/TraceListener.cs
+System.Diagnostics/TraceOptions.cs
+System.Diagnostics/TraceSource.cs
+System.Diagnostics/TraceSourceInfo.cs
+System.Diagnostics/TraceSwitch.cs
+System.Diagnostics/Win32EventLog.cs
+System.Diagnostics/XmlWriterTraceListener.cs
+System.Diagnostics.CodeAnalysis/ExcludeFromCodeCoverageAttribute.cs
+System/FileStyleUriParser.cs
+System/FtpStyleUriParser.cs
+System/GenericUriParser.cs
+System/GenericUriParserOptions.cs
+System/GopherStyleUriParser.cs
+System/HttpStyleUriParser.cs
+System/Platform.cs
+System.IO.Compression/CompressionLevel.cs
+System.IO.Compression/CompressionMode.cs
+System.IO.Compression/DeflateStream.cs
+System.IO.Compression/GZipStream.cs
+System.IO/DefaultWatcher.cs
+System.IO/ErrorEventArgs.cs
+System.IO/ErrorEventHandler.cs
+System.IO/FAMWatcher.cs
+System.IO/NullFileWatcher.cs
+System.IO/FileAction.cs
+System.IO/FileSystemEventArgs.cs
+System.IO/FileSystemEventHandler.cs
+System.IO/FileSystemWatcher.cs
+System.IO/IFileWatcher.cs
+System.IO/InotifyWatcher.cs
+System.IO/InternalBufferOverflowException.cs
+System.IO/InvalidDataException.cs
+System.IO/IODescriptionAttribute.cs
+System.IO/KeventWatcher.cs
+System.IO/MonoSyncFileStream.cs
+System.IO/NotifyFilters.cs
+System.IO.Ports/Handshake.cs
+System.IO.Ports/ISerialStream.cs
+System.IO.Ports/Parity.cs
+System.IO.Ports/SerialData.cs
+System.IO.Ports/SerialError.cs
+System.IO.Ports/SerialErrorEventArgs.cs
+System.IO.Ports/SerialPinChange.cs
+System.IO.Ports/SerialPinChangedEventArgs.cs
+System.IO.Ports/SerialPort.cs
+System.IO.Ports/SerialPortStream.cs
+System.IO.Ports/SerialReceivedEventArgs.cs
+System.IO.Ports/SerialSignal.cs
+System.IO.Ports/StopBits.cs
+System.IO.Ports/WinSerialStream.cs
+System.IO/RenamedEventArgs.cs
+System.IO/RenamedEventHandler.cs
+System.IO/SearchPattern.cs
+System.IO/WaitForChangedResult.cs
+System.IO/WatcherChangeTypes.cs
+System.IO/WindowsWatcher.cs
+System/LdapStyleUriParser.cs
+System.Media/AudioData.cs
+System.Media/AudioDevice.cs
+System.Media/SoundPlayer.cs
+System.Media/SystemSound.cs
+System.Media/SystemSounds.cs
+System.Media/Win32SoundPlayer.cs
+System.Net/AuthenticationManager.cs
+System.Net/AuthenticationSchemes.cs
+System.Net/AuthenticationSchemeSelector.cs
+System.Net/Authorization.cs
+System.Net/BasicClient.cs
+System.Net/BindIPEndPoint.cs
+System.Net.Cache/HttpCacheAgeControl.cs
+System.Net.Cache/HttpRequestCacheLevel.cs
+System.Net.Cache/HttpRequestCachePolicy.cs
+System.Net.Cache/RequestCacheLevel.cs
+System.Net.Cache/RequestCachePolicy.cs
+System.Net/ChunkedInputStream.cs
+System.Net/ChunkStream.cs
+System.Net.Configuration/AuthenticationModuleElementCollection.cs
+System.Net.Configuration/AuthenticationModuleElement.cs
+System.Net.Configuration/AuthenticationModulesSection.cs
+System.Net.Configuration/BypassElementCollection.cs
+System.Net.Configuration/BypassElement.cs
+System.Net.Configuration/ConnectionManagementElementCollection.cs
+System.Net.Configuration/ConnectionManagementElement.cs
+System.Net.Configuration/ConnectionManagementHandler.cs
+System.Net.Configuration/ConnectionManagementSection.cs
+System.Net.Configuration/DefaultProxyHandler.cs
+System.Net.Configuration/DefaultProxySection.cs
+System.Net.Configuration/FtpCachePolicyElement.cs
+System.Net.Configuration/HttpCachePolicyElement.cs
+System.Net.Configuration/HttpWebRequestElement.cs
+System.Net.Configuration/Ipv6Element.cs
+System.Net.Configuration/MailSettingsSectionGroup.cs
+System.Net.Configuration/ModuleElement.cs
+System.Net.Configuration/NetAuthenticationModuleHandler.cs
+System.Net.Configuration/NetConfigurationHandler.cs
+System.Net.Configuration/NetSectionGroup.cs
+System.Net.Configuration/PerformanceCountersElement.cs
+System.Net.Configuration/ProxyElement.cs
+System.Net.Configuration/RequestCachingSection.cs
+System.Net.Configuration/ServicePointManagerElement.cs
+System.Net.Configuration/SettingsSection.cs
+System.Net.Configuration/SmtpNetworkElement.cs
+System.Net.Configuration/SmtpSection.cs
+System.Net.Configuration/SmtpSpecifiedPickupDirectoryElement.cs
+System.Net.Configuration/SocketElement.cs
+System.Net.Configuration/WebProxyScriptElement.cs
+System.Net.Configuration/WebRequestModuleElementCollection.cs
+System.Net.Configuration/WebRequestModuleElement.cs
+System.Net.Configuration/WebRequestModuleHandler.cs
+System.Net.Configuration/WebRequestModulesSection.cs
+System.Net/ConnectionModes.cs
+System.Net/CookieCollection.cs
+System.Net/CookieContainer.cs
+System.Net/Cookie.cs
+System.Net/CookieException.cs
+System.Net/CookieParser.cs
+System.Net/CredentialCache.cs
+System.Net/DecompressionMethods.cs
+System.Net/DefaultCertificatePolicy.cs
+System.Net/DigestClient.cs
+System.Net/Dns.cs
+System.Net/DnsEndPoint.cs
+System.Net/DnsPermissionAttribute.cs
+System.Net/DnsPermission.cs
+System.Net/EndPoint.cs
+System.Net/EndPointListener.cs
+System.Net/EndPointManager.cs
+System.Net/EndpointPermission.cs
+System.Net/FileWebRequestCreator.cs
+System.Net/FileWebRequest.cs
+System.Net/FileWebResponse.cs
+System.Net/FtpAsyncResult.cs
+System.Net/FtpDataStream.cs
+System.Net/FtpRequestCreator.cs
+System.Net/FtpStatusCode.cs
+System.Net/FtpWebRequest.cs
+System.Net/FtpStatus.cs
+System.Net/FtpWebResponse.cs
+System.Net/GlobalProxySelection.cs
+System.Net/HttpConnection.cs
+System.Net/HttpContinueDelegate.cs
+System.Net/HttpListenerBasicIdentity.cs
+System.Net/HttpListenerContext.cs
+System.Net/HttpListener.cs
+System.Net/HttpListenerException.cs
+System.Net/HttpListenerPrefixCollection.cs
+System.Net/HttpListenerRequest.cs
+System.Net/HttpListenerResponse.cs
+System.Net/HttpRequestCreator.cs
+System.Net/HttpRequestHeader.cs
+System.Net/HttpResponseHeader.cs
+System.Net/HttpStatusCode.cs
+System.Net/HttpStreamAsyncResult.cs
+System.Net/HttpUtility.cs
+System.Net/HttpVersion.cs
+System.Net/HttpWebRequest.cs
+System.Net/HttpWebResponse.cs
+System.Net/IAuthenticationModule.cs
+System.Net/ICertificatePolicy.cs
+System.Net/ICredentialLookup.cs
+System.Net/ICredentialPolicy.cs
+System.Net/ICredentialsByHost.cs
+System.Net/IPAddress.cs
+System.Net/IPEndPoint.cs
+System.Net/IPHostEntry.cs
+System.Net/IPv6Address.cs
+System.Net/IWebProxy.cs
+System.Net/IWebProxyScript.cs
+System.Net/IWebConnectionState.cs
+System.Net/IWebRequestCreate.cs
+System.Net/ListenerAsyncResult.cs
+System.Net/ListenerPrefix.cs
+System.Net.Mail/AlternateViewCollection.cs
+System.Net.Mail/AlternateView.cs
+System.Net.Mail/AttachmentBase.cs
+System.Net.Mail/AttachmentCollection.cs
+System.Net.Mail/Attachment.cs
+System.Net.Mail/DeliveryNotificationOptions.cs
+System.Net.Mail/LinkedResourceCollection.cs
+System.Net.Mail/LinkedResource.cs
+System.Net.Mail/MailAddressCollection.cs
+System.Net.Mail/MailAddress.cs
+System.Net.Mail/MailMessage.cs
+System.Net.Mail/MailPriority.cs
+System.Net.Mail/SendCompletedEventHandler.cs
+System.Net.Mail/SmtpAccess.cs
+System.Net.Mail/SmtpClient.cs
+System.Net.Mail/SmtpDeliveryMethod.cs
+System.Net.Mail/SmtpException.cs
+System.Net.Mail/SmtpFailedRecipientException.cs
+System.Net.Mail/SmtpFailedRecipientsException.cs
+System.Net.Mail/SmtpPermission.cs
+System.Net.Mail/SmtpPermissionAttribute.cs
+System.Net.Mail/SmtpStatusCode.cs
+System.Net.Mime/ContentDisposition.cs
+System.Net.Mime/ContentType.cs
+System.Net.Mime/DispositionTypeNames.cs
+System.Net.Mime/MediaTypeNames.cs
+System.Net.Mime/TransferEncoding.cs
+System.Net/MacProxy.cs
+System.Net/MonoHttpDate.cs
+System.Net/NetConfig.cs
+System.Net/NetworkAccess.cs
+System.Net/NetworkCredential.cs
+System.Net.NetworkInformation/DuplicateAddressDetectionState.cs
+System.Net.NetworkInformation/GatewayIPAddressInformationCollection.cs
+System.Net.NetworkInformation/GatewayIPAddressInformation.cs
+System.Net.NetworkInformation/IcmpV4Statistics.cs
+System.Net.NetworkInformation/IcmpV6Statistics.cs
+System.Net.NetworkInformation/IPAddressCollection.cs
+System.Net.NetworkInformation/IPAddressInformationCollection.cs
+System.Net.NetworkInformation/IPAddressInformation.cs
+System.Net.NetworkInformation/IPGlobalProperties.cs
+System.Net.NetworkInformation/IPGlobalStatistics.cs
+System.Net.NetworkInformation/IPInterfaceProperties.cs
+System.Net.NetworkInformation/IPStatus.cs
+System.Net.NetworkInformation/IPv4InterfaceProperties.cs
+System.Net.NetworkInformation/IPv4InterfaceStatistics.cs
+System.Net.NetworkInformation/IPv6InterfaceProperties.cs
+System.Net.NetworkInformation/LinuxNetworkInterfaceMarshal.cs
+System.Net.NetworkInformation/MacOsNetworkInterfaceMarshal.cs
+System.Net.NetworkInformation/MulticastIPAddressInformationCollection.cs
+System.Net.NetworkInformation/MulticastIPAddressInformation.cs
+System.Net.NetworkInformation/NetBiosNodeType.cs
+System.Net.NetworkInformation/NetworkAddressChangedEventHandler.cs
+System.Net.NetworkInformation/NetworkAvailabilityChangedEventHandler.cs
+System.Net.NetworkInformation/NetworkAvailabilityEventArgs.cs
+System.Net.NetworkInformation/NetworkChange.cs
+System.Net.NetworkInformation/NetworkInformationAccess.cs
+System.Net.NetworkInformation/NetworkInformationException.cs
+System.Net.NetworkInformation/NetworkInformationPermissionAttribute.cs
+System.Net.NetworkInformation/NetworkInformationPermission.cs
+System.Net.NetworkInformation/NetworkInterfaceComponent.cs
+System.Net.NetworkInformation/NetworkInterface.cs
+System.Net.NetworkInformation/NetworkInterfaceType.cs
+System.Net.NetworkInformation/OperationalStatus.cs
+System.Net.NetworkInformation/PhysicalAddress.cs
+System.Net.NetworkInformation/PingCompletedEventArgs.cs
+System.Net.NetworkInformation/PingCompletedEventHandler.cs
+System.Net.NetworkInformation/Ping.cs
+System.Net.NetworkInformation/PingException.cs
+System.Net.NetworkInformation/PingOptions.cs
+System.Net.NetworkInformation/PingReply.cs
+System.Net.NetworkInformation/PrefixOrigin.cs
+System.Net.NetworkInformation/SuffixOrigin.cs
+System.Net.NetworkInformation/TcpConnectionInformation.cs
+System.Net.NetworkInformation/TcpState.cs
+System.Net.NetworkInformation/TcpStatistics.cs
+System.Net.NetworkInformation/UdpStatistics.cs
+System.Net.NetworkInformation/UnicastIPAddressInformationCollection.cs
+System.Net.NetworkInformation/UnicastIPAddressInformation.cs
+System.Net.NetworkInformation/Win32NetworkInterfaceMarshal.cs
+System.Net/NtlmClient.cs
+System/NetPipeStyleUriParser.cs
+System.Net/ProtocolViolationException.cs
+System.Net/RequestStream.cs
+System.Net/ResponseStream.cs
+System.Net.Security/AuthenticatedStream.cs
+System.Net.Security/AuthenticationLevel.cs
+System.Net.Security/LocalCertificateSelectionCallback.cs
+System.Net.Security/NegotiateStream.cs
+System.Net.Security/ProtectionLevel.cs
+System.Net/SecurityProtocolType.cs
+System.Net.Security/RemoteCertificateValidationCallback.cs
+System.Net.Security/SslStream.cs
+System.Net.Security/SslPolicyErrors.cs
+System.Net/ServicePoint.cs
+System.Net/ServicePointManager.cs
+System.Net/ServicePointManager.extra.cs
+System.Net/SimpleAsyncResult.cs
+System.Net/SocketAddress.cs
+System.Net/SocketPermissionAttribute.cs
+System.Net/SocketPermission.cs
+System.Net.Sockets/AddressFamily.cs
+System.Net.Sockets/IOControlCode.cs
+System.Net.Sockets/IPv6MulticastOption.cs
+System.Net.Sockets/IPPacketInformation.cs
+System.Net.Sockets/LingerOption.cs
+System.Net.Sockets/MulticastOption.cs
+System.Net.Sockets/NetworkStream.cs
+System.Net.Sockets/ProtocolFamily.cs
+System.Net.Sockets/ProtocolType.cs
+System.Net.Sockets/SelectMode.cs
+System.Net.Sockets/SendPacketsElement.cs
+System.Net.Sockets/Socket.cs
+System.Net.Sockets/Socket_2_1.cs
+System.Net.Sockets/SocketAsyncEventArgs.cs
+System.Net.Sockets/SocketAsyncOperation.cs
+System.Net.Sockets/SocketError.cs
+System.Net.Sockets/SocketException.cs
+System.Net.Sockets/SocketFlags.cs
+System.Net.Sockets/SocketInformation.cs
+System.Net.Sockets/SocketInformationOptions.cs
+System.Net.Sockets/SocketOptionLevel.cs
+System.Net.Sockets/SocketOptionName.cs
+System.Net.Sockets/SocketShutdown.cs
+System.Net.Sockets/SocketType.cs
+System.Net.Sockets/TcpClient.cs
+System.Net.Sockets/TcpListener.cs
+System.Net.Sockets/TransmitFileOptions.cs
+System.Net.Sockets/UdpClient.cs
+System.Net.Sockets/UdpReceiveResult.cs
+System/NetTcpStyleUriParser.cs
+System.Net/TransportContext.cs
+System.Net/TransportType.cs
+System.Net/WebAsyncResult.cs
+System.Net/WebClient.cs
+System.Net/WebConnection.cs
+System.Net/WebConnectionData.cs
+System.Net/WebConnectionGroup.cs
+System.Net/WebConnectionStream.cs
+System.Net/WebException.cs
+System.Net/WebExceptionStatus.cs
+System.Net/WebHeaderCollection.cs
+System.Net/WebPermissionAttribute.cs
+System.Net/WebPermission.cs
+System.Net/WebProxy.cs
+System.Net/WebRequest.cs
+System.Net/WebRequestMethods.cs
+System.Net/WebResponse.cs
+System.Net/WebUtility.cs
+System.Net.WebSockets/ClientWebSocket.cs
+System.Net.WebSockets/ClientWebSocketOptions.cs
+System.Net.WebSockets/HttpListenerWebSocketContext.cs
+System.Net.WebSockets/WebSocket.cs
+System.Net.WebSockets/WebSocketCloseStatus.cs
+System.Net.WebSockets/WebSocketContext.cs
+System.Net.WebSockets/WebSocketError.cs
+System.Net.WebSockets/WebSocketException.cs
+System.Net.WebSockets/WebSocketMessageType.cs
+System.Net.WebSockets/WebSocketReceiveResult.cs
+System.Net.WebSockets/WebSocketState.cs
+System/NewsStyleUriParser.cs
+System.Runtime.Versioning/FrameworkName.cs
+System.Security.AccessControl/SemaphoreAccessRule.cs
+System.Security.AccessControl/SemaphoreAuditRule.cs
+System.Security.AccessControl/SemaphoreRights.cs
+System.Security.AccessControl/SemaphoreSecurity.cs
+System.Security.Authentication/AuthenticationException.cs
+System.Security.Authentication/CipherAlgorithmType.cs
+System.Security.Authentication/ExchangeAlgorithmType.cs
+System.Security.Authentication/HashAlgorithmType.cs
+System.Security.Authentication/SslProtocols.cs
+System.Security.Authentication/InvalidCredentialException.cs
+System.Security.Authentication.ExtendedProtection/ChannelBinding.cs
+System.Security.Authentication.ExtendedProtection/ChannelBindingKind.cs
+System.Security.Authentication.ExtendedProtection/ExtendedProtectionPolicy.cs
+System.Security.Authentication.ExtendedProtection/ExtendedProtectionPolicyTypeConverter.cs
+System.Security.Authentication.ExtendedProtection/PolicyEnforcement.cs
+System.Security.Authentication.ExtendedProtection/ProtectionScenario.cs
+System.Security.Authentication.ExtendedProtection/ServiceNameCollection.cs
+System.Security.Authentication.ExtendedProtection.Configuration/ConfigUtil.cs
+System.Security.Authentication.ExtendedProtection.Configuration/ExtendedProtectionPolicyElement.cs
+System.Security.Authentication.ExtendedProtection.Configuration/ServiceNameElement.cs
+System.Security.Authentication.ExtendedProtection.Configuration/ServiceNameElementCollection.cs
+System.Security.Cryptography/AsnEncodedDataCollection.cs
+System.Security.Cryptography/AsnEncodedData.cs
+System.Security.Cryptography/AsnEncodedDataEnumerator.cs
+System.Security.Cryptography/OidCollection.cs
+System.Security.Cryptography/Oid.cs
+System.Security.Cryptography/OidEnumerator.cs
+System.Security.Cryptography.X509Certificates/OpenFlags.cs
+System.Security.Cryptography.X509Certificates/OSX509Certificates.cs
+System.Security.Cryptography.X509Certificates/PublicKey.cs
+System.Security.Cryptography.X509Certificates/StoreLocation.cs
+System.Security.Cryptography.X509Certificates/StoreName.cs
+System.Security.Cryptography.X509Certificates/X500DistinguishedName.cs
+System.Security.Cryptography.X509Certificates/X500DistinguishedNameFlags.cs
+System.Security.Cryptography.X509Certificates/X509BasicConstraintsExtension.cs
+System.Security.Cryptography.X509Certificates/X509Certificate2Collection.cs
+System.Security.Cryptography.X509Certificates/X509Certificate2.cs
+System.Security.Cryptography.X509Certificates/X509Certificate2Enumerator.cs
+System.Security.Cryptography.X509Certificates/X509CertificateCollection.cs
+System.Security.Cryptography.X509Certificates/X509Chain.cs
+System.Security.Cryptography.X509Certificates/X509ChainElementCollection.cs
+System.Security.Cryptography.X509Certificates/X509ChainElement.cs
+System.Security.Cryptography.X509Certificates/X509ChainElementEnumerator.cs
+System.Security.Cryptography.X509Certificates/X509ChainPolicy.cs
+System.Security.Cryptography.X509Certificates/X509ChainStatus.cs
+System.Security.Cryptography.X509Certificates/X509ChainStatusFlags.cs
+System.Security.Cryptography.X509Certificates/X509EnhancedKeyUsageExtension.cs
+System.Security.Cryptography.X509Certificates/X509ExtensionCollection.cs
+System.Security.Cryptography.X509Certificates/X509Extension.cs
+System.Security.Cryptography.X509Certificates/X509ExtensionEnumerator.cs
+System.Security.Cryptography.X509Certificates/X509FindType.cs
+System.Security.Cryptography.X509Certificates/X509IncludeOption.cs
+System.Security.Cryptography.X509Certificates/X509KeyUsageExtension.cs
+System.Security.Cryptography.X509Certificates/X509KeyUsageFlags.cs
+System.Security.Cryptography.X509Certificates/X509NameType.cs
+System.Security.Cryptography.X509Certificates/X509RevocationFlag.cs
+System.Security.Cryptography.X509Certificates/X509RevocationMode.cs
+System.Security.Cryptography.X509Certificates/X509Store.cs
+System.Security.Cryptography.X509Certificates/X509SubjectKeyIdentifierExtension.cs
+System.Security.Cryptography.X509Certificates/X509SubjectKeyIdentifierHashAlgorithm.cs
+System.Security.Cryptography.X509Certificates/X509VerificationFlags.cs
+System.Security.Permissions/PermissionHelper.cs
+System.Security.Permissions/ResourcePermissionBase.cs
+System.Security.Permissions/ResourcePermissionBaseEntry.cs
+System.Security.Permissions/StorePermissionAttribute.cs
+System.Security.Permissions/StorePermission.cs
+System.Security.Permissions/StorePermissionFlags.cs
+System/SRDescriptionAttribute.cs
+System.Threading/Semaphore.cs
+System.Threading/SemaphoreFullException.cs
+System.Threading/ThreadExceptionEventArgs.cs
+System.Threading/ThreadExceptionEventHandler.cs
+System.Threading/Barrier.cs
+System.Threading/BarrierPostPhaseException.cs
+System.Timers/ElapsedEventArgs.cs
+System.Timers/ElapsedEventHandler.cs
+System.Timers/Timer.cs
+System.Timers/TimersDescriptionAttribute.cs
+System/UriBuilder.cs
+System/UriComponents.cs
+System/Uri.cs
+System/UriFormat.cs
+System/UriFormatException.cs
+System/UriHostNameType.cs
+System/UriHelper.cs
+System/UriIdnScope.cs
+System/UriKind.cs
+System/UriParser.cs
+System/UriPartial.cs
+System/UriTypeConverter.cs
+System/UriElements.cs
+System/UriParseComponents.cs
+System.Web/AspNetHostingPermissionAttribute.cs
+System.Web/AspNetHostingPermission.cs
+System.Web/AspNetHostingPermissionLevel.cs
+System.ComponentModel/ProgressChangedEventHandler.cs
+System.ComponentModel/ProgressChangedEventArgs.cs
+System.Net/UploadDataCompletedEventArgs.cs
+System.Net/UploadFileCompletedEventArgs.cs
+System.Net/UploadFileCompletedEventHandler.cs
+System.Net/UploadProgressChangedEventHandler.cs
+System.Net/OpenReadCompletedEventHandler.cs
+System.Net/DownloadDataCompletedEventHandler.cs
+System.Net/DownloadProgressChangedEventHandler.cs
+System.Net/OpenReadCompletedEventArgs.cs
+System.Net/DownloadStringCompletedEventArgs.cs
+System.Net/DownloadDataCompletedEventArgs.cs
+System.Net/DownloadProgressChangedEventArgs.cs
+System.Net/UploadStringCompletedEventArgs.cs
+System.Net/OpenWriteCompletedEventArgs.cs
+System.Net/UploadProgressChangedEventArgs.cs
+System.Net/OpenWriteCompletedEventHandler.cs
+System.Net/UploadDataCompletedEventHandler.cs
+System.Net/UploadValuesCompletedEventArgs.cs
+System.Net/UploadValuesCompletedEventHandler.cs
+System.Net/UploadStringCompletedEventHandler.cs
+System.Net/DownloadStringCompletedEventHandler.cs
+System.Runtime.InteropServices/DefaultParameterValueAttribute.cs
+System.Runtime.InteropServices/HandleCollector.cs
+System.Runtime.InteropServices/StandardOleMarshalObject.cs
+System.Runtime.InteropServices.ComTypes/ADVF.cs
+System.Runtime.InteropServices.ComTypes/DATADIR.cs
+System.Runtime.InteropServices.ComTypes/DVASPECT.cs
+System.Runtime.InteropServices.ComTypes/FORMATETC.cs
+System.Runtime.InteropServices.ComTypes/IAdviseSink.cs
+System.Runtime.InteropServices.ComTypes/IDataObject.cs
+System.Runtime.InteropServices.ComTypes/IEnumFORMATETC.cs
+System.Runtime.InteropServices.ComTypes/IEnumSTATDATA.cs
+System.Runtime.InteropServices.ComTypes/STATDATA.cs
+System.Runtime.InteropServices.ComTypes/STGMEDIUM.cs
+System.Runtime.InteropServices.ComTypes/TYMED.cs
+System/IUriData.cs
+System/UriData.cs
+Mono.Net.Dns/DnsClass.cs
+Mono.Net.Dns/DnsHeader.cs
+Mono.Net.Dns/DnsOpCode.cs
+Mono.Net.Dns/DnsPacket.cs
+Mono.Net.Dns/DnsQClass.cs
+Mono.Net.Dns/DnsQType.cs
+Mono.Net.Dns/DnsQuery.cs
+Mono.Net.Dns/DnsQuestion.cs
+Mono.Net.Dns/DnsRCode.cs
+Mono.Net.Dns/DnsResourceRecordA.cs
+Mono.Net.Dns/DnsResourceRecordAAAA.cs
+Mono.Net.Dns/DnsResourceRecordCName.cs
+Mono.Net.Dns/DnsResourceRecord.cs
+Mono.Net.Dns/DnsResourceRecordIPAddress.cs
+Mono.Net.Dns/DnsResourceRecordPTR.cs
+Mono.Net.Dns/DnsResponse.cs
+Mono.Net.Dns/DnsType.cs
+Mono.Net.Dns/DnsUtil.cs
+Mono.Net.Dns/ResolverAsyncOperation.cs
+Mono.Net.Dns/SimpleResolver.cs
+Mono.Net.Dns/ResolverError.cs
+Mono.Net.Dns/SimpleResolverEventArgs.cs
+System.Net/DnsAsyncResult.cs
+System.Windows.Input/ICommand.cs
+
+../../../external/referencesource/System/regex/system/text/regularexpressions/Regex.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexBoyerMoore.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCapture.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCaptureCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCharClass.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompilationInfo.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompiler.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexFCD.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroup.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroupCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexInterpreter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatch.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchTimeoutException.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexNode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexOptions.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexParser.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexReplacement.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunnerFactory.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexTree.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexWriter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunnerfactory.cs
\ No newline at end of file
index 6a014b9133a2a357906a1bb456b142adbc1da2c1..8420dab5155348540a8dfb4a904e893cd2416fd3 100644 (file)
@@ -1,4 +1,6 @@
 Assembly/AssemblyInfo.cs
+SR.cs
+../../build/common/SR.cs
 Mono.Http/NtlmClient.cs
 System.CodeDom.Compiler/GeneratedCodeAttribute.cs
 System.CodeDom.Compiler/IndentedTextWriter.cs
@@ -11,8 +13,6 @@ System.Collections.Generic/SortedDictionary.cs
 System.Collections.Generic/SortedList.cs
 System.Collections.Generic/SortedSet.cs
 System.Collections.Generic/Stack.cs
-System.Collections.Concurrent/BlockingCollection.cs
-System.Collections.Concurrent/ConcurrentBag.cs
 System.Collections.ObjectModel/ObservableCollection.cs
 System.Collections.ObjectModel/ReadOnlyObservableCollection.cs
 System.Collections.Specialized/BitVector32.cs
@@ -630,31 +630,6 @@ System.Security.Cryptography/AsnEncodedDataEnumerator.cs
 System.Security.Cryptography/Oid.cs
 System.Security.Cryptography/OidCollection.cs
 System.Security.Cryptography/OidEnumerator.cs
-System.Text.RegularExpressions/BaseMachine.cs
-System.Text.RegularExpressions/Capture.cs
-System.Text.RegularExpressions/CaptureCollection.cs
-System.Text.RegularExpressions/Group.cs
-System.Text.RegularExpressions/GroupCollection.cs
-System.Text.RegularExpressions/Match.cs
-System.Text.RegularExpressions/MatchCollection.cs
-System.Text.RegularExpressions/MatchEvaluator.cs
-System.Text.RegularExpressions/Regex.cs
-System.Text.RegularExpressions/RegexCompilationInfo.cs
-System.Text.RegularExpressions/RegexMatchTimeoutException.cs
-System.Text.RegularExpressions/RegexOptions.cs
-System.Text.RegularExpressions/RxInterpreter.cs
-System.Text.RegularExpressions/RxOp.cs
-System.Text.RegularExpressions/arch.cs
-System.Text.RegularExpressions/cache.cs
-System.Text.RegularExpressions/category.cs
-System.Text.RegularExpressions/compiler.cs
-System.Text.RegularExpressions/debug.cs
-System.Text.RegularExpressions/interpreter.cs
-System.Text.RegularExpressions/interval.cs
-System.Text.RegularExpressions/parser.cs
-System.Text.RegularExpressions/quicksearch.cs
-System.Text.RegularExpressions/replace.cs
-System.Text.RegularExpressions/syntax.cs
 System.Threading/Barrier.cs
 System.Threading/BarrierPostPhaseException.cs
 System.Threading/Semaphore.cs
@@ -693,3 +668,32 @@ System/UriParseComponents.cs
 System.Runtime.InteropServices/DefaultParameterValueAttribute.cs
 System.Runtime.InteropServices/HandleCollector.cs
 System.Windows.Input/ICommand.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/Regex.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexBoyerMoore.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCapture.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCaptureCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCharClass.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompilationInfo.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexCompiler.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexFCD.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroup.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexGroupCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexInterpreter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatch.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchCollection.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexMatchTimeoutException.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexNode.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexOptions.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexParser.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexReplacement.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexRunnerFactory.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexTree.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/RegexWriter.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunner.cs
+../../../external/referencesource/System/regex/system/text/regularexpressions/compiledregexrunnerfactory.cs
+
+../../../external/referencesource/System/sys/system/collections/concurrent/BlockingCollection.cs
+../../../external/referencesource/System/sys/system/collections/concurrent/ConcurrentBag.cs
+
diff --git a/mcs/class/SystemWebTestShim/SystemWebTestShim-net_2_0.csproj b/mcs/class/SystemWebTestShim/SystemWebTestShim-net_2_0.csproj
deleted file mode 100644 (file)
index caf855d..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{328B62A2-55C4-420A-81C1-AEAB15A8F3A6}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    \r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>SystemWebTestShim</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="SystemWebTestShim\Adapters.cs" />\r
-    <Compile Include="SystemWebTestShim\BuildManager.cs" />\r
-    <Compile Include="SystemWebTestShim\HttpCapabilitiesBase.cs" />\r
-    <Compile Include="SystemWebTestShim\Page.cs" />\r
-    <Compile Include="SystemWebTestShim\UrlUtils.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Web\System.Web-net_2_0-1.csproj">\r
-      <Project>{B8F7FDF0-07C7-4AFC-9854-F591BF307939}</Project>\r
-      <Name>System.Web\System.Web-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/WindowsBase/WindowsBase-net_2_0.csproj b/mcs/class/WindowsBase/WindowsBase-net_2_0.csproj
deleted file mode 100644 (file)
index f945753..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{65F08514-3634-45C8-8EEB-6BAEA2EDC0C8}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>WindowsBase</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0;NET_3_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />\r
-    <Compile Include="System.Collections.Specialized\CollectionChangedEventManager.cs" />\r
-    <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />\r
-    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CurrentChangedEventManager.cs" />\r
-    <Compile Include="System.ComponentModel\CurrentChangingEventArgs.cs" />\r
-    <Compile Include="System.ComponentModel\CurrentChangingEventHandler.cs" />\r
-    <Compile Include="System.ComponentModel\CurrentChangingEventManager.cs" />\r
-    <Compile Include="System.ComponentModel\DependencyPropertyDescriptor.cs" />\r
-    <Compile Include="System.ComponentModel\GroupDescription.cs" />\r
-    <Compile Include="System.ComponentModel\ICollectionView.cs" />\r
-    <Compile Include="System.ComponentModel\ICollectionViewFactory.cs" />\r
-    <Compile Include="System.ComponentModel\IEditableCollectionView.cs" />\r
-    <Compile Include="System.ComponentModel\IEditableCollectionViewAddNewItem.cs" />\r
-    <Compile Include="System.ComponentModel\IItemProperties.cs" />\r
-    <Compile Include="System.ComponentModel\ItemPropertyInfo.cs" />\r
-    <Compile Include="System.ComponentModel\NewItemPlaceholderPosition.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyChangedEventManager.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyFilterAttribute.cs" />\r
-    <Compile Include="System.ComponentModel\PropertyFilterOptions.cs" />\r
-    <Compile Include="System.ComponentModel\SortDescription.cs" />\r
-    <Compile Include="System.ComponentModel\SortDescriptionCollection.cs" />\r
-    <Compile Include="System.Diagnostics\PresentationTraceLevel.cs" />\r
-    <Compile Include="System.Diagnostics\PresentationTraceSources.cs" />\r
-    <Compile Include="System.IO.Packaging\CertificateEmbeddingOption.cs" />\r
-    <Compile Include="System.IO.Packaging\Check.cs" />\r
-    <Compile Include="System.IO.Packaging\CompressionOption.cs" />\r
-    <Compile Include="System.IO.Packaging\EncryptedPackageEnvelope.cs" />\r
-    <Compile Include="System.IO.Packaging\EncryptionOption.cs" />\r
-    <Compile Include="System.IO.Packaging\InvalidSignatureEventHandler.cs" />\r
-    <Compile Include="System.IO.Packaging\Package.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageDigitalSignature.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageDigitalSignatureManager.cs" />\r
-    <Compile Include="System.IO.Packaging\PackagePart.cs" />\r
-    <Compile Include="System.IO.Packaging\PackagePartCollection.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageProperties.cs" />\r
-    <Compile Include="System.IO.Packaging\PackagePropertiesPart.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageRelationship.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageRelationshipCollection.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageRelationshipSelector.cs" />\r
-    <Compile Include="System.IO.Packaging\PackageRelationshipSelectorType.cs" />\r
-    <Compile Include="System.IO.Packaging\PackUriHelper.cs" />\r
-    <Compile Include="System.IO.Packaging\PackUriParser.cs" />\r
-    <Compile Include="System.IO.Packaging\RightsManagementInformation.cs" />\r
-    <Compile Include="System.IO.Packaging\SignatureVerificationEventArgs.cs" />\r
-    <Compile Include="System.IO.Packaging\StorageInfo.cs" />\r
-    <Compile Include="System.IO.Packaging\StreamInfo.cs" />\r
-    <Compile Include="System.IO.Packaging\TargetMode.cs" />\r
-    <Compile Include="System.IO.Packaging\VerifyResult.cs" />\r
-    <Compile Include="System.IO.Packaging\ZipPackage.cs" />\r
-    <Compile Include="System.IO.Packaging\ZipPackagePart.cs" />\r
-    <Compile Include="System.IO.Packaging\ZipPartStream.cs" />\r
-    <Compile Include="System.IO\FileFormatException.cs" />\r
-    <Compile Include="System.Security.Permissions\MediaPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\MediaPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\MediaPermissionAudio.cs" />\r
-    <Compile Include="System.Security.Permissions\MediaPermissionImage.cs" />\r
-    <Compile Include="System.Security.Permissions\MediaPermissionVideo.cs" />\r
-    <Compile Include="System.Security.Permissions\WebBrowserPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\WebBrowserPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\WebBrowserPermissionLevel.cs" />\r
-    <Compile Include="System.Security.RightsManagement\AuthenticationType.cs" />\r
-    <Compile Include="System.Security.RightsManagement\ContentGrant.cs" />\r
-    <Compile Include="System.Security.RightsManagement\ContentRight.cs" />\r
-    <Compile Include="System.Security.RightsManagement\ContentUser.cs" />\r
-    <Compile Include="System.Security.RightsManagement\CryptoProvider.cs" />\r
-    <Compile Include="System.Security.RightsManagement\LocalizedNameDescriptionPair.cs" />\r
-    <Compile Include="System.Security.RightsManagement\PublishLicense.cs" />\r
-    <Compile Include="System.Security.RightsManagement\RightsManagementException.cs" />\r
-    <Compile Include="System.Security.RightsManagement\RightsManagementFailureCode.cs" />\r
-    <Compile Include="System.Security.RightsManagement\SecureEnvironment.cs" />\r
-    <Compile Include="System.Security.RightsManagement\UnsignedPublishLicense.cs" />\r
-    <Compile Include="System.Security.RightsManagement\UseLicense.cs" />\r
-    <Compile Include="System.Security.RightsManagement\UserActivationMode.cs" />\r
-    <Compile Include="System.Windows.Converters\Int32RectValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Converters\PointValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Converters\RectValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Converters\SizeValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Converters\VectorValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Data\DataSourceProvider.cs" />\r
-    <Compile Include="System.Windows.Input\FocusNavigationDirection.cs" />\r
-    <Compile Include="System.Windows.Input\Key.cs" />\r
-    <Compile Include="System.Windows.Input\KeyConverter.cs" />\r
-    <Compile Include="System.Windows.Input\KeyInterop.cs" />\r
-    <Compile Include="System.Windows.Input\KeyValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Input\ModifierKeys.cs" />\r
-    <Compile Include="System.Windows.Input\ModifierKeysConverter.cs" />\r
-    <Compile Include="System.Windows.Input\ModifierKeysValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Input\TraversalRequest.cs" />\r
-    <Compile Include="System.Windows.Interop\ComponentDispatcher.cs" />\r
-    <Compile Include="System.Windows.Interop\IKeyboardInputSink.cs" />\r
-    <Compile Include="System.Windows.Interop\IKeyboardInputSite.cs" />\r
-    <Compile Include="System.Windows.Interop\MSG.cs" />\r
-    <Compile Include="System.Windows.Interop\ThreadMessageEventHandler.cs" />\r
-    <Compile Include="System.Windows.Markup.Primitives\MarkupObject.cs" />\r
-    <Compile Include="System.Windows.Markup.Primitives\MarkupProperty.cs" />\r
-    <Compile Include="System.Windows.Markup\AmbientAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\ConstructorArgumentAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\ContentPropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\ContentWrapperAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\DateTimeValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Markup\DependsOnAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\DesignerSerializationOptions.cs" />\r
-    <Compile Include="System.Windows.Markup\DesignerSerializationOptionsAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\DictionaryKeyPropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\IComponentConnector.cs" />\r
-    <Compile Include="System.Windows.Markup\INameScope.cs" />\r
-    <Compile Include="System.Windows.Markup\InternalTypeHelper.cs" />\r
-    <Compile Include="System.Windows.Markup\IReceiveMarkupExtension.cs" />\r
-    <Compile Include="System.Windows.Markup\IValueSerializerContext.cs" />\r
-    <Compile Include="System.Windows.Markup\IXamlTypeResolver.cs" />\r
-    <Compile Include="System.Windows.Markup\MarkupExtension.cs" />\r
-    <Compile Include="System.Windows.Markup\MarkupExtensionReturnTypeAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\NameScopePropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\RootNamespaceAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\RuntimeNamePropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\ServiceProviders.cs" />\r
-    <Compile Include="System.Windows.Markup\TrimSurroundingWhitespaceAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\UidPropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\UsableDuringInitializationAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\ValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Markup\ValueSerializerAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\WhitespaceSignificantCollectionAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\XmlLangPropertyAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\XmlnsCompatibleWithAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\XmlnsDefinitionAttribute.cs" />\r
-    <Compile Include="System.Windows.Markup\XmlnsPrefixAttribute.cs" />\r
-    <Compile Include="System.Windows.Media.Converters\MatrixValueSerializer.cs" />\r
-    <Compile Include="System.Windows.Media\DisableDpiAwarenessAttribute.cs" />\r
-    <Compile Include="System.Windows.Media\Matrix.cs" />\r
-    <Compile Include="System.Windows.Media\MatrixConverter.cs" />\r
-    <Compile Include="System.Windows.Threading\Dispatcher.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherEventArgs.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherFrame.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherHookEventArgs.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherHookEventHandler.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherHooks.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherObject.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherOperation.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherOperationCallback.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherOperationStatus.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherPriority.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherProcessingDisabled.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherSynchronizationContext.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherTimer.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventArgs.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventHandler.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventArgs.cs" />\r
-    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventHandler.cs" />\r
-    <Compile Include="System.Windows\AttachedPropertyBrowsableAttribute.cs" />\r
-    <Compile Include="System.Windows\AttachedPropertyBrowsableForTypeAttribute.cs" />\r
-    <Compile Include="System.Windows\AttachedPropertyBrowsableWhenAttributePresentAttribute.cs" />\r
-    <Compile Include="System.Windows\CoerceValueCallback.cs" />\r
-    <Compile Include="System.Windows\DependencyObject.cs" />\r
-    <Compile Include="System.Windows\DependencyObjectType.cs" />\r
-    <Compile Include="System.Windows\DependencyProperty.cs" />\r
-    <Compile Include="System.Windows\DependencyPropertyChangedEventArgs.cs" />\r
-    <Compile Include="System.Windows\DependencyPropertyChangedEventHandler.cs" />\r
-    <Compile Include="System.Windows\DependencyPropertyKey.cs" />\r
-    <Compile Include="System.Windows\Expression.cs" />\r
-    <Compile Include="System.Windows\ExpressionConverter.cs" />\r
-    <Compile Include="System.Windows\Freezable.cs" />\r
-    <Compile Include="System.Windows\Int32Rect.cs" />\r
-    <Compile Include="System.Windows\Int32RectConverter.cs" />\r
-    <Compile Include="System.Windows\IWeakEventListener.cs" />\r
-    <Compile Include="System.Windows\LocalValueEntry.cs" />\r
-    <Compile Include="System.Windows\LocalValueEnumerator.cs" />\r
-    <Compile Include="System.Windows\Point.cs" />\r
-    <Compile Include="System.Windows\PointConverter.cs" />\r
-    <Compile Include="System.Windows\PropertyChangedCallback.cs" />\r
-    <Compile Include="System.Windows\PropertyMetadata.cs" />\r
-    <Compile Include="System.Windows\Rect.cs" />\r
-    <Compile Include="System.Windows\RectConverter.cs" />\r
-    <Compile Include="System.Windows\Size.cs" />\r
-    <Compile Include="System.Windows\SizeConverter.cs" />\r
-    <Compile Include="System.Windows\SplashScreen.cs" />\r
-    <Compile Include="System.Windows\ValidateValueCallback.cs" />\r
-    <Compile Include="System.Windows\Vector.cs" />\r
-    <Compile Include="System.Windows\VectorConverter.cs" />\r
-    <Compile Include="System.Windows\WeakEventManager.cs" />\r
-    <Compile Include="ZipSharp\IOFunctions.cs" />\r
-    <Compile Include="ZipSharp\NativeUnzip.cs" />\r
-    <Compile Include="ZipSharp\NativeZip.cs" />\r
-    <Compile Include="ZipSharp\UnzipArchive.cs" />\r
-    <Compile Include="ZipSharp\UnzipFileInfo.cs" />\r
-    <Compile Include="ZipSharp\UnzipHandle.cs" />\r
-    <Compile Include="ZipSharp\UnzipReadStream.cs" />\r
-    <Compile Include="ZipSharp\ZipArchive.cs" />\r
-    <Compile Include="ZipSharp\ZipFileInfo.cs" />\r
-    <Compile Include="ZipSharp\ZipHandle.cs" />\r
-    <Compile Include="ZipSharp\ZipStream.cs" />\r
-    <Compile Include="ZipSharp\ZipTime.cs" />\r
-    <Compile Include="ZipSharp\ZipWriteStream.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
diff --git a/mcs/class/WindowsBase/WindowsBase-tests-net_2_0.csproj b/mcs/class/WindowsBase/WindowsBase-tests-net_2_0.csproj
deleted file mode 100644 (file)
index cb8751f..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{0003181A-51C0-4874-A5CC-1C556517DF57}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\WindowsBase-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>WindowsBase_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Test\System.Collections.ObjectModel\ObservableCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\ReadOnlyObservableCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\CollectionChangedEventValidators.cs" />\r
-    <Compile Include="Test\System.Collections.Specialized\NotifyCollectionChangedEventArgsTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\CurrentChangingEventArgsTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\GroupDescriptionTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\PropertyFilterAttributeTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\SortDescriptionCollectionTest.cs" />\r
-    <Compile Include="Test\System.ComponentModel\SortDescriptionTest.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\FakePackage.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\FakePackagePart.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\FakePackagePartTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\FakePackageTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\FakeStream.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackagePartFileTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackagePartStreamTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackagePartTest.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackageRelationshipTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackageTest.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\PackUriHelperTests.cs" />\r
-    <Compile Include="Test\System.IO.Packaging\TestBase.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\ConstructorArgumentAttributeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\ContentPropertyAttributeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\ContentWrapperAttributeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\DateTimeValueSerializerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\DependsOnAttributeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\MarkupExtensionReturnTypeAttributeTest.cs" />\r
-    <Compile Include="Test\System.Windows.Markup\ValueSerializerTest.cs" />\r
-    <Compile Include="Test\System.Windows.Media\MatrixTest.cs" />\r
-    <Compile Include="Test\System.Windows.Threading\DispatcherTest.cs" />\r
-    <Compile Include="Test\System.Windows.Threading\DispatcherTimerTest.cs" />\r
-    <Compile Include="Test\System.Windows\DependencyObjectTest.cs" />\r
-    <Compile Include="Test\System.Windows\DependencyObjectTypeTest.cs" />\r
-    <Compile Include="Test\System.Windows\DependencyPropertyTest.cs" />\r
-    <Compile Include="Test\System.Windows\Int32RectConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows\Int32RectTest.cs" />\r
-    <Compile Include="Test\System.Windows\PointConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows\PointTest.cs" />\r
-    <Compile Include="Test\System.Windows\PropertyMetadataTest.cs" />\r
-    <Compile Include="Test\System.Windows\RectConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows\RectTest.cs" />\r
-    <Compile Include="Test\System.Windows\SizeConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows\SizeTest.cs" />\r
-    <Compile Include="Test\System.Windows\VectorConverterTest.cs" />\r
-    <Compile Include="Test\System.Windows\VectorTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\WindowsBase\WindowsBase-net_2_0.csproj">\r
-      <Project>{65F08514-3634-45C8-8EEB-6BAEA2EDC0C8}</Project>\r
-      <Name>WindowsBase\WindowsBase-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\WindowsBase\WindowsBase-net_2_0.csproj">\r
-      <Project>{65F08514-3634-45C8-8EEB-6BAEA2EDC0C8}</Project>\r
-      <Name>WindowsBase\WindowsBase-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System\System-net_2_0-2.csproj">\r
-      <Project>{1F3B168C-A4D0-44AA-B116-792D8804971F}</Project>\r
-      <Name>System\System-net_2_0-2</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.XML\System.Xml-net_2_0-1.csproj">\r
-      <Project>{080698DE-8AF0-496E-9AD7-58B6C605328A}</Project>\r
-      <Name>System.XML\System.Xml-net_2_0-1</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-net_2_0.csproj">\r
-      <Project>{FBEC45AD-4493-41EA-9BCC-F3F29A08EB9E}</Project>\r
-      <Name>System.Core\System.Core-net_2_0</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index 27b9c2014d258540bac0fc320a6e02e33711e2d0..2d43f635d0cf7e7f9396b8449d81796aedd1c882 100755 (executable)
@@ -1,7 +1,10 @@
 #!/bin/sh
 
 SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-export MONO_PATH=${MONO_PATH:-$SCRIPT_PATH/../lib/net_4_5/}
+CSHARP=$SCRIPT_PATH/../lib/net_4_5/csharp.exe
+MONO=$SCRIPT_PATH/../../../mono/mini/mono
+
+export MONO_PATH=${MONO_PATH:-$SCRIPT_PATH/../lib/net_4_5}
 
 TZ_FAILS=0
 TZ_COUNT=0
@@ -10,7 +13,7 @@ FORMAT="%a %b %d %T %Y"
 for tz in $(cd /usr/share/zoneinfo/; find * -type f -print); do
        TZ_COUNT=$(expr $TZ_COUNT + 1)
        SYS_DATETIME=$(date -ju -f "$FORMAT" "$(TZ=$tz date "+$FORMAT")" "+%s")
-       CS_DATETIME=$(TZ=$tz csharp -e '(int)(DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds;')
+       CS_DATETIME=$(TZ=$tz $MONO $CSHARP -e '(int)(DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds;')
        DIFF=$(expr $SYS_DATETIME - $CS_DATETIME)
        if [ "$DIFF" -gt "5" ] || [ "$DIFF" -lt "-5" ]; then
                TZ_FAILS=$(expr $TZ_FAILS + 1)
index b9a11912d07325883cef0c0f5900ec57fd48a5b7..a3853a5a37ba65462a28f4268b7bca49c18b33b8 100644 (file)
@@ -36,7 +36,8 @@ RESOURCE_FILES = \
        resources/collation.cjkKO.bin \
        resources/collation.cjkKOlv2.bin
 
-LOCAL_MCS_FLAGS = -unsafe -nostdlib -nowarn:612,618 -d:INSIDE_CORLIB -d:LIBC
+REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL
+LOCAL_MCS_FLAGS = -unsafe -nostdlib -nowarn:612,618 -d:INSIDE_CORLIB -d:LIBC $(REFERENCE_SOURCES_FLAGS)
 DEFAULT_REFERENCES =
 
 # System.IO/DirectoryInfoTest.cs needs Mono.Posix
diff --git a/mcs/class/corlib/ReferenceSources/Array.cs b/mcs/class/corlib/ReferenceSources/Array.cs
new file mode 100644 (file)
index 0000000..2d10164
--- /dev/null
@@ -0,0 +1,7 @@
+namespace System
+{
+       static class Array_ReferenceSources
+       {
+               internal const int MaxArrayLength = 0X7FEFFFFF;
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/corlib/ReferenceSources/Environment.cs b/mcs/class/corlib/ReferenceSources/Environment.cs
new file mode 100644 (file)
index 0000000..5377cfe
--- /dev/null
@@ -0,0 +1,22 @@
+using System.Globalization;
+
+namespace System
+{
+       partial class Environment
+       {
+               internal static string GetResourceString (string key)
+               {
+                       return key;
+               }
+
+               internal static string GetResourceString (string key, CultureInfo culture)
+               {
+                       return key;
+               }
+
+               internal static string GetResourceString (string key, params object[] values)
+               {
+                       return string.Format (CultureInfo.InvariantCulture, key, values);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/class/corlib/ReferenceSources/ExecutionContext.cs b/mcs/class/corlib/ReferenceSources/ExecutionContext.cs
new file mode 100644 (file)
index 0000000..8094fec
--- /dev/null
@@ -0,0 +1,32 @@
+namespace System.Threading
+{
+       partial class ExecutionContext
+       {
+               internal static ExecutionContext Capture (ref StackCrawlMark stackMark, CaptureOptions options)
+               {
+                       // For References sources compatibility only
+                       return null;
+               }
+
+           [Flags]
+           internal enum CaptureOptions
+           {
+               None = 0x00,
+
+               IgnoreSyncCtx = 0x01,       //Don't flow SynchronizationContext
+
+               OptimizeDefaultCase = 0x02, //Faster in the typical case, but can't show the result to users
+                                           // because they could modify the shared default EC.
+                                           // Use this only if you won't be exposing the captured EC to users.
+           }
+       }
+
+    [Serializable]
+    internal enum StackCrawlMark
+    {
+        LookForMe = 0,
+        LookForMyCaller = 1,
+        LookForMyCallersCaller = 2,
+        LookForThread = 3
+    }
+}
\ No newline at end of file
diff --git a/mcs/class/corlib/ReferenceSources/Helpers.cs b/mcs/class/corlib/ReferenceSources/Helpers.cs
new file mode 100644 (file)
index 0000000..e2fe31e
--- /dev/null
@@ -0,0 +1,10 @@
+namespace System.Collections
+{
+       static class HashHelpers
+       {
+               public static object GetEqualityComparerForSerialization (object comparer)
+               {
+                       return comparer;
+               }
+       }
+}
\ No newline at end of file
index 7f647f38216e3d7bbdffada5d46cdf4eeddae7b7..8f326784730fbc8a079997e04a8841aa612a9427 100644 (file)
@@ -371,12 +371,18 @@ namespace System.Collections.Generic {
                        return Array.GetLastIndex (_items, startIndex - count + 1, count, match);
                }
 
-               public void ForEach (Action <T> action)
+               public void ForEach (Action<T> action)
                {
                        if (action == null)
                                throw new ArgumentNullException ("action");
-                       for(int i=0; i < _size; i++)
-                               action(_items[i]);
+
+                       var version =_version;
+                       for (int i = 0; i < _size; i++) {
+                               if (_version != version)
+                                       throw Enumerator.GetModifiedCollectionException ();
+
+                               action (_items [i]);
+                       }
                }
                
                public Enumerator GetEnumerator ()
@@ -812,7 +818,7 @@ namespace System.Collections.Generic {
                                }
 
                                if (ver != l._version)
-                                       throw new InvalidOperationException ("Collection was modified; enumeration operation may not execute.");
+                                       throw GetModifiedCollectionException ();
 
                                next = -1;
                                return false;
@@ -825,7 +831,7 @@ namespace System.Collections.Generic {
                        void IEnumerator.Reset ()
                        {
                                if (ver != l._version)
-                                       throw new InvalidOperationException ("Collection was modified; enumeration operation may not execute.");
+                                       throw GetModifiedCollectionException ();
 
                                next = 0;
                                current = default (T);
@@ -834,13 +840,18 @@ namespace System.Collections.Generic {
                        object IEnumerator.Current {
                                get {
                                        if (ver != l._version)
-                                               throw new InvalidOperationException ("Collection was modified; enumeration operation may not execute.");
+                                               throw GetModifiedCollectionException ();
 
                                        if (next <= 0)
                                                throw new InvalidOperationException ();
                                        return current;
                                }
                        }
+
+                       internal static InvalidOperationException GetModifiedCollectionException ()
+                       {
+                               return new InvalidOperationException ("Collection was modified; enumeration operation may not execute.");
+                       }
                }
        }
 }
index ea7c6affa4aba7fac6818cf50c95c6405c97b830..5edf1fab803ff9f9743d644515f995d8aebe7df8 100644 (file)
@@ -670,7 +670,7 @@ namespace System.Globalization
                                //
                                // Be careful not to cause recursive CultureInfo initialization
                                //
-                               var msg = string.Format (InvariantCulture, "Culture ID {0} (0x{0:X4}) is not a supported culture.", culture.ToString (InvariantCulture));
+                               var msg = string.Format (InvariantCulture, "Culture ID {0} (0x{1}) is not a supported culture.", culture.ToString (InvariantCulture), culture.ToString ("X4", InvariantCulture));
 #if NET_4_0
                                throw new CultureNotFoundException ("culture", msg);
 #else
index cdb7a33db19c85573c2e4164f11b3404413d4239..edb30d3a48054f5564c45352c732bbedb7e35dcf 100644 (file)
@@ -104,7 +104,17 @@ namespace System.Runtime.CompilerServices
                        if (stateMachine == null)
                                throw new ArgumentNullException ("stateMachine");
                        
-                       stateMachine.MoveNext ();
+                       var thread = Thread.CurrentThread;
+                       var prev = default (ExecutionContext.Switcher);
+                       try {
+                               thread.BranchExecutionContext (out prev);
+                               stateMachine.MoveNext ();
+                       } finally {
+                               //
+                               // Any changes to ExecutionContext within MoveNext scope cannot leak out
+                               //
+                               thread.RestoreExecutionContext (ref prev);
+                       }
                }
        }
 }
index 9d539dfc42dc4f5bc56c71e5d94b8371432b5298..73b0d128107e5077a009e8f16e2cbea73b1ec0a7 100644 (file)
@@ -104,7 +104,17 @@ namespace System.Runtime.CompilerServices
                        if (stateMachine == null)
                                throw new ArgumentNullException ("stateMachine");
                        
-                       stateMachine.MoveNext ();
+                       var thread = Thread.CurrentThread;
+                       var prev = default (ExecutionContext.Switcher);
+                       try {
+                               thread.BranchExecutionContext (out prev);
+                               stateMachine.MoveNext ();
+                       } finally {
+                               //
+                               // Any changes to ExecutionContext within MoveNext scope cannot leak out
+                               //
+                               thread.RestoreExecutionContext (ref prev);
+                       }
                }
        }
 }
index 243984706ceaaf1c27f77ccacd711eaf450bcce6..e861f50df632e239d7dadb3a7106d6356d66f38e 100644 (file)
@@ -1583,33 +1583,34 @@ namespace System.Runtime.InteropServices
                        return GetExceptionForHR (errorCode, IntPtr.Zero);
                }
 
-               public static Exception GetExceptionForHR (int errorCode, IntPtr errorInfoPtr)
+               public static Exception GetExceptionForHR (int errorCode, IntPtr errorInfo)
                {
-                       IErrorInfo errorInfo = null;
-                       if (errorInfoPtr != (IntPtr)(-1)) {
-                               if (errorInfoPtr == IntPtr.Zero) {
-                                       if (GetErrorInfo (0, out errorInfo) != 0) {
-                                               errorInfo = null;
+#if !MOBILE
+                       IErrorInfo info = null;
+                       if (errorInfo != (IntPtr)(-1)) {
+                               if (errorInfo == IntPtr.Zero) {
+                                       if (GetErrorInfo (0, out info) != 0) {
+                                               info  = null;
                                        }
                                } else {
-                                       errorInfo = Marshal.GetObjectForIUnknown (errorInfoPtr) as IErrorInfo;
+                                       info  = Marshal.GetObjectForIUnknown (errorInfo) as IErrorInfo;
                                }
                        }
 
-                       if (errorInfo is ManagedErrorInfo && ((ManagedErrorInfo)errorInfo).Exception.hresult == errorCode) {
-                               return ((ManagedErrorInfo)errorInfo).Exception;
+                       if (info is ManagedErrorInfo && ((ManagedErrorInfo) info).Exception.hresult == errorCode) {
+                               return ((ManagedErrorInfo) info).Exception;
                        }
 
                        Exception e = ConvertHrToException (errorCode);
-                       if (errorInfo != null && e != null) {
+                       if (info != null && e != null) {
                                uint helpContext;
-                               errorInfo.GetHelpContext (out helpContext);
+                               info.GetHelpContext (out helpContext);
                                string str;
-                               errorInfo.GetSource (out str);
+                               info.GetSource (out str);
                                e.Source = str;
-                               errorInfo.GetDescription (out str);
+                               info.GetDescription (out str);
                                e.SetMessage (str);
-                               errorInfo.GetHelpFile (out str);
+                               info.GetHelpFile (out str);
 
                                if (helpContext == 0) {
                                        e.HelpLink = str;
@@ -1618,6 +1619,9 @@ namespace System.Runtime.InteropServices
                                }
                        }
                        return e;
+#else
+                       return ConvertHrToException (errorCode);
+#endif
                }
 
 #if !FULL_AOT_RUNTIME
index 8fe846c632e7a63069c19a3ba18085581372dd91..a4f55e5d82d632a9b40692f0a403837c390fc85e 100644 (file)
@@ -71,8 +71,9 @@ namespace System.Runtime.Remoting.Messaging
                        if (data is ILogicalThreadAffinative) {
                                LogicalSetData (name, data);
                        } else {
-                               LogicalContext.FreeNamedDataSlot (name);
-                               Datastore [name] = data;
+                               var ec = ExecutionContext.GetCurrentWritable ();
+                               ec.LogicalCallContext.FreeNamedDataSlot (name);
+                               ec.DataStore [name] = data;
                        }
                }
                
@@ -83,8 +84,9 @@ namespace System.Runtime.Remoting.Messaging
 
                public static void LogicalSetData (string name, object data) 
                {
-                       Datastore.Remove (name);
-                       LogicalContext.SetData (name, data);
+                       var ec = ExecutionContext.GetCurrentWritable ();
+                       ec.DataStore.Remove (name);
+                       ec.LogicalCallContext.SetData (name, data);
                }
 
                public static Header[] GetHeaders () 
index d0b723d285ed4dbd9d5800d7e1a95bce6fa9bee8..7c471baf7c0220a7cd84270c1d765274041be5f3 100644 (file)
@@ -55,7 +55,7 @@ namespace System.Threading.Tasks
                        
                        // Take care of growing
                        var size = b - top - upperBound;
-                       if (size > a.Size) {
+                       if (size >= a.Size) {
                                upperBound = top;
                                a = a.Grow (b, upperBound);
                                array = a;
index d62df9a7e68f98237ca537dce7d41da4df0b4a0c..392458680e1220f3718fc9698d847703bbe3737a 100644 (file)
@@ -448,7 +448,7 @@ namespace System.Threading.Tasks
                        return ForEach<TSource, object> (Partitioner.Create (source),
                                                         ParallelOptions.Default,
                                                         () => null,
-                                                        (e, s, l) => { body (e, s, -1); return null; },
+                                                        (e, s, i, l) => { body (e, s, i); return null; },
                                                         _ => {});
                }
 
index 4f4abd33e9cd8365c7919c890e59d3f4acf04a8e..7ca9a591a0c20e6dc08c5ea307dae04102a6dd4d 100644 (file)
@@ -486,9 +486,7 @@ namespace System.Threading.Tasks
                        }
 
                        if (cancellation) {
-                               ExceptionSlot.Exception = aggregate;
-                               Thread.MemoryBarrier ();
-
+                               ExceptionSlot.SetException (aggregate);
                                CancelReal ();
                        } else {
                                HandleGenericException (aggregate);
@@ -619,12 +617,15 @@ namespace System.Threading.Tasks
                        if (exSlot == null || exSlot.ChildExceptions == null)
                                return;
 
-                       if (ExceptionSlot.Exception == null)
-                               exSlot.Exception = new AggregateException ();
+                       var exceptions = new List<Exception> ();
+                       if (exSlot.Exception != null)
+                               exceptions.AddRange (exSlot.Exception.InnerExceptions);
 
                        AggregateException childEx;
                        while (exSlot.ChildExceptions.TryDequeue (out childEx))
-                               exSlot.Exception.AddChildException (childEx);
+                               exceptions.Add (childEx);
+
+                       exSlot.SetException (new AggregateException (exceptions));
 
                        if (isParent) {
                                Status = TaskStatus.Faulted;
@@ -655,7 +656,7 @@ namespace System.Threading.Tasks
 
                void HandleGenericException (AggregateException e)
                {
-                       ExceptionSlot.Exception = e;
+                       ExceptionSlot.SetException (e);
                        Thread.MemoryBarrier ();
                        Status = TaskStatus.Faulted;
 
index 8ede25eebe4f4c81e23bc67e0583afb05b444ee6..16869c5f83406ec7af7eb61fa863b47cccc1e97c 100644 (file)
@@ -113,10 +113,16 @@ namespace System.Threading.Tasks
        class AwaiterActionContinuation : IContinuation
        {
                readonly Action action;
+               readonly ExecutionContext ec;
 
                public AwaiterActionContinuation (Action action)
                {
                        this.action = action;
+
+                       // Capture execution context because the continuation can be inlined
+                       // and we still need to run in original exection context regardless
+                       // of UnsafeOnCompleted/OnCompleted entry
+                       ec = ExecutionContext.Capture (false, true);                    
                }
 
                public void Execute ()
@@ -126,7 +132,10 @@ namespace System.Threading.Tasks
                        // because the context where the awaiter task is set to completed can be anywhere (due to TaskCompletionSource)
                        //
                        if ((SynchronizationContext.Current == null || SynchronizationContext.Current.GetType () == typeof (SynchronizationContext)) && TaskScheduler.IsDefault) {
-                               action ();
+                               if (ec != null)
+                                       ExecutionContext.Run (ec, l => ((Action)l) (), action);
+                               else
+                                       action ();
                        } else {
                                ThreadPool.UnsafeQueueUserWorkItem (l => ((Action) l) (), action);
                        }
@@ -389,4 +398,4 @@ namespace System.Threading.Tasks
        }
 }
 
-#endif
+#endif
\ No newline at end of file
index a2ef56553610275d82870b81fff6acfec58de121..c20fbdafd38aa35cf5862110211cebce5b6eeea0 100644 (file)
 
 using System;
 using System.Collections.Concurrent;
+using System.Runtime.ExceptionServices;
 
 namespace System.Threading.Tasks
 {
        internal class TaskExceptionSlot
        {
-               public volatile AggregateException  Exception;
                public volatile bool                Observed;
                public ConcurrentQueue<AggregateException> ChildExceptions;
 
-               Task parent;
+               volatile AggregateException exception;
+#if NET_4_5
+               volatile ExceptionDispatchInfo dispatchInfo;
+#endif
+               readonly Task parent;
 
                public TaskExceptionSlot (Task parent)
                {
                        this.parent = parent;
                }
 
+               public AggregateException Exception {
+                       get {
+                               return exception;
+                       }
+               }
+
+               public void SetException (AggregateException exception)
+               {
+#if NET_4_5                    
+                       if (dispatchInfo == null) {
+                               //
+                               // Used by task awaiter to rethrow an exception with original call stack, it's
+                               // needed for first exception only
+                               //
+                               dispatchInfo = ExceptionDispatchInfo.Capture (exception.InnerException);
+                       }
+#endif
+                       this.exception = exception;
+               }
+
                ~TaskExceptionSlot ()
                {
                        if (Exception != null && !Observed && !TaskScheduler.FireUnobservedEvent (parent, Exception).Observed) {
index 787d8394eeeeca71ebd56c84427e8bbc19aa31f6..f312223e02e168027ab13e591b4c2a4ffbfe2b40 100644 (file)
@@ -38,11 +38,46 @@ using System.Collections.Generic;
 
 namespace System.Threading {
        [Serializable]
-       public sealed class ExecutionContext : ISerializable
+       public sealed partial class ExecutionContext : ISerializable
 #if NET_4_0
-               , IDisposable
+           , IDisposable
 #endif
        {
+               internal struct Switcher
+               {
+                       readonly ExecutionContext ec;
+                       readonly LogicalCallContext _lcc;
+                       readonly bool _suppressFlow;
+                       readonly bool _capture;
+                       readonly Dictionary<string, object> local_data;
+                       readonly bool copy_on_write;
+
+                       public Switcher (ExecutionContext ec)
+                       {
+                               this.ec = ec;
+                               this._lcc = ec._lcc;
+                               this._suppressFlow = ec._suppressFlow;
+                               this._capture = ec._capture;
+                               this.local_data = ec.local_data;
+                               this.copy_on_write = ec.CopyOnWrite;
+                       }
+
+                       public bool IsEmpty {
+                               get {
+                                       return ec == null;
+                               }
+                       }
+
+                       public void Restore (ExecutionContext ec)
+                       {
+                               ec._lcc = this._lcc;
+                               ec._suppressFlow = this._suppressFlow;
+                               ec._capture = this._capture;
+                               ec.local_data = this.local_data;
+                               ec.CopyOnWrite = this.copy_on_write;
+                       }
+               }
+
 #if !MOBILE
                private SecurityContext _sc;
 #endif
@@ -57,15 +92,20 @@ namespace System.Threading {
 
                private ExecutionContext (ExecutionContext ec)
                {
+                       CloneData (ec);
+
+                       _suppressFlow = ec._suppressFlow;
+                       _capture = true;
+               }
+
+               void CloneData (ExecutionContext ec)
+               {
 #if !MOBILE
                        if (ec._sc != null)
                                _sc = new SecurityContext (ec._sc);
 #endif
                        if (ec._lcc != null)
                                _lcc = (LogicalCallContext) ec._lcc.Clone ();
-
-                       _suppressFlow = ec._suppressFlow;
-                       _capture = true;
                }
                
                [MonoTODO]
@@ -81,7 +121,11 @@ namespace System.Threading {
                
                internal static ExecutionContext Capture (bool captureSyncContext, bool nullOnEmpty)
                {
-                       ExecutionContext ec = Current;
+                       var thread = Thread.CurrentThread;
+                       if (nullOnEmpty && !thread.HasExecutionContext)
+                               return null;
+
+                       var ec = thread.ExecutionContext;
                        if (ec.FlowSuppressed)
                                return null;
 
@@ -167,6 +211,8 @@ namespace System.Threading {
                        set { _suppressFlow = value; }
                }
 
+               internal bool CopyOnWrite { get; set; }
+
                public static bool IsFlowSuppressed ()
                {
                        return Current.FlowSuppressed;
@@ -232,5 +278,16 @@ namespace System.Threading {
                                return Thread.CurrentThread.ExecutionContext;
                        }
                }
+
+               internal static ExecutionContext GetCurrentWritable ()
+               {
+                       var current = Thread.CurrentThread.ExecutionContext;
+                       if (current.CopyOnWrite) {
+                               current.CopyOnWrite = false;
+                               current.CloneData (current);
+                       }
+
+                       return current;
+               }
        }
-}
\ No newline at end of file
+}
diff --git a/mcs/class/corlib/System.Threading/ExecutionContextSwitcher.cs b/mcs/class/corlib/System.Threading/ExecutionContextSwitcher.cs
deleted file mode 100644 (file)
index 176a013..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// 
-// System.Threading.ExecutionContextSwitcher.cs
-//
-// Author:
-//   Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using System.Runtime.ConstrainedExecution;
-using System.Runtime.InteropServices;
-
-namespace System.Threading 
-{
-       [ComVisible (false)]
-       public struct ExecutionContextSwitcher : IDisposable
-       {
-               [MonoTODO]
-               public override bool Equals (object ob)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               [MonoTODO]
-               public override int GetHashCode ()
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               [MonoTODO]
-               public static bool operator == (ExecutionContextSwitcher c1, ExecutionContextSwitcher c2)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               [MonoTODO]
-               public static bool operator != (ExecutionContextSwitcher c1, ExecutionContextSwitcher c2)
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               [MonoTODO]
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.MayFail)]
-               public void Undo ()
-               {
-                       throw new NotImplementedException ();
-               }
-               
-               [MonoTODO]
-               void IDisposable.Dispose()
-               {
-                       throw new NotImplementedException ();
-               }
-       }
-}
-
index d6a289e76b5a1754dfb0cc08774185b39a13d62a..8b2d4dca9cd879ebbd871290c2a9024cbc8bb733 100644 (file)
@@ -226,14 +226,17 @@ namespace System.Threading
 
 #endif
 
-#if NET_4_5
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                extern static bool Monitor_test_owner (object obj);
-               
-               public static bool IsEntered (object obj)
+
+#if NET_4_5            
+               public
+#else
+               internal
+#endif
+               static bool IsEntered (object obj)
                {
                        return Monitor_test_owner(obj);
                }
-#endif
        }
 }
index a52d8d1258506712ba856214353c4a4468fc517b..985c8613d8a1da9c10b0c34ae1ab05b7460ec126 100644 (file)
@@ -869,6 +869,32 @@ namespace System.Threading {
                        }
                }
 
+               internal bool HasExecutionContext {
+                       get {
+                               return _ec != null;
+                       }
+               }
+
+               internal void BranchExecutionContext (out ExecutionContext.Switcher switcher)
+               {
+                       if (_ec == null) {
+                               switcher =  new ExecutionContext.Switcher ();
+                       } else {
+                               switcher = new ExecutionContext.Switcher (_ec);
+                               _ec.CopyOnWrite = true;
+                       }
+               }
+
+               internal void RestoreExecutionContext (ref ExecutionContext.Switcher switcher)
+               {
+                       if (switcher.IsEmpty) {
+                               _ec = null;
+                               return;
+                       }
+
+                       switcher.Restore (_ec);
+               }
+
                public int ManagedThreadId {
                        [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
                        get {
index 66f661b2ee3752c2422358d26fe15fa697558ff9..8cca9840e5380b0bdc0a6ff599f54550039f1124 100644 (file)
@@ -38,8 +38,6 @@ namespace System.Threading {
        {
                public const int Infinite = -1;
 
-#if NET_4_5
                public static readonly TimeSpan InfiniteTimeSpan = new TimeSpan (0, 0, 0, 0, -1);
-#endif
        }
 }
index 92646ceee50fc429aa06c0cac5f1e158cad875bf..6460f728492fa2209f22338eead7d24705b6bbd5 100644 (file)
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-#if NET_4_5
-
 using System.Runtime.ConstrainedExecution;
 using System.Runtime.CompilerServices;
 
 namespace System.Threading
 {
-       public static class Volatile
+#if NET_4_5
+       public
+#endif
+       static class Volatile
        {
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
@@ -156,5 +157,3 @@ namespace System.Threading
                public extern static void Write<T>(ref T location, T value) where T : class;
        }
 }
-
-#endif
index 769ba549db1219fbf164c3068d011650a51cd953..ec99bc190cfd5421c42356028611df6fd6101ae4 100644 (file)
@@ -126,16 +126,6 @@ namespace System
                        }
                }
 
-               internal void AddChildException (AggregateException childEx)
-               {
-                       if (innerExceptions == null)
-                               innerExceptions = new List<Exception> ();
-                       if (childEx == null)
-                               return;
-
-                       innerExceptions.Add (childEx);
-               }
-               
                public override string ToString ()
                {
                        System.Text.StringBuilder finalMessage = new System.Text.StringBuilder (base.ToString ());
index 0dc4231858d9165a028c2be176190532b13610bc..3ff8c32cc45cf641d28cbc9e1e30255ff5b2bc1e 100644 (file)
@@ -623,6 +623,16 @@ namespace MonoTests.System.Collections.Generic {
                        Assert.AreEqual (418, i);
                }
 
+               [Test]
+               public void ForEach_Modified ()
+               {
+                       try {
+                               _list1.ForEach (l => _list1.Add (0));
+                               Assert.Fail ();
+                       } catch (InvalidOperationException) {
+                       }
+               }
+
                [Test]
                public void FindLastIndexTest ()
                {
index f65ac28ef5ed8bed9c4d2c680c158dc52b6286d5..4aecf73b87e49354ba00c42e6d6a9d769df8297f 100644 (file)
@@ -11,6 +11,7 @@
 using System;
 using System.Reflection;
 using System.Reflection.Emit;
+using System.Runtime.InteropServices;
 using System.Text;
 
 using NUnit.Framework;
@@ -452,6 +453,62 @@ namespace MonoTests.System.Reflection.Emit
                        Assert.AreEqual (dm.Name, res.Name, "#1");
 
                }
+
+               [StructLayout (LayoutKind.Explicit)]
+               struct SizeOfTarget {
+                       [FieldOffset (0)] public int X;
+                       [FieldOffset (4)] public int Y;
+               }
+
+               [Test]
+               public void SizeOf ()
+               {
+                       var method = new DynamicMethod ("", typeof (int), Type.EmptyTypes);
+                       var il = method.GetILGenerator ();
+                       il.Emit (OpCodes.Sizeof, typeof (SizeOfTarget));
+                       il.Emit (OpCodes.Ret);
+
+                       var func = (Func<int>) method.CreateDelegate (typeof (Func<int>));
+                       var point_size = func ();
+
+                       Assert.AreEqual (8, point_size);
+               }
+
+               class TypedRefTarget {
+                       public string Name;
+               }
+
+               [Test]
+               public void TypedRef ()
+               {
+                       var method = new DynamicMethod ("", typeof (TypedRefTarget), new [] {typeof (TypedRefTarget)}, true);
+                       var il = method.GetILGenerator ();
+                       var tr = il.DeclareLocal (typeof (TypedReference));
+
+                       il.Emit (OpCodes.Ldarga, 0);
+                       il.Emit (OpCodes.Mkrefany, typeof (TypedRefTarget));
+                       il.Emit (OpCodes.Stloc, tr);
+
+                       il.Emit (OpCodes.Ldloc, tr);
+                       il.Emit (OpCodes.Call, GetType ().GetMethod ("AssertTypedRef", BindingFlags.NonPublic | BindingFlags.Static));
+
+                       il.Emit (OpCodes.Ldloc, tr);
+                       il.Emit (OpCodes.Refanyval, typeof (TypedRefTarget));
+                       il.Emit (OpCodes.Ldobj, typeof (TypedRefTarget));
+                       il.Emit (OpCodes.Ret);
+
+                       var f = (Func<TypedRefTarget, TypedRefTarget>) method.CreateDelegate (typeof (Func<TypedRefTarget, TypedRefTarget>));
+
+                       var target = new TypedRefTarget { Name = "Foo" };
+                       var rt = f (target);
+
+                       Assert.AreEqual (target, rt);
+               }
+
+               private static void AssertTypedRef (TypedReference tr)
+               {
+                       Assert.AreEqual (typeof (TypedRefTarget), TypedReference.GetTargetType (tr));
+               }
        }
 }
 
diff --git a/mcs/class/corlib/Test/System.Runtime.CompilerServices/AsyncTaskMethodBuilderTest.cs b/mcs/class/corlib/Test/System.Runtime.CompilerServices/AsyncTaskMethodBuilderTest.cs
new file mode 100644 (file)
index 0000000..2a6165a
--- /dev/null
@@ -0,0 +1,66 @@
+//
+// AsyncTaskMethodBuilderTest.cs
+//
+// Authors:
+//     Marek Safar  <marek.safar@gmail.com>
+//
+// Copyright (C) 2014 Xamarin, Inc (http://www.xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_5
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using NUnit.Framework;
+using System.Runtime.CompilerServices;
+using System.Runtime.Remoting.Messaging;
+
+namespace MonoTests.System.Runtime.CompilerServices
+{
+       [TestFixture]
+       public class AsyncTaskMethodBuilderTest
+       {
+               [Test]
+               public void CallContextFlow ()
+               {
+                       CallContext.LogicalSetData ("name0", "0");
+
+                       Task.WhenAll (Work ("A"), Work ("B")).Wait ();
+                       Assert.IsNull (CallContext.LogicalGetData ("A"), "#A");
+                       Assert.IsNull (CallContext.LogicalGetData ("B"), "#B");
+               }
+
+               static async Task Work (string name)
+               {
+                       Assert.AreEqual ("0", CallContext.LogicalGetData ("name0"), "#1" + name);
+                       CallContext.LogicalSetData ("name", name);
+
+                       await Task.Delay (10);
+
+                       var found = CallContext.LogicalGetData ("name");
+                       Assert.AreEqual (name, found, "#2" + name);
+               }
+       }
+}
+
+#endif
\ No newline at end of file
index 0980b4ac3aec500ba49d190bcf911e3b1ccda47f..31242816cd8b55d9d5da0746dcdabb52d4b5bdf7 100644 (file)
@@ -88,6 +88,37 @@ namespace MonoTests.System.Runtime.CompilerServices
                        }
                }
 
+               [Category ("NotWorking")] // Bug #18629
+               [Test]
+               public void GetResultAfterMultipleExceptions ()
+               {
+                       TaskAwaiter<object> awaiter;
+                       CreateFaultedAwaiter (out awaiter);
+                       try {
+                               awaiter.GetResult ();
+                               Assert.Fail ();
+                       } catch (AggregateException ae) {
+                               Assert.IsFalse (ae.StackTrace.Contains ("--- End"), "#1");
+                               Assert.IsTrue (ae.StackTrace.Contains ("CreateFaultedAwaiter"), "#2");
+                       }
+               }
+
+               static void CreateFaultedAwaiter (out TaskAwaiter<object> awaiter)
+               {
+                       var faultedSource = new TaskCompletionSource<object>();
+                       faultedSource.SetException(new Exception());
+                       awaiter = faultedSource.Task.GetAwaiter ();
+                       try {
+                               awaiter.GetResult ();
+                       } catch {
+                       }
+
+                       try {
+                               awaiter.GetResult ();
+                       } catch {
+                       }
+               }
+
                [Test]
                public void GetResultCanceled ()
                {
index 472b71a2583246b4ccd6630fac59c9c4da6ec788..4f381c1c9e864e0abfc6590697aebdf3b9a93326 100644 (file)
@@ -115,6 +115,16 @@ namespace MonoTests.System.Threading.Tasks
                        });
                }
 
+               [Test]
+               public void ParallelForEachTestCaseWithIndex ()
+               {
+                       var list = new List<int> { 0, 1, 2, 3, 4 };
+
+                       Parallel.ForEach (list, (l, s, i) => {
+                               Assert.AreEqual (l, i, "#1");
+                       });
+               }
+
                class ValueAndSquare
                { 
                        public float Value { get; set; }
index 524988828b96e23defe7013539d02c1fbf604c0e..1ad12d0088032888f86984ef67bd974ffffe9995 100644 (file)
@@ -807,15 +807,20 @@ namespace MonoTests.System.Threading.Tasks
                                                        finished ++;
                                                        Monitor.Pulse (monitor);
                                                }
-                                               return r;
+                                               return r ? 1 : 10; //1 -> ok, 10 -> evt wait failed
                                        });
                                var cntd = new CountdownEvent (2);
                                var cntd2 = new CountdownEvent (2);
 
-                               bool r1 = false, r2 = false;
+                               int r1 = 0, r2 = 0;
                                ThreadPool.QueueUserWorkItem (delegate {
                                                cntd.Signal ();
-                                               r1 = t.Wait (1000) && t.Result;
+                                               if (!t.Wait (1000))
+                                                       r1 = 20; // 20 -> task wait failed
+                                               else if (t.Result != 1)
+                                                       r1 = 30 + t.Result; // 30 -> task result is bad
+                                               else
+                                                       r1 = 2; //2 -> ok
                                                cntd2.Signal ();
                                                lock (monitor) {
                                                        finished ++;
@@ -824,7 +829,13 @@ namespace MonoTests.System.Threading.Tasks
                                        });
                                ThreadPool.QueueUserWorkItem (delegate {
                                                cntd.Signal ();
-                                               r2 = t.Wait (1000) && t.Result;
+                                               if (!t.Wait (1000))
+                                                       r2 = 40; // 40 -> task wait failed
+                                               else if (t.Result != 1)
+                                                       r2 = 50 + t.Result; // 50 -> task result is bad
+                                               else
+                                                       r2 = 3; //3 -> ok
+
                                                cntd2.Signal ();
                                                lock (monitor) {
                                                        finished ++;
@@ -834,8 +845,8 @@ namespace MonoTests.System.Threading.Tasks
                                Assert.IsTrue (cntd.Wait (2000), "#1");
                                evt.Set ();
                                Assert.IsTrue (cntd2.Wait (2000), "#2");
-                               Assert.IsTrue (r1, "r1");
-                               Assert.IsTrue (r2, "r2");
+                               Assert.AreEqual (2, r1, "r1");
+                               Assert.AreEqual (3, r2, "r2");
 
                                // Wait for everything to finish to avoid overloading the tpool
                                lock (monitor) {
index 0694ef80b63ee7808bf39187837f2dcbd9c59f8f..ebb0433c2a217fb23dcc501ac31bf652c005682d 100644 (file)
@@ -230,7 +230,7 @@ namespace MonoTests.System.Threading
                                int count = 2;
                                SpinWait wait = new SpinWait ();
 
-                               ThreadPool.QueueUserWorkItem (_ => { mre.Set (); Interlocked.Decrement (ref count); });
+                               ThreadPool.QueueUserWorkItem (_ => { while (count > 1) wait.SpinOnce (); mre.Set (); Interlocked.Decrement (ref count); });
                                ThreadPool.QueueUserWorkItem (_ => { mre.Reset (); Interlocked.Decrement (ref count); });
 
                                while (count > 0)
diff --git a/mcs/class/corlib/basic_corlib.dll.sources b/mcs/class/corlib/basic_corlib.dll.sources
new file mode 100644 (file)
index 0000000..5268a3a
--- /dev/null
@@ -0,0 +1,1677 @@
+Assembly/AssemblyInfo.cs
+../../build/common/Consts.cs
+../../build/common/Locale.cs
+Microsoft.Win32/IRegistryApi.cs
+Microsoft.Win32/RegistryKey.cs
+Microsoft.Win32/RegistryKeyPermissionCheck.cs
+Microsoft.Win32/Registry.cs
+Microsoft.Win32/RegistryHive.cs
+Microsoft.Win32/RegistryOptions.cs
+Microsoft.Win32/RegistryValueKind.cs
+Microsoft.Win32/RegistryValueOptions.cs
+Microsoft.Win32/RegistryView.cs
+Microsoft.Win32/UnixRegistryApi.cs
+Microsoft.Win32/Win32RegistryApi.cs
+Microsoft.Win32/Win32ResultCode.cs
+Microsoft.Win32.SafeHandles/CriticalHandleZeroOrMinusOneIsInvalid.cs
+Microsoft.Win32.SafeHandles/CriticalHandleMinusOneIsInvalid.cs
+Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs
+Microsoft.Win32.SafeHandles/SafeHandleMinusOneIsInvalid.cs
+Microsoft.Win32.SafeHandles/SafeFileHandle.cs
+Microsoft.Win32.SafeHandles/SafeRegistryHandle.cs
+Microsoft.Win32.SafeHandles/SafeWaitHandle.cs
+Mono.Globalization.Unicode/CodePointIndexer.cs
+Mono.Globalization.Unicode/MSCompatUnicodeTable.cs
+Mono.Globalization.Unicode/MSCompatUnicodeTableUtil.cs
+Mono.Globalization.Unicode/SimpleCollator.cs
+Mono.Globalization.Unicode/SortKey.cs
+Mono.Globalization.Unicode/SortKeyBuffer.cs
+Mono.Globalization.Unicode/Normalization.cs
+Mono.Globalization.Unicode/NormalizationTableUtil.cs
+Mono/Runtime.cs
+Mono/DataConverter.cs
+Mono.Interop/ComInteropProxy.cs
+Mono.Interop/IDispatch.cs
+Mono.Interop/IUnknown.cs
+../Mono.Security/Mono.Math/BigInteger.cs
+../Mono.Security/Mono.Math.Prime/ConfidenceFactor.cs
+../Mono.Security/Mono.Math.Prime/PrimalityTests.cs
+../Mono.Security/Mono.Math.Prime.Generator/NextPrimeFinder.cs
+../Mono.Security/Mono.Math.Prime.Generator/PrimeGeneratorBase.cs
+../Mono.Security/Mono.Math.Prime.Generator/SequentialSearchPrimeGeneratorBase.cs
+../Mono.Security/Mono.Security/ASN1.cs
+../Mono.Security/Mono.Security/ASN1Convert.cs
+../Mono.Security/Mono.Security/BitConverterLE.cs
+../Mono.Security/Mono.Security/PKCS7.cs
+../Mono.Security/Mono.Security/StrongName.cs
+Mono.Security/StrongNameManager.cs
+Mono.Security/Uri.cs
+../Mono.Security/Mono.Security.Authenticode/AuthenticodeBase.cs
+../Mono.Security/Mono.Security.Authenticode/AuthenticodeDeformatter.cs
+../Mono.Security/Mono.Security.Cryptography/ARC4Managed.cs
+../Mono.Security/Mono.Security.Cryptography/CryptoConvert.cs
+../Mono.Security/Mono.Security.Cryptography/CryptoTools.cs
+Mono.Security.Cryptography/DSAManaged.cs
+Mono.Security.Cryptography/HMACAlgorithm.cs
+../Mono.Security/Mono.Security.Cryptography/KeyPairPersistence.cs
+Mono.Security.Cryptography/MACAlgorithm.cs
+../Mono.Security/Mono.Security.Cryptography/MD2.cs
+../Mono.Security/Mono.Security.Cryptography/MD2Managed.cs
+../Mono.Security/Mono.Security.Cryptography/MD4.cs
+../Mono.Security/Mono.Security.Cryptography/MD4Managed.cs
+../Mono.Security/Mono.Security.Cryptography/PKCS1.cs
+../Mono.Security/Mono.Security.Cryptography/PKCS8.cs
+../Mono.Security/Mono.Security.Cryptography/RC4.cs
+../Mono.Security/Mono.Security.Cryptography/RSAManaged.cs
+../Mono.Security/Mono.Security.Cryptography/SymmetricTransform.cs
+../Mono.Security/Mono.Security.X509/PKCS12.cs
+../Mono.Security/Mono.Security.X509/X501Name.cs
+../Mono.Security/Mono.Security.X509/X509Certificate.cs
+../Mono.Security/Mono.Security.X509/X509CertificateCollection.cs
+../Mono.Security/Mono.Security.X509/X509Chain.cs
+../Mono.Security/Mono.Security.X509/X509ChainStatusFlags.cs
+../Mono.Security/Mono.Security.X509/X509CRL.cs
+../Mono.Security/Mono.Security.X509/X509Extension.cs
+../Mono.Security/Mono.Security.X509/X509Extensions.cs
+../Mono.Security/Mono.Security.X509/X509Store.cs
+../Mono.Security/Mono.Security.X509/X509Stores.cs
+../Mono.Security/Mono.Security.X509/X509StoreManager.cs
+../Mono.Security/Mono.Security.X509/X520Attributes.cs
+../Mono.Security/Mono.Security.X509.Extensions/BasicConstraintsExtension.cs
+../Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs
+../Mono.Security/Mono.Security.X509.Extensions/SubjectKeyIdentifierExtension.cs
+Mono.Xml/SmallXmlParser.cs
+Mono.Xml/SecurityParser.cs
+System/AccessViolationException.cs
+System/ActivationContext.cs
+System/Activator.cs
+System/AndroidPlatform.cs
+System/AppDomain.cs
+System/AppDomainInitializer.cs
+System/AppDomainManager.cs
+System/AppDomainSetup.cs
+System/AppDomainUnloadedException.cs
+System/ApplicationException.cs
+System/ApplicationId.cs
+System/ApplicationIdentity.cs
+System/ArgIterator.cs
+System/ArgumentException.cs
+System/ArgumentNullException.cs
+System/ArgumentOutOfRangeException.cs
+System/ArithmeticException.cs
+System/Array.cs
+System/ArrayTypeMismatchException.cs
+System/AssemblyLoadEventArgs.cs
+System/AssemblyLoadEventHandler.cs
+System/AsyncCallback.cs
+System/Attribute.cs
+System/AttributeTargets.cs
+System/AttributeUsageAttribute.cs
+System/BadImageFormatException.cs
+System/Base64FormattingOptions.cs
+System/BitConverter.cs
+System/Boolean.cs
+System/Buffer.cs
+System/Byte.cs
+System/CannotUnloadAppDomainException.cs
+System/Char.cs
+System/CharEnumerator.cs
+System/CLSCompliantAttribute.cs
+System/CStreamReader.cs
+System/CStreamWriter.cs
+System/Console.cs
+System/Console.iOS.cs
+System/ConsoleCancelEventArgs.cs
+System/ConsoleCancelEventHandler.cs
+System/ConsoleColor.cs
+System/ConsoleDriver.cs
+System/ConsoleKey.cs
+System/ConsoleKeyInfo.cs
+System/ConsoleModifiers.cs
+System/ConsoleSpecialKey.cs
+System/ContextBoundObject.cs
+System/ContextMarshalException.cs
+System/ContextStaticAttribute.cs
+System/ControlCharacters.cs
+System/Convert.cs
+System/CrossAppDomainDelegate.cs
+System/DataMisalignedException.cs
+System/DateTime.cs
+System/DateTimeKind.cs
+System/DateTimeOffset.cs
+System/DateTimeUtils.cs
+System/DayOfWeek.cs
+System/DBNull.cs
+System/Decimal.cs
+System/Delegate.cs
+System/DelegateSerializationHolder.cs
+System/DivideByZeroException.cs
+System/DllNotFoundException.cs
+System/DomainManagerInitializationFlags.cs
+System/Double.cs
+System/DuplicateWaitObjectException.cs
+System/EmptyArray.cs
+System/EntryPointNotFoundException.cs
+System/Enum.cs
+System/Environment.cs
+System/EnvironmentVariableTarget.cs
+System/EventArgs.cs
+System/EventHandler.cs
+System/Exception.cs
+System/ExecutionEngineException.cs
+System/FieldAccessException.cs
+System/FirstChanceExceptionEventArgs.cs
+System/FlagsAttribute.cs
+System/FormatException.cs
+System/Funcs.cs
+System/GC.cs
+System/GCCollectionMode.cs
+System/GCNotificationStatus.cs
+System/Guid.cs
+System/IAppDomainSetup.cs
+System/IAsyncResult.cs
+System/IObservable.cs
+System/IObserver.cs
+System/ICloneable.cs
+System/IComparable.cs
+System/IEquatable.cs
+System/IConsoleDriver.cs
+System/IConvertible.cs
+System/ICustomFormatter.cs
+System/IDisposable.cs
+System/IFormatProvider.cs
+System/IFormattable.cs
+System/IndexOutOfRangeException.cs
+System/InsufficientExecutionStackException.cs
+System/InsufficientMemoryException.cs
+System/Int16.cs
+System/Int32.cs
+System/Int64.cs
+System/IntPtr.cs
+System/InvalidCastException.cs
+System/InvalidOperationException.cs
+System/InvalidProgramException.cs
+System/InvalidTimeZoneException.cs
+System/IProgress.cs
+System/IServiceProvider.cs
+System/KnownTerminals.cs
+System/Lazy.cs
+System/LoaderOptimization.cs
+System/LoaderOptimizationAttribute.cs
+System/LocalDataStoreSlot.cs
+System/MarshalByRefObject.cs
+System/Math.cs
+System/MemberAccessException.cs
+System/MethodAccessException.cs
+System/MidpointRounding.cs
+System/MissingFieldException.cs
+System/MissingMemberException.cs
+System/MissingMethodException.cs
+System/MonoAsyncCall.cs
+System/MonoCQItem.cs
+System/MonoCustomAttrs.cs
+System/MonoListItem.cs
+System/MonoType.cs
+System/MonoTouchAOTHelper.cs
+System/MTAThreadAttribute.cs
+System/MulticastDelegate.cs
+System/MulticastNotSupportedException.cs
+System/NonSerializedAttribute.cs
+System/NotFiniteNumberException.cs
+System/NotImplementedException.cs
+System/NotSupportedException.cs
+System/NullConsoleDriver.cs
+System/Nullable.cs
+System/NullReferenceException.cs
+System/NumberFormatter.cs
+System/Object.cs
+System/ObjectDisposedException.cs
+System/ObsoleteAttribute.cs
+System/OperatingSystem.cs
+System/OperationCanceledException.cs
+System/OutOfMemoryException.cs
+System/OverflowException.cs
+System/ParamArrayAttribute.cs
+System/PlatformID.cs
+System/PlatformNotSupportedException.cs
+System/Random.cs
+System/RankException.cs
+System/ResolveEventArgs.cs
+System/ResolveEventHandler.cs
+System/RuntimeArgumentHandle.cs
+System/RuntimeFieldHandle.cs
+System/RuntimeMethodHandle.cs
+System/RuntimeTypeHandle.cs
+System/ModuleHandle.cs
+System/SByte.cs
+System/SerializableAttribute.cs
+System/Single.cs
+System/StackOverflowException.cs
+System/STAThreadAttribute.cs
+System/String.cs
+System/StringSplitOptions.cs
+System/StringComparer.cs
+System/StringComparison.cs
+System/SystemException.cs
+System/TermInfoBooleans.cs
+System/TermInfoDriver.cs
+System/TermInfoNumbers.cs
+System/TermInfoReader.cs
+System/TermInfoStrings.cs
+System/ThreadStaticAttribute.cs
+System/TimeSpan.cs
+System/TimeZone.cs
+../System.Core/System/TimeZoneInfo.cs
+../System.Core/System/TimeZoneInfo.AdjustmentRule.cs
+../System.Core/System/TimeZoneInfo.Android.cs
+../System.Core/System/TimeZoneInfo.MonoTouch.cs
+../System.Core/System/TimeZoneInfo.Serialization.cs
+../System.Core/System/TimeZoneInfo.TransitionTime.cs
+System/TimeZoneNotFoundException.cs
+System/TimeoutException.cs
+../../build/common/MonoTODOAttribute.cs
+System/Type.cs
+System/TypeSpec.cs
+System/TypeAccessException.cs
+System/TypeCode.cs
+System/TypedReference.cs
+System/TypeInitializationException.cs
+System/TypeLoadException.cs
+System/TypeUnloadedException.cs
+System/Tuple.cs
+System/Tuples.cs
+System/UInt16.cs
+System/UInt32.cs
+System/UInt64.cs
+System/UIntPtr.cs
+System/UnauthorizedAccessException.cs
+System/UnhandledExceptionEventArgs.cs
+System/UnhandledExceptionEventHandler.cs
+System/UnitySerializationHolder.cs
+System/ValueType.cs
+System/Variant.cs
+System/Version.cs
+System/Void.cs
+System/WeakReference.cs
+System/WeakReference_T.cs
+System/WindowsConsoleDriver.cs
+System/_AppDomain.cs
+System/__ComObject.cs
+System.Collections/ArrayList.cs
+System.Collections/BitArray.cs
+System.Collections/CaseInsensitiveComparer.cs
+System.Collections/CaseInsensitiveHashCodeProvider.cs
+System.Collections/CollectionBase.cs
+System.Collections/Comparer.cs
+System.Collections/CollectionDebuggerView.cs
+System.Collections/DictionaryBase.cs
+System.Collections/DictionaryEntry.cs
+System.Collections/Hashtable.cs
+System.Collections/HashPrimeNumbers.cs
+System.Collections/ICollection.cs
+System.Collections/IComparer.cs
+System.Collections/IDictionary.cs
+System.Collections/IDictionaryEnumerator.cs
+System.Collections/IEnumerable.cs
+System.Collections/IEnumerator.cs
+System.Collections/IEqualityComparer.cs
+System.Collections/IHashCodeProvider.cs
+System.Collections/IList.cs
+System.Collections/IStructuralComparable.cs
+System.Collections/IStructuralEquatable.cs
+System.Collections/Queue.cs
+System.Collections/ReadOnlyCollectionBase.cs
+System.Collections/SortedList.cs
+System.Collections/Stack.cs
+System.Collections/StructuralComparisons.cs
+System.Configuration.Assemblies/AssemblyHash.cs
+System.Configuration.Assemblies/AssemblyHashAlgorithm.cs
+System.Configuration.Assemblies/AssemblyVersionCompatibility.cs
+System.Configuration.Assemblies/ProcessorID.cs
+System.Deployment.Internal/InternalActivationContextHelper.cs
+System.Deployment.Internal/InternalApplicationIdentityHelper.cs
+System.Diagnostics/ConditionalAttribute.cs
+System.Diagnostics/DebuggableAttribute.cs
+System.Diagnostics/Debugger.cs
+System.Diagnostics/DebuggerBrowsableState.cs
+System.Diagnostics/DebuggerBrowsableAttribute.cs
+System.Diagnostics/DebuggerDisplayAttribute.cs
+System.Diagnostics/DebuggerHiddenAttribute.cs
+System.Diagnostics/DebuggerNonUserCodeAttribute.cs
+System.Diagnostics/DebuggerStepThroughAttribute.cs
+System.Diagnostics/DebuggerStepperBoundaryAttribute.cs
+System.Diagnostics/DebuggerTypeProxyAttribute.cs
+System.Diagnostics/DebuggerVisualizerAttribute.cs
+System.Diagnostics/StackFrame.cs
+System.Diagnostics/StackTrace.cs
+System.Diagnostics.CodeAnalysis/SuppressMessageAttribute.cs
+System.Diagnostics.Contracts/Contract.cs
+System.Diagnostics.Contracts/ContractAbbreviatorAttribute.cs
+System.Diagnostics.Contracts/ContractArgumentValidatorAttribute.cs
+System.Diagnostics.Contracts/ContractClassAttribute.cs
+System.Diagnostics.Contracts/ContractClassForAttribute.cs
+System.Diagnostics.Contracts/ContractException.cs
+System.Diagnostics.Contracts/ContractFailedEventArgs.cs
+System.Diagnostics.Contracts/ContractFailureKind.cs
+System.Diagnostics.Contracts/ContractInvariantMethodAttribute.cs
+System.Diagnostics.Contracts/ContractOptionAttribute.cs
+System.Diagnostics.Contracts/ContractPublicPropertyNameAttribute.cs
+System.Diagnostics.Contracts/ContractReferenceAssemblyAttribute.cs
+System.Diagnostics.Contracts/ContractRuntimeIgnoredAttribute.cs
+System.Diagnostics.Contracts/ContractShouldAssertException.cs
+System.Diagnostics.Contracts/ContractVerificationAttribute.cs
+System.Diagnostics.Contracts/PureAttribute.cs
+System.Diagnostics.Contracts.Internal/ContractHelper.cs
+System.Diagnostics.Tracing/EventAttribute.cs
+System.Diagnostics.Tracing/EventCommand.cs
+System.Diagnostics.Tracing/EventKeywords.cs
+System.Diagnostics.Tracing/EventLevel.cs
+System.Diagnostics.Tracing/EventSource.cs
+System.Diagnostics.Tracing/EventSourceAttribute.cs
+System.Diagnostics.Tracing/EventCommandEventArgs.cs
+System.Diagnostics.Tracing/NonEventAttribute.cs
+System.Diagnostics.SymbolStore/ISymbolBinder.cs
+System.Diagnostics.SymbolStore/ISymbolBinder1.cs
+System.Diagnostics.SymbolStore/ISymbolDocument.cs
+System.Diagnostics.SymbolStore/ISymbolDocumentWriter.cs
+System.Diagnostics.SymbolStore/ISymbolMethod.cs
+System.Diagnostics.SymbolStore/ISymbolNamespace.cs
+System.Diagnostics.SymbolStore/ISymbolReader.cs
+System.Diagnostics.SymbolStore/ISymbolScope.cs
+System.Diagnostics.SymbolStore/ISymbolVariable.cs
+System.Diagnostics.SymbolStore/ISymbolWriter.cs
+System.Diagnostics.SymbolStore/SymAddressKind.cs
+System.Diagnostics.SymbolStore/SymbolToken.cs
+System.Diagnostics.SymbolStore/SymDocumentType.cs
+System.Diagnostics.SymbolStore/SymLanguageType.cs
+System.Diagnostics.SymbolStore/SymLanguageVendor.cs
+System.Globalization/Calendar.cs
+System.Globalization/CalendarAlgorithmType.cs
+System.Globalization/CalendarWeekRule.cs
+System.Globalization/CalendricalCalculations.cs
+System.Globalization/CharUnicodeInfo.cs
+System.Globalization/ChineseLunisolarCalendar.cs
+System.Globalization/CodePageDataItem.cs
+System.Globalization/CompareInfo.cs
+System.Globalization/CompareOptions.cs
+System.Globalization/CultureInfo.cs
+System.Globalization/CultureNotFoundException.cs
+System.Globalization/CultureTypes.cs
+System.Globalization/DateTimeFormatInfo.cs
+System.Globalization/DateTimeStyles.cs
+System.Globalization/DaylightTime.cs
+System.Globalization/DigitShapes.cs
+System.Globalization/EastAsianLunisolarCalendar.cs
+System.Globalization/GregorianCalendar.cs
+System.Globalization/GregorianCalendarTypes.cs
+System.Globalization/HebrewCalendar.cs
+System.Globalization/HijriCalendar.cs
+System.Globalization/IdnMapping.cs
+System.Globalization/JapaneseCalendar.cs
+System.Globalization/JapaneseLunisolarCalendar.cs
+System.Globalization/JulianCalendar.cs
+System.Globalization/KoreanCalendar.cs
+System.Globalization/KoreanLunisolarCalendar.cs
+System.Globalization/NumberFormatInfo.cs
+System.Globalization/NumberStyles.cs
+System.Globalization/PersianCalendar.cs
+System.Globalization/RegionInfo.cs
+System.Globalization/RegionInfo.MonoTouch.cs
+System.Globalization/SortVersion.cs
+System.Globalization/StringInfo.cs
+System.Globalization/TaiwanCalendar.cs
+System.Globalization/TaiwanLunisolarCalendar.cs
+System.Globalization/TextElementEnumerator.cs
+System.Globalization/TextInfo.cs
+System.Globalization/ThaiBuddhistCalendar.cs
+System.Globalization/TimeSpanStyles.cs
+System.Globalization/UmAlQuraCalendar.cs
+System.Globalization/UnicodeCategory.cs
+System.IO/BinaryReader.cs
+System.IO/BinaryWriter.cs
+System.IO/BufferedStream.cs
+System.IO/Directory.cs
+System.IO/DirectoryInfo.cs
+System.IO/DirectoryNotFoundException.cs
+System.IO/DriveInfo.cs
+System.IO/DriveNotFoundException.cs
+System.IO/DriveType.cs
+System.IO/EndOfStreamException.cs
+System.IO/File.cs
+System.IO/FileAccess.cs
+System.IO/FileAttributes.cs
+System.IO/FileInfo.cs
+System.IO/FileLoadException.cs
+System.IO/FileMode.cs
+System.IO/FileNotFoundException.cs
+System.IO/FileOptions.cs
+System.IO/FileShare.cs
+System.IO/FileStream.cs
+System.IO/FileStreamAsyncResult.cs
+System.IO/FileSystemInfo.cs
+System.IO/IOException.cs
+System.IO/LogcatTextWriter.cs
+System.IO/MemoryStream.cs
+System.IO/MonoIO.cs
+System.IO/MonoIOError.cs
+System.IO/MonoFileType.cs
+System.IO/MonoIOStat.cs
+System.IO/Path.cs
+System.IO/PathTooLongException.cs
+System.IO/SearchOption.cs
+System.IO/SearchPattern.cs
+System.IO/SeekOrigin.cs
+System.IO/Stream.cs
+System.IO/StreamReader.cs
+System.IO/StreamWriter.cs
+System.IO/StringReader.cs
+System.IO/StringWriter.cs
+System.IO/TextReader.cs
+System.IO/TextWriter.cs
+System.IO/UnexceptionalStreamReader.cs
+System.IO/UnexceptionalStreamWriter.cs
+System.IO/UnmanagedMemoryAccessor.cs
+System.IO/UnmanagedMemoryStream.cs
+System.IO.IsolatedStorage/INormalizeForIsolatedStorage.cs
+System.IO.IsolatedStorage/IsolatedStorage.cs
+System.IO.IsolatedStorage/IsolatedStorageException.cs
+System.IO.IsolatedStorage/IsolatedStorageFile.cs
+System.IO.IsolatedStorage/IsolatedStorageFileEnumerator.cs
+System.IO.IsolatedStorage/IsolatedStorageFileStream.cs
+System.IO.IsolatedStorage/IsolatedStorageScope.cs
+System.IO.IsolatedStorage/IsolatedStorageSecurityOptions.cs
+System.IO.IsolatedStorage/IsolatedStorageSecurityState.cs
+System.Reflection/AmbiguousMatchException.cs
+System.Reflection/Assembly.cs
+System.Reflection/AssemblyAlgorithmIdAttribute.cs
+System.Reflection/AssemblyCompanyAttribute.cs
+System.Reflection/AssemblyConfigurationAttribute.cs
+System.Reflection/AssemblyContentType.cs
+System.Reflection/AssemblyCopyrightAttribute.cs
+System.Reflection/AssemblyCultureAttribute.cs
+System.Reflection/AssemblyDefaultAliasAttribute.cs
+System.Reflection/AssemblyDelaySignAttribute.cs
+System.Reflection/AssemblyDescriptionAttribute.cs
+System.Reflection/AssemblyFileVersionAttribute.cs
+System.Reflection/AssemblyFlagsAttribute.cs
+System.Reflection/AssemblyInformationalVersionAttribute.cs
+System.Reflection/AssemblyKeyFileAttribute.cs
+System.Reflection/AssemblyKeyNameAttribute.cs
+System.Reflection/AssemblyMetadataAttribute.cs
+System.Reflection/AssemblyName.cs
+System.Reflection/AssemblyNameFlags.cs
+System.Reflection/AssemblyNameProxy.cs
+System.Reflection/AssemblyProductAttribute.cs
+System.Reflection/AssemblySignatureKeyAttribute.cs
+System.Reflection/AssemblyTitleAttribute.cs
+System.Reflection/AssemblyTradeMarkAttribute.cs
+System.Reflection/AssemblyVersionAttribute.cs
+System.Reflection/Binder.cs
+System.Reflection/BindingFlags.cs
+System.Reflection/CallingConventions.cs
+System.Reflection/ConstructorInfo.cs
+System.Reflection/CustomAttributeData.cs
+System.Reflection/CustomAttributeExtensions.cs
+System.Reflection/CustomAttributeFormatException.cs
+System.Reflection/CustomAttributeNamedArgument.cs
+System.Reflection/CustomAttributeTypedArgument.cs
+System.Reflection/DefaultMemberAttribute.cs
+System.Reflection/EventAttributes.cs
+System.Reflection/EventInfo.cs
+System.Reflection/ExceptionHandlingClause.cs
+System.Reflection/ExceptionHandlingClauseOptions.cs
+System.Reflection/FieldAttributes.cs
+System.Reflection/FieldInfo.cs
+System.Reflection/GenericParameterAttributes.cs
+System.Reflection/ICustomAttributeProvider.cs
+System.Reflection/ImageFileMachine.cs
+System.Reflection/InterfaceMapping.cs
+System.Reflection/IntrospectionExtensions.cs
+System.Reflection/InvalidFilterCriteriaException.cs
+System.Reflection/IReflect.cs
+System.Reflection/IReflectableType.cs
+System.Reflection/LocalVariableInfo.cs
+System.Reflection/ManifestResourceInfo.cs
+System.Reflection/MemberFilter.cs
+System.Reflection/MemberInfo.cs
+System.Reflection/MemberInfoSerializationHolder.cs
+System.Reflection/MemberTypes.cs
+System.Reflection/MethodAttributes.cs
+System.Reflection/MethodBase.cs
+System.Reflection/MethodBody.cs
+System.Reflection/MethodImplAttributes.cs
+System.Reflection/MethodInfo.cs
+System.Reflection/Missing.cs
+System.Reflection/Module.cs
+System.Reflection/ModuleResolveEventHandler.cs
+System.Reflection/MonoAssembly.cs
+System.Reflection/MonoGenericClass.cs
+System.Reflection/MonoGenericMethod.cs
+System.Reflection/MonoEvent.cs
+System.Reflection/MonoField.cs
+System.Reflection/MonoMethod.cs
+System.Reflection/MonoModule.cs
+System.Reflection/MonoParameterInfo.cs
+System.Reflection/MonoProperty.cs
+System.Reflection/ObfuscateAssemblyAttribute.cs
+System.Reflection/ObfuscationAttribute.cs
+System.Reflection/ParameterAttributes.cs
+System.Reflection/ParameterInfo.cs
+System.Reflection/ParameterModifier.cs
+System.Reflection/Pointer.cs
+System.Reflection/PortableExecutableKinds.cs
+System.Reflection/ProcessorArchitecture.cs
+System.Reflection/PropertyAttributes.cs
+System.Reflection/PropertyInfo.cs
+System.Reflection/ReflectionContext.cs
+System.Reflection/ReflectionTypeLoadException.cs
+System.Reflection/ResourceAttributes.cs
+System.Reflection/ResourceLocation.cs
+System.Reflection/RuntimeReflectionExtensions.cs
+System.Reflection/StrongNameKeyPair.cs
+System.Reflection/TargetException.cs
+System.Reflection/TargetInvocationException.cs
+System.Reflection/TargetParameterCountException.cs
+System.Reflection/TypeAttributes.cs
+System.Reflection/TypeDelegator.cs
+System.Reflection/TypeFilter.cs
+System.Reflection/TypeInfo.cs
+System.Reflection.Emit/AssemblyBuilder.cs
+System.Reflection.Emit/AssemblyBuilderAccess.cs
+System.Reflection.Emit/ConstructorBuilder.cs
+System.Reflection.Emit/ConstructorOnTypeBuilderInst.cs
+System.Reflection.Emit/CustomAttributeBuilder.cs
+System.Reflection.Emit/DerivedTypes.cs
+System.Reflection.Emit/DynamicILInfo.cs
+System.Reflection.Emit/DynamicMethod.cs
+System.Reflection.Emit/EnumBuilder.cs
+System.Reflection.Emit/EventBuilder.cs
+System.Reflection.Emit/EventOnTypeBuilderInst.cs
+System.Reflection.Emit/EventToken.cs
+System.Reflection.Emit/FieldBuilder.cs
+System.Reflection.Emit/FieldOnTypeBuilderInst.cs
+System.Reflection.Emit/FieldToken.cs
+System.Reflection.Emit/FlowControl.cs
+System.Reflection.Emit/GenericTypeParameterBuilder.cs
+System.Reflection.Emit/ILGenerator.cs
+System.Reflection.Emit/Label.cs
+System.Reflection.Emit/LocalBuilder.cs
+System.Reflection.Emit/MethodBuilder.cs
+System.Reflection.Emit/MethodOnTypeBuilderInst.cs
+System.Reflection.Emit/MethodToken.cs
+System.Reflection.Emit/MethodRental.cs
+System.Reflection.Emit/ModuleBuilder.cs
+System.Reflection.Emit/MonoArrayMethod.cs
+System.Reflection.Emit/OpCodeNames.cs
+System.Reflection.Emit/OpCode.cs
+System.Reflection.Emit/OpCodes.cs
+System.Reflection.Emit/OpCodeType.cs
+System.Reflection.Emit/OperandType.cs
+System.Reflection.Emit/PackingSize.cs
+System.Reflection.Emit/ParameterBuilder.cs
+System.Reflection.Emit/ParameterToken.cs
+System.Reflection.Emit/PEFileKinds.cs
+System.Reflection.Emit/PropertyBuilder.cs
+System.Reflection.Emit/PropertyOnTypeBuilderInst.cs
+System.Reflection.Emit/PropertyToken.cs
+System.Reflection.Emit/SignatureHelper.cs
+System.Reflection.Emit/SignatureToken.cs
+System.Reflection.Emit/StackBehaviour.cs
+System.Reflection.Emit/StringToken.cs
+System.Reflection.Emit/TypeBuilder.cs
+System.Reflection.Emit/TypeToken.cs
+System.Reflection.Emit/UnmanagedMarshal.cs
+System.Resources/IResourceReader.cs
+System.Resources/IResourceWriter.cs
+System.Resources/MissingManifestResourceException.cs
+System.Resources/MissingSatelliteAssemblyException.cs
+System.Resources/NeutralResourcesLanguageAttribute.cs
+System.Resources/ResourceManager.cs
+System.Resources/ResourceReader.cs
+System.Resources/ResourceSet.cs
+System.Resources/ResourceWriter.cs
+System.Resources/RuntimeResourceSet.cs
+System.Resources/SatelliteContractVersionAttribute.cs
+System.Resources/UltimateResourceFallbackLocation.cs
+System.Resources/Win32Resources.cs
+System.Runtime/AssemblyTargetedPatchBandAttribute.cs
+System.Runtime/GCLargeObjectHeapCompactionMode.cs
+System.Runtime/GCLatencyMode.cs
+System.Runtime/GCSettings.cs
+System.Runtime/MemoryFailPoint.cs
+System.Runtime/TargetedPatchingOptOutAttribute.cs
+System.Runtime.CompilerServices/AccessedThroughPropertyAttribute.cs
+System.Runtime.CompilerServices/AsyncStateMachineAttribute.cs
+System.Runtime.CompilerServices/AsyncVoidMethodBuilder.cs
+System.Runtime.CompilerServices/AsyncTaskMethodBuilder.cs
+System.Runtime.CompilerServices/AsyncTaskMethodBuilder_T.cs
+System.Runtime.CompilerServices/ReferenceAssemblyAttribute.cs
+System.Runtime.CompilerServices/CallConvCdecl.cs
+System.Runtime.CompilerServices/CallConvFastcall.cs
+System.Runtime.CompilerServices/CallConvThiscall.cs
+System.Runtime.CompilerServices/CallConvStdcall.cs
+System.Runtime.CompilerServices/CallerFilePathAttribute.cs
+System.Runtime.CompilerServices/CallerLineNumberAttribute.cs
+System.Runtime.CompilerServices/CallerMemberNameAttribute.cs
+System.Runtime.CompilerServices/CompilationRelaxations.cs
+System.Runtime.CompilerServices/CompilationRelaxationsAttribute.cs
+System.Runtime.CompilerServices/CompilerGeneratedAttribute.cs
+System.Runtime.CompilerServices/CompilerGlobalScopeAttribute.cs
+System.Runtime.CompilerServices/CompilerMarshalOverride.cs
+System.Runtime.CompilerServices/ConditionalWeakTable.cs
+System.Runtime.CompilerServices/ConfiguredTaskAwaitable.cs
+System.Runtime.CompilerServices/ConfiguredTaskAwaitable_T.cs
+System.Runtime.CompilerServices/ContractHelper.cs
+System.Runtime.CompilerServices/CustomConstantAttribute.cs
+System.Runtime.CompilerServices/DateTimeConstantAttribute.cs
+System.Runtime.CompilerServices/DecimalConstantAttribute.cs
+System.Runtime.CompilerServices/DefaultDependencyAttribute.cs
+System.Runtime.CompilerServices/DependencyAttribute.cs
+System.Runtime.CompilerServices/DiscardableAttribute.cs
+System.Runtime.CompilerServices/ExtensionAttribute.cs
+System.Runtime.CompilerServices/FixedAddressValueTypeAttribute.cs
+System.Runtime.CompilerServices/FixedBufferAttribute.cs
+System.Runtime.CompilerServices/HasCopySemanticsAttribute.cs
+System.Runtime.CompilerServices/IAsyncStateMachine.cs
+System.Runtime.CompilerServices/ICriticalNotifyCompletion.cs
+System.Runtime.CompilerServices/IDispatchConstantAttribute.cs
+System.Runtime.CompilerServices/IUnknownConstantAttribute.cs
+System.Runtime.CompilerServices/IndexerNameAttribute.cs
+System.Runtime.CompilerServices/INotifyCompletion.cs
+System.Runtime.CompilerServices/InternalsVisibleToAttribute.cs
+System.Runtime.CompilerServices/IsBoxed.cs
+System.Runtime.CompilerServices/IsByValue.cs
+System.Runtime.CompilerServices/IsConst.cs
+System.Runtime.CompilerServices/IsCopyConstructed.cs
+System.Runtime.CompilerServices/IsExplicitlyDereferenced.cs
+System.Runtime.CompilerServices/IsImplicitlyDereferenced.cs
+System.Runtime.CompilerServices/IsJitIntrinsic.cs
+System.Runtime.CompilerServices/IsLong.cs
+System.Runtime.CompilerServices/IsPinned.cs
+System.Runtime.CompilerServices/IsSignUnspecifiedByte.cs
+System.Runtime.CompilerServices/IsUdtReturn.cs
+System.Runtime.CompilerServices/IsVolatile.cs
+System.Runtime.CompilerServices/IteratorStateMachineAttribute.cs
+System.Runtime.CompilerServices/LoadHint.cs
+System.Runtime.CompilerServices/MethodCodeType.cs
+System.Runtime.CompilerServices/MethodImplAttribute.cs
+System.Runtime.CompilerServices/MethodImplOptions.cs
+System.Runtime.CompilerServices/NativeCppClassAttribute.cs
+System.Runtime.CompilerServices/RequiredAttributeAttribute.cs
+System.Runtime.CompilerServices/RuntimeCompatibilityAttribute.cs
+System.Runtime.CompilerServices/RuntimeHelpers.cs
+System.Runtime.CompilerServices/RuntimeWrappedException.cs
+System.Runtime.CompilerServices/SpecialNameAttribute.cs 
+System.Runtime.CompilerServices/ScopelessEnumAttribute.cs
+System.Runtime.CompilerServices/SuppressIldasmAttribute.cs
+System.Runtime.CompilerServices/StateMachineAttribute.cs
+System.Runtime.CompilerServices/StringFreezingAttribute.cs 
+System.Runtime.CompilerServices/UnsafeValueTypeAttribute.cs
+System.Runtime.CompilerServices/TaskAwaiter.cs
+System.Runtime.CompilerServices/TaskAwaiter_T.cs
+System.Runtime.CompilerServices/TypeForwardedFromAttribute.cs
+System.Runtime.CompilerServices/TypeForwardedToAttribute.cs
+System.Runtime.CompilerServices/YieldAwaitable.cs
+System.Runtime.ConstrainedExecution/CriticialFinalizerObject.cs
+System.Runtime.ConstrainedExecution/CER.cs
+System.Runtime.ConstrainedExecution/Consistency.cs
+System.Runtime.ConstrainedExecution/PrePrepareMethodAttribute.cs
+System.Runtime.ConstrainedExecution/ReliabilityContractAttribute.cs
+System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs
+System.Runtime.ExceptionServices/FirstChanceExceptionEventArgs.cs
+System.Runtime.ExceptionServices/HandleProcessCorruptedStateExceptionsAttribute.cs
+System.Runtime.Hosting/ActivationArguments.cs
+System.Runtime.Hosting/ApplicationActivator.cs
+System.Runtime.InteropServices/_Activator.cs
+System.Runtime.InteropServices/_Assembly.cs
+System.Runtime.InteropServices/_AssemblyBuilder.cs
+System.Runtime.InteropServices/_AssemblyName.cs
+System.Runtime.InteropServices/_Attribute.cs
+System.Runtime.InteropServices/_ConstructorBuilder.cs
+System.Runtime.InteropServices/_ConstructorInfo.cs
+System.Runtime.InteropServices/_CustomAttributeBuilder.cs
+System.Runtime.InteropServices/_EnumBuilder.cs
+System.Runtime.InteropServices/_EventBuilder.cs
+System.Runtime.InteropServices/_EventInfo.cs
+System.Runtime.InteropServices/_Exception.cs
+System.Runtime.InteropServices/_FieldBuilder.cs
+System.Runtime.InteropServices/_FieldInfo.cs
+System.Runtime.InteropServices/_ILGenerator.cs
+System.Runtime.InteropServices/_LocalBuilder.cs
+System.Runtime.InteropServices/_MemberInfo.cs
+System.Runtime.InteropServices/_MethodBase.cs
+System.Runtime.InteropServices/_MethodBuilder.cs
+System.Runtime.InteropServices/_MethodInfo.cs
+System.Runtime.InteropServices/_MethodRental.cs
+System.Runtime.InteropServices/_Module.cs
+System.Runtime.InteropServices/_ModuleBuilder.cs
+System.Runtime.InteropServices/_ParameterBuilder.cs
+System.Runtime.InteropServices/_ParameterInfo.cs
+System.Runtime.InteropServices/_PropertyBuilder.cs
+System.Runtime.InteropServices/_PropertyInfo.cs
+System.Runtime.InteropServices/_SignatureHelper.cs
+System.Runtime.InteropServices/_Thread.cs
+System.Runtime.InteropServices/_Type.cs
+System.Runtime.InteropServices/_TypeBuilder.cs
+System.Runtime.InteropServices/AllowReversePInvokeCallsAttribute.cs
+System.Runtime.InteropServices/ArrayWithOffset.cs
+System.Runtime.InteropServices/AssemblyRegistrationFlags.cs
+System.Runtime.InteropServices/AutomationProxyAttribute.cs
+System.Runtime.InteropServices/BestFitMappingAttribute.cs
+System.Runtime.InteropServices/BIND_OPTS.cs
+System.Runtime.InteropServices/BINDPTR.cs
+System.Runtime.InteropServices/BStrWrapper.cs
+System.Runtime.InteropServices/CALLCONV.cs
+System.Runtime.InteropServices/CallingConvention.cs
+System.Runtime.InteropServices/CharSet.cs
+System.Runtime.InteropServices/ClassInterfaceAttribute.cs
+System.Runtime.InteropServices/ClassInterfaceType.cs
+System.Runtime.InteropServices/CoClassAttribute.cs
+System.Runtime.InteropServices/ComAliasNameAttribute.cs
+System.Runtime.InteropServices/ComCompatibleVersionAttribute.cs
+System.Runtime.InteropServices/ComConversionLossAttribute.cs
+System.Runtime.InteropServices/ComDefaultInterfaceAttribute.cs
+System.Runtime.InteropServices/COMException.cs
+System.Runtime.InteropServices/ComEventInterfaceAttribute.cs
+System.Runtime.InteropServices/ComImportAttribute.cs
+System.Runtime.InteropServices/ComInterfaceType.cs
+System.Runtime.InteropServices/ComMemberType.cs
+System.Runtime.InteropServices/ComRegisterFunctionAttribute.cs
+System.Runtime.InteropServices/ComSourceInterfacesAttribute.cs
+System.Runtime.InteropServices/ComUnregisterFunctionAttribute.cs
+System.Runtime.InteropServices/ComVisible.cs
+System.Runtime.InteropServices/CONNECTDATA.cs
+System.Runtime.InteropServices/CriticalHandle.cs
+System.Runtime.InteropServices/CurrencyWrapper.cs
+System.Runtime.InteropServices/DefaultCharSetAttribute.cs
+System.Runtime.InteropServices/DESCKIND.cs
+System.Runtime.InteropServices/DispatchWrapper.cs
+System.Runtime.InteropServices/DISPPARAMS.cs
+System.Runtime.InteropServices/DispIdAttribute.cs
+System.Runtime.InteropServices/DllImportAttribute.cs
+System.Runtime.InteropServices/ELEMDESC.cs
+System.Runtime.InteropServices/ErrorWrapper.cs
+System.Runtime.InteropServices/EXCEPINFO.cs
+System.Runtime.InteropServices/ExporterEventKind.cs
+System.Runtime.InteropServices/ExtensibleClassFactory.cs
+System.Runtime.InteropServices/ExternalException.cs
+System.Runtime.InteropServices/FieldOffsetAttribute.cs
+System.Runtime.InteropServices/FILETIME.cs
+System.Runtime.InteropServices/FUNCDESC.cs
+System.Runtime.InteropServices/FUNCFLAGS.cs
+System.Runtime.InteropServices/FUNCKIND.cs
+System.Runtime.InteropServices/GCHandle.cs
+System.Runtime.InteropServices/GCHandleType.cs
+System.Runtime.InteropServices/GuidAttribute.cs
+System.Runtime.InteropServices/HandleRef.cs
+System.Runtime.InteropServices/ICustomAdapter.cs
+System.Runtime.InteropServices/ICustomFactory.cs
+System.Runtime.InteropServices/ICustomMarshaler.cs
+System.Runtime.InteropServices/IDispatchImplAttribute.cs
+System.Runtime.InteropServices/IDispatchImplType.cs
+System.Runtime.InteropServices/IDLDESC.cs
+System.Runtime.InteropServices/IDLFLAG.cs
+System.Runtime.InteropServices/IErrorInfo.cs
+System.Runtime.InteropServices/IMPLTYPEFLAGS.cs
+System.Runtime.InteropServices/INVOKEKIND.cs
+System.Runtime.InteropServices/IRegistrationServices.cs
+System.Runtime.InteropServices/ITypeLibConverter.cs
+System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
+System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
+System.Runtime.InteropServices/ITypeLibImporterNotifySink.cs
+System.Runtime.InteropServices/ImportedFromTypeLibAttribute.cs
+System.Runtime.InteropServices/ImporterEventKind.cs
+System.Runtime.InteropServices/InAttribute.cs
+System.Runtime.InteropServices/InterfaceTypeAttribute.cs
+System.Runtime.InteropServices/InvalidComObjectException.cs
+System.Runtime.InteropServices/InvalidOleVariantTypeException.cs
+System.Runtime.InteropServices/LCIDConversionAttribute.cs
+System.Runtime.InteropServices/LIBFLAGS.cs
+System.Runtime.InteropServices/LayoutKind.cs
+System.Runtime.InteropServices/ManagedErrorInfo.cs
+System.Runtime.InteropServices/Marshal.cs
+System.Runtime.InteropServices/MarshalAsAttribute.cs
+System.Runtime.InteropServices/MarshalDirectiveException.cs
+System.Runtime.InteropServices/ObjectCreationDelegate.cs
+System.Runtime.InteropServices/OptionalAttribute.cs
+System.Runtime.InteropServices/OutAttribute.cs
+System.Runtime.InteropServices/PARAMDESC.cs
+System.Runtime.InteropServices/PARAMFLAG.cs
+System.Runtime.InteropServices/PreserveSigAttribute.cs
+System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
+System.Runtime.InteropServices/RegistrationClassContext.cs
+System.Runtime.InteropServices/RegistrationConnectionType.cs
+System.Runtime.InteropServices/SEHException.cs
+System.Runtime.InteropServices/STATSTG.cs
+System.Runtime.InteropServices/ProgIdAttribute.cs
+System.Runtime.InteropServices/RegistrationServices.cs
+System.Runtime.InteropServices/RuntimeEnvironment.cs
+System.Runtime.InteropServices/SafeArrayRankMismatchException.cs
+System.Runtime.InteropServices/SafeArrayTypeMismatchException.cs
+System.Runtime.InteropServices/SafeBuffer.cs
+System.Runtime.InteropServices/SafeHandle.cs
+System.Runtime.InteropServices/SetWin32ContextInIDispatchAttribute.cs
+System.Runtime.InteropServices/StructLayoutAttribute.cs
+System.Runtime.InteropServices/SYSKIND.cs
+System.Runtime.InteropServices/TYPEATTR.cs
+System.Runtime.InteropServices/TYPEDESC.cs
+System.Runtime.InteropServices/TYPEFLAGS.cs
+System.Runtime.InteropServices/TYPEKIND.cs
+System.Runtime.InteropServices/TYPELIBATTR.cs
+System.Runtime.InteropServices/TypeIdentifierAttribute.cs
+System.Runtime.InteropServices/TypeLibConverter.cs
+System.Runtime.InteropServices/TypeLibExporterFlags.cs
+System.Runtime.InteropServices/TypeLibFuncAttribute.cs
+System.Runtime.InteropServices/TypeLibFuncFlags.cs
+System.Runtime.InteropServices/TypeLibImportClassAttribute.cs
+System.Runtime.InteropServices/TypeLibImporterFlags.cs
+System.Runtime.InteropServices/TypeLibTypeAttribute.cs
+System.Runtime.InteropServices/TypeLibTypeFlags.cs
+System.Runtime.InteropServices/TypeLibVarAttribute.cs
+System.Runtime.InteropServices/TypeLibVarFlags.cs
+System.Runtime.InteropServices/TypeLibVersionAttribute.cs
+System.Runtime.InteropServices/UCOMIBindCtx.cs
+System.Runtime.InteropServices/UCOMIConnectionPoint.cs
+System.Runtime.InteropServices/UCOMIConnectionPointContainer.cs
+System.Runtime.InteropServices/UCOMIEnumConnectionPoints.cs
+System.Runtime.InteropServices/UCOMIEnumConnections.cs
+System.Runtime.InteropServices/UCOMIEnumMoniker.cs
+System.Runtime.InteropServices/UCOMIEnumString.cs
+System.Runtime.InteropServices/UCOMIEnumVARIANT.cs
+System.Runtime.InteropServices/UCOMIMoniker.cs
+System.Runtime.InteropServices/UCOMIPersistFile.cs
+System.Runtime.InteropServices/UCOMIRunningObjectTable.cs
+System.Runtime.InteropServices/UCOMIStream.cs
+System.Runtime.InteropServices/UCOMITypeComp.cs
+System.Runtime.InteropServices/UCOMITypeInfo.cs
+System.Runtime.InteropServices/UCOMITypeLib.cs
+System.Runtime.InteropServices/UnknownWrapper.cs
+System.Runtime.InteropServices/UnmanagedFunctionPointerAttribute.cs
+System.Runtime.InteropServices/UnmanagedType.cs
+System.Runtime.InteropServices/VARDESC.cs
+System.Runtime.InteropServices/VarEnum.cs
+System.Runtime.InteropServices/VARFLAGS.cs
+System.Runtime.InteropServices/VariantWrapper.cs
+System.Runtime.InteropServices.ComTypes/BINDPTR.cs
+System.Runtime.InteropServices.ComTypes/BIND_OPTS.cs
+System.Runtime.InteropServices.ComTypes/CALLCONV.cs
+System.Runtime.InteropServices.ComTypes/CONNECTDATA.cs
+System.Runtime.InteropServices.ComTypes/DESCKIND.cs
+System.Runtime.InteropServices.ComTypes/DISPPARAMS.cs
+System.Runtime.InteropServices.ComTypes/ELEMDESC.cs
+System.Runtime.InteropServices.ComTypes/EXCEPINFO.cs
+System.Runtime.InteropServices.ComTypes/FILETIME.cs
+System.Runtime.InteropServices.ComTypes/FUNCDESC.cs
+System.Runtime.InteropServices.ComTypes/FUNCFLAGS.cs
+System.Runtime.InteropServices.ComTypes/FUNCKIND.cs
+System.Runtime.InteropServices.ComTypes/IBindCtx.cs
+System.Runtime.InteropServices.ComTypes/IConnectionPoint.cs
+System.Runtime.InteropServices.ComTypes/IConnectionPointContainer.cs
+System.Runtime.InteropServices.ComTypes/IDLDESC.cs
+System.Runtime.InteropServices.ComTypes/IDLFLAG.cs
+System.Runtime.InteropServices.ComTypes/IEnumConnectionPoints.cs
+System.Runtime.InteropServices.ComTypes/IEnumConnections.cs
+System.Runtime.InteropServices.ComTypes/IEnumMoniker.cs
+System.Runtime.InteropServices.ComTypes/IEnumString.cs
+System.Runtime.InteropServices.ComTypes/IEnumVARIANT.cs
+System.Runtime.InteropServices.ComTypes/IMoniker.cs
+System.Runtime.InteropServices.ComTypes/IMPLTYPEFLAGS.cs
+System.Runtime.InteropServices.ComTypes/INVOKEKIND.cs
+System.Runtime.InteropServices.ComTypes/IPersistFile.cs
+System.Runtime.InteropServices.ComTypes/IRunningObjectTable.cs
+System.Runtime.InteropServices.ComTypes/IStream.cs
+System.Runtime.InteropServices.ComTypes/ITypeComp.cs
+System.Runtime.InteropServices.ComTypes/ITypeInfo.cs
+System.Runtime.InteropServices.ComTypes/ITypeInfo2.cs
+System.Runtime.InteropServices.ComTypes/ITypeLib.cs
+System.Runtime.InteropServices.ComTypes/ITypeLib2.cs
+System.Runtime.InteropServices.ComTypes/LIBFLAGS.cs
+System.Runtime.InteropServices.ComTypes/PARAMDESC.cs
+System.Runtime.InteropServices.ComTypes/PARAMFLAG.cs
+System.Runtime.InteropServices.ComTypes/STATSTG.cs
+System.Runtime.InteropServices.ComTypes/SYSKIND.cs
+System.Runtime.InteropServices.ComTypes/TYPEATTR.cs
+System.Runtime.InteropServices.ComTypes/TYPEDESC.cs
+System.Runtime.InteropServices.ComTypes/TYPEFLAGS.cs
+System.Runtime.InteropServices.ComTypes/TYPEKIND.cs
+System.Runtime.InteropServices.ComTypes/TYPELIBATTR.cs
+System.Runtime.InteropServices.ComTypes/VARDESC.cs
+System.Runtime.InteropServices.ComTypes/VARFLAGS.cs
+System.Runtime.InteropServices.ComTypes/VARKIND.cs
+System.Runtime.InteropServices.Expando/IExpando.cs
+System.Runtime.InteropServices.WindowsRuntime/DefaultInterfaceAttribute.cs
+System.Runtime.InteropServices.WindowsRuntime/DesignerNamespaceResolveEventArgs.cs
+System.Runtime.InteropServices.WindowsRuntime/EventRegistrationToken.cs
+System.Runtime.InteropServices.WindowsRuntime/EventRegistrationTokenTable.cs
+System.Runtime.InteropServices.WindowsRuntime/IActivationFactory.cs
+System.Runtime.InteropServices.WindowsRuntime/InterfaceImplementedInVersionAttribute.cs
+System.Runtime.InteropServices.WindowsRuntime/NamespaceResolveEventArgs.cs
+System.Runtime.InteropServices.WindowsRuntime/ReadOnlyArrayAttribute.cs
+System.Runtime.InteropServices.WindowsRuntime/ReturnValueNameAttribute.cs
+System.Runtime.InteropServices.WindowsRuntime/WindowsRuntimeMarshal.cs
+System.Runtime.InteropServices.WindowsRuntime/WindowsRuntimeMetadata.cs
+System.Runtime.InteropServices.WindowsRuntime/WriteOnlyArrayAttribute.cs
+System.Runtime.Remoting/ActivatedClientTypeEntry.cs
+System.Runtime.Remoting/ActivatedServiceTypeEntry.cs
+System.Runtime.Remoting/CustomErrorsModes.cs
+System.Runtime.Remoting/EnvoyInfo.cs
+System.Runtime.Remoting/IObjectHandle.cs
+System.Runtime.Remoting/IChannelInfo.cs
+System.Runtime.Remoting/Identity.cs
+System.Runtime.Remoting/InternalRemotingServices.cs
+System.Runtime.Remoting/IEnvoyInfo.cs
+System.Runtime.Remoting/IRemotingTypeInfo.cs
+System.Runtime.Remoting/ObjectHandle.cs
+System.Runtime.Remoting/ObjRef.cs
+System.Runtime.Remoting/RemotingConfiguration.cs
+System.Runtime.Remoting/RemotingException.cs
+System.Runtime.Remoting/RemotingTimeoutException.cs
+System.Runtime.Remoting/RemotingServices.cs
+System.Runtime.Remoting/ServerException.cs
+System.Runtime.Remoting/ServerIdentity.cs
+System.Runtime.Remoting/SoapServices.cs
+System.Runtime.Remoting/TypeEntry.cs
+System.Runtime.Remoting/TypeInfo.cs
+System.Runtime.Remoting/WellKnownObjectMode.cs
+System.Runtime.Remoting/WellKnownClientTypeEntry.cs
+System.Runtime.Remoting/WellKnownServiceTypeEntry.cs
+System.Runtime.Remoting.Activation/ActivationServices.cs
+System.Runtime.Remoting.Activation/ActivatorLevel.cs
+System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs
+System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs
+System.Runtime.Remoting.Activation/ContextLevelActivator.cs
+System.Runtime.Remoting.Activation/IActivator.cs
+System.Runtime.Remoting.Activation/IConstructionCallMessage.cs
+System.Runtime.Remoting.Activation/IConstructionReturnMessage.cs
+System.Runtime.Remoting.Activation/RemoteActivator.cs
+System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs
+System.Runtime.Remoting.Activation/UrlAttribute.cs
+System.Runtime.Remoting.Channels/AggregateDictionary.cs
+System.Runtime.Remoting.Channels/BaseChannelObjectWithProperties.cs
+System.Runtime.Remoting.Channels/BaseChannelSinkWithProperties.cs
+System.Runtime.Remoting.Channels/BaseChannelWithProperties.cs
+System.Runtime.Remoting.Channels/ChannelDataStore.cs
+System.Runtime.Remoting.Channels/ChannelServices.cs
+System.Runtime.Remoting.Channels/ChannelSinkStackEntry.cs
+System.Runtime.Remoting.Channels/ClientChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IChannel.cs
+System.Runtime.Remoting.Channels/IChannelDataStore.cs
+System.Runtime.Remoting.Channels/IChannelReceiver.cs
+System.Runtime.Remoting.Channels/IChannelReceiverHook.cs
+System.Runtime.Remoting.Channels/IChannelSender.cs
+System.Runtime.Remoting.Channels/IChannelSinkBase.cs
+System.Runtime.Remoting.Channels/IClientChannelSink.cs
+System.Runtime.Remoting.Channels/IClientChannelSinkProvider.cs
+System.Runtime.Remoting.Channels/IClientChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IClientFormatterSink.cs
+System.Runtime.Remoting.Channels/IClientFormatterSinkProvider.cs
+System.Runtime.Remoting.Channels/IClientResponseChannelSinkStack.cs
+System.Runtime.Remoting.Channels/ISecurableChannel.cs
+System.Runtime.Remoting.Channels/IServerResponseChannelSinkStack.cs
+System.Runtime.Remoting.Channels/ServerDispatchSink.cs
+System.Runtime.Remoting.Channels/ServerDispatchSinkProvider.cs
+System.Runtime.Remoting.Channels/IServerChannelSink.cs
+System.Runtime.Remoting.Channels/IServerChannelSinkProvider.cs
+System.Runtime.Remoting.Channels/IServerChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IServerFormatterSinkProvider.cs
+System.Runtime.Remoting.Channels/ITransportHeaders.cs
+System.Runtime.Remoting.Channels/ServerChannelSinkStack.cs
+System.Runtime.Remoting.Channels/ServerProcessing.cs
+System.Runtime.Remoting.Channels/SinkProviderData.cs
+System.Runtime.Remoting.Channels/TransportHeaders.cs
+System.Runtime.Remoting.Channels/CrossAppDomainChannel.cs
+System.Runtime.Remoting.Contexts/Context.cs
+System.Runtime.Remoting.Contexts/ContextAttribute.cs
+System.Runtime.Remoting.Contexts/ContextProperty.cs
+System.Runtime.Remoting.Contexts/CrossContextChannel.cs
+System.Runtime.Remoting.Contexts/CrossContextDelegate.cs
+System.Runtime.Remoting.Contexts/IContextAttribute.cs
+System.Runtime.Remoting.Contexts/IContextProperty.cs
+System.Runtime.Remoting.Contexts/IContextPropertyActivator.cs
+System.Runtime.Remoting.Contexts/IContributeClientContextSink.cs
+System.Runtime.Remoting.Contexts/IContributeDynamicSink.cs
+System.Runtime.Remoting.Contexts/IContributeEnvoySink.cs
+System.Runtime.Remoting.Contexts/IContributeObjectSink.cs
+System.Runtime.Remoting.Contexts/IContributeServerContextSink.cs
+System.Runtime.Remoting.Contexts/IDynamicMessageSink.cs
+System.Runtime.Remoting.Contexts/IDynamicProperty.cs
+System.Runtime.Remoting.Contexts/SynchronizationAttribute.cs
+System.Runtime.Remoting.Lifetime/ClientSponsor.cs
+System.Runtime.Remoting.Lifetime/ILease.cs
+System.Runtime.Remoting.Lifetime/ISponsor.cs
+System.Runtime.Remoting.Lifetime/Lease.cs
+System.Runtime.Remoting.Lifetime/LeaseManager.cs
+System.Runtime.Remoting.Lifetime/LeaseSink.cs
+System.Runtime.Remoting.Lifetime/LeaseState.cs
+System.Runtime.Remoting.Lifetime/LifetimeServices.cs
+System.Runtime.Remoting.Messaging/ArgInfo.cs
+System.Runtime.Remoting.Messaging/AsyncResult.cs
+System.Runtime.Remoting.Messaging/CallContext.cs
+System.Runtime.Remoting.Messaging/ClientContextTerminatorSink.cs
+System.Runtime.Remoting.Messaging/ConstructionCall.cs
+System.Runtime.Remoting.Messaging/ConstructionCallDictionary.cs
+System.Runtime.Remoting.Messaging/ConstructionResponse.cs
+System.Runtime.Remoting.Messaging/EnvoyTerminatorSink.cs
+System.Runtime.Remoting.Messaging/Header.cs
+System.Runtime.Remoting.Messaging/HeaderHandler.cs
+System.Runtime.Remoting.Messaging/ErrorMessage.cs
+System.Runtime.Remoting.Messaging/IInternalMessage.cs
+System.Runtime.Remoting.Messaging/IMessage.cs
+System.Runtime.Remoting.Messaging/IMessageCtrl.cs
+System.Runtime.Remoting.Messaging/IMessageSink.cs
+System.Runtime.Remoting.Messaging/IMethodCallMessage.cs
+System.Runtime.Remoting.Messaging/IMethodMessage.cs
+System.Runtime.Remoting.Messaging/IMethodReturnMessage.cs
+System.Runtime.Remoting.Messaging/IRemotingFormatter.cs
+System.Runtime.Remoting.Messaging/InternalMessageWrapper.cs
+System.Runtime.Remoting.Messaging/ISerializationRootObject.cs
+System.Runtime.Remoting.Messaging/LogicalCallContext.cs
+System.Runtime.Remoting.Messaging/MessageSurrogateFilter.cs
+System.Runtime.Remoting.Messaging/MethodCall.cs
+System.Runtime.Remoting.Messaging/MethodCallMessageWrapper.cs
+System.Runtime.Remoting.Messaging/MethodResponse.cs
+System.Runtime.Remoting.Messaging/MethodCallDictionary.cs
+System.Runtime.Remoting.Messaging/MethodDictionary.cs
+System.Runtime.Remoting.Messaging/MethodReturnDictionary.cs
+System.Runtime.Remoting.Messaging/MethodReturnMessageWrapper.cs
+System.Runtime.Remoting.Messaging/MonoMethodMessage.cs
+System.Runtime.Remoting.Messaging/OneWayAttribute.cs
+System.Runtime.Remoting.Messaging/RemotingSurrogateSelector.cs
+System.Runtime.Remoting.Messaging/RemotingSurrogate.cs
+System.Runtime.Remoting.Messaging/ReturnMessage.cs
+System.Runtime.Remoting.Messaging/ServerContextTerminatorSink.cs
+System.Runtime.Remoting.Messaging/ServerObjectTerminatorSink.cs
+System.Runtime.Remoting.Messaging/StackBuilderSink.cs
+System.Runtime.Remoting.Messaging/CADMessages.cs
+System.Runtime.Remoting.Metadata/SoapAttribute.cs
+System.Runtime.Remoting.Metadata/SoapFieldAttribute.cs
+System.Runtime.Remoting.Metadata/SoapMethodAttribute.cs
+System.Runtime.Remoting.Metadata/SoapOption.cs
+System.Runtime.Remoting.Metadata/SoapParameterAttribute.cs
+System.Runtime.Remoting.Metadata/SoapTypeAttribute.cs
+System.Runtime.Remoting.Metadata/XmlFieldOrderOption.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/ISoapXsd.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapAnyUri.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapEntity.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapMonth.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNonNegativeInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapToken.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapBase64Binary.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapHexBinary.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapMonthDay.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNonPositiveInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapYear.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDate.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapHelper.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapId.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNormalizedString.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapYearMonth.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDateTime.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapIdref.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNcName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNotation.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDay.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapIdrefs.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNegativeInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapPositiveInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDuration.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNmtoken.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapQName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapEntities.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapLanguage.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNmtokens.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapTime.cs
+System.Runtime.Remoting.Proxies/RealProxy.cs
+System.Runtime.Remoting.Proxies/RemotingProxy.cs
+System.Runtime.Remoting.Proxies/ProxyAttribute.cs
+System.Runtime.Remoting.Services/EnterpriseServicesHelper.cs
+System.Runtime.Remoting.Services/ITrackingHandler.cs
+System.Runtime.Remoting.Services/TrackingServices.cs
+System.Runtime.Serialization/Formatter.cs
+System.Runtime.Serialization/FormatterConverter.cs
+System.Runtime.Serialization/FormatterServices.cs
+System.Runtime.Serialization/IDeserializationCallback.cs
+System.Runtime.Serialization/IFormatter.cs
+System.Runtime.Serialization/IFormatterConverter.cs
+System.Runtime.Serialization/IObjectReference.cs
+System.Runtime.Serialization/ISafeSerializationData.cs
+System.Runtime.Serialization/ISerializable.cs
+System.Runtime.Serialization/ISerializationSurrogate.cs
+System.Runtime.Serialization/ISurrogateSelector.cs
+System.Runtime.Serialization/ObjectIDGenerator.cs
+System.Runtime.Serialization/ObjectManager.cs
+System.Runtime.Serialization/OnDeserializedAttribute.cs
+System.Runtime.Serialization/OnDeserializingAttribute.cs
+System.Runtime.Serialization/OnSerializedAttribute.cs
+System.Runtime.Serialization/OnSerializingAttribute.cs
+System.Runtime.Serialization/OptionalFieldAttribute.cs
+System.Runtime.Serialization/SafeSerializationEventArgs.cs
+System.Runtime.Serialization/SerializationBinder.cs
+System.Runtime.Serialization/SerializationCallbacks.cs
+System.Runtime.Serialization/SerializationEntry.cs
+System.Runtime.Serialization/SerializationException.cs
+System.Runtime.Serialization/SerializationInfo.cs
+System.Runtime.Serialization/SerializationInfoEnumerator.cs
+System.Runtime.Serialization/SerializationObjectManager.cs
+System.Runtime.Serialization/StreamingContext.cs
+System.Runtime.Serialization/StreamingContextStates.cs
+System.Runtime.Serialization/SurrogateSelector.cs
+System.Runtime.Serialization.Formatters/FormatterAssemblyStyle.cs
+System.Runtime.Serialization.Formatters/FormatterTopObjectStyle.cs
+System.Runtime.Serialization.Formatters/FormatterTypeStyle.cs
+System.Runtime.Serialization.Formatters/IFieldInfo.cs
+System.Runtime.Serialization.Formatters/InternalArrayTypeE.cs
+System.Runtime.Serialization.Formatters/InternalElementTypeE.cs
+System.Runtime.Serialization.Formatters/InternalMemberTypeE.cs
+System.Runtime.Serialization.Formatters/InternalMemberValueE.cs
+System.Runtime.Serialization.Formatters/InternalNameSpaceE.cs
+System.Runtime.Serialization.Formatters/InternalObjectPositionE.cs
+System.Runtime.Serialization.Formatters/InternalObjectTypeE.cs
+System.Runtime.Serialization.Formatters/InternalParseStateE.cs
+System.Runtime.Serialization.Formatters/InternalParseTypeE.cs
+System.Runtime.Serialization.Formatters/InternalPrimitiveTypeE.cs
+System.Runtime.Serialization.Formatters/InternalRM.cs
+System.Runtime.Serialization.Formatters/InternalSerializerTypeE.cs
+System.Runtime.Serialization.Formatters/InternalST.cs
+System.Runtime.Serialization.Formatters/ISoapMessage.cs
+System.Runtime.Serialization.Formatters/ServerFault.cs
+System.Runtime.Serialization.Formatters/SoapFault.cs
+System.Runtime.Serialization.Formatters/SoapMessage.cs
+System.Runtime.Serialization.Formatters/TypeFilterLevel.cs
+System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs
+System.Runtime.Serialization.Formatters.Binary/BinaryCommon.cs
+System.Runtime.Serialization.Formatters.Binary/CodeGenerator.cs
+System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs
+System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs
+System.Runtime.Serialization.Formatters.Binary/MessageFormatter.cs
+System.Runtime.Versioning/CompatibilitySwitch.cs
+System.Runtime.Versioning/ComponentGuaranteesAttribute.cs
+System.Runtime.Versioning/ComponentGuaranteesOptions.cs
+System.Runtime.Versioning/ResourceConsumptionAttribute.cs
+System.Runtime.Versioning/ResourceExposureAttribute.cs
+System.Runtime.Versioning/ResourceScope.cs
+System.Runtime.Versioning/TargetFrameworkAttribute.cs
+System.Runtime.Versioning/VersioningHelper.cs
+System.Security/AllowPartiallyTrustedCallersAttribute.cs
+System.Security/CodeAccessPermission.cs
+System.Security/HostProtectionException.cs
+System.Security/HostSecurityManager.cs
+System.Security/HostSecurityManagerFlags.cs
+System.Security/IEvidenceFactory.cs
+System.Security/IPermission.cs
+System.Security/ISecurityEncodable.cs
+System.Security/ISecurityPolicyEncodable.cs
+System.Security/IStackWalk.cs
+System.Security/NamedPermissionSet.cs
+System.Security/PermissionBuilder.cs
+System.Security/PermissionSet.cs
+System.Security/PolicyLevelType.cs
+System.Security/SecureString.cs
+System.Security/SecurityContext.cs
+System.Security/SecurityContextSource.cs
+System.Security/SecurityCriticalAttribute.cs
+System.Security/SecurityCriticalScope.cs
+System.Security/SecurityElement.cs
+System.Security/SecurityFrame.cs
+System.Security/SecurityException.cs
+System.Security/SecurityManager.cs
+System.Security/SecurityManager_mobile.cs
+System.Security/SecurityRuleSet.cs
+System.Security/SecurityRulesAttribute.cs
+System.Security/SecuritySafeCriticalAttribute.cs
+System.Security/SecurityState.cs
+System.Security/SecurityTransparentAttribute.cs
+System.Security/SecurityTreatAsSafeAttribute.cs
+System.Security/SecurityZone.cs
+System.Security/SuppressUnmanagedCodeSecurityAttribute.cs
+System.Security/UnverifiableCodeAttribute.cs
+System.Security/VerificationException.cs
+System.Security/XmlSyntaxException.cs
+System.Security.AccessControl/AccessControlActions.cs
+System.Security.AccessControl/AccessControlModification.cs
+System.Security.AccessControl/AccessControlSections.cs
+System.Security.AccessControl/AccessControlType.cs
+System.Security.AccessControl/AccessRule.cs
+System.Security.AccessControl/AccessRule_T.cs
+System.Security.AccessControl/AceEnumerator.cs
+System.Security.AccessControl/AceFlags.cs
+System.Security.AccessControl/AceQualifier.cs
+System.Security.AccessControl/AceType.cs
+System.Security.AccessControl/AuditFlags.cs
+System.Security.AccessControl/AuditRule.cs
+System.Security.AccessControl/AuditRule_T.cs
+System.Security.AccessControl/AuthorizationRule.cs
+System.Security.AccessControl/AuthorizationRuleCollection.cs
+System.Security.AccessControl/CommonAce.cs
+System.Security.AccessControl/CommonAcl.cs
+System.Security.AccessControl/CommonObjectSecurity.cs
+System.Security.AccessControl/CommonSecurityDescriptor.cs
+System.Security.AccessControl/CompoundAce.cs
+System.Security.AccessControl/CompoundAceType.cs
+System.Security.AccessControl/ControlFlags.cs
+System.Security.AccessControl/CryptoKeyAccessRule.cs
+System.Security.AccessControl/CryptoKeyAuditRule.cs
+System.Security.AccessControl/CryptoKeyRights.cs
+System.Security.AccessControl/CryptoKeySecurity.cs
+System.Security.AccessControl/CustomAce.cs
+System.Security.AccessControl/DirectoryObjectSecurity.cs
+System.Security.AccessControl/DirectorySecurity.cs
+System.Security.AccessControl/DiscretionaryAcl.cs
+System.Security.AccessControl/EventWaitHandleAccessRule.cs
+System.Security.AccessControl/EventWaitHandleAuditRule.cs
+System.Security.AccessControl/EventWaitHandleRights.cs
+System.Security.AccessControl/EventWaitHandleSecurity.cs
+System.Security.AccessControl/FileSecurity.cs
+System.Security.AccessControl/FileSystemAccessRule.cs
+System.Security.AccessControl/FileSystemAuditRule.cs
+System.Security.AccessControl/FileSystemRights.cs
+System.Security.AccessControl/FileSystemSecurity.cs
+System.Security.AccessControl/GenericAce.cs
+System.Security.AccessControl/GenericAcl.cs
+System.Security.AccessControl/GenericSecurityDescriptor.cs
+System.Security.AccessControl/InheritanceFlags.cs
+System.Security.AccessControl/KnownAce.cs
+System.Security.AccessControl/MutexAccessRule.cs
+System.Security.AccessControl/MutexAuditRule.cs
+System.Security.AccessControl/MutexRights.cs
+System.Security.AccessControl/MutexSecurity.cs
+System.Security.AccessControl/NativeObjectSecurity.cs
+System.Security.AccessControl/ObjectAccessRule.cs
+System.Security.AccessControl/ObjectAce.cs
+System.Security.AccessControl/ObjectAceFlags.cs
+System.Security.AccessControl/ObjectAuditRule.cs
+System.Security.AccessControl/ObjectSecurity.cs
+System.Security.AccessControl/ObjectSecurity_T.cs
+System.Security.AccessControl/PrivilegeNotHeldException.cs
+System.Security.AccessControl/PropagationFlags.cs
+System.Security.AccessControl/QualifiedAce.cs
+System.Security.AccessControl/RawAcl.cs
+System.Security.AccessControl/RawSecurityDescriptor.cs
+System.Security.AccessControl/RegistryAccessRule.cs
+System.Security.AccessControl/RegistryAuditRule.cs
+System.Security.AccessControl/RegistryRights.cs
+System.Security.AccessControl/RegistrySecurity.cs
+System.Security.AccessControl/ResourceType.cs
+System.Security.AccessControl/SddlAccessRight.cs
+System.Security.AccessControl/SecurityInfos.cs
+System.Security.AccessControl/SystemAcl.cs
+../System.Core/System.Security.Cryptography/Aes.cs
+System.Security.Claims/Claim.cs
+System.Security.Claims/ClaimsIdentity.cs
+System.Security.Claims/ClaimsPrincipal.cs
+System.Security.Claims/ClaimTypes.cs
+System.Security.Claims/ClaimValueTypes.cs
+System.Security.Cryptography/AsymmetricAlgorithm.cs
+System.Security.Cryptography/AsymmetricKeyExchangeDeformatter.cs
+System.Security.Cryptography/AsymmetricKeyExchangeFormatter.cs
+System.Security.Cryptography/AsymmetricSignatureDeformatter.cs
+System.Security.Cryptography/AsymmetricSignatureFormatter.cs
+System.Security.Cryptography/Base64Constants.cs
+System.Security.Cryptography/CipherMode.cs
+System.Security.Cryptography/CryptoAPITransform.cs
+System.Security.Cryptography/CryptoConfig.cs
+System.Security.Cryptography/CryptoConfig_2_1.cs
+System.Security.Cryptography/CryptoConfig.fullaot.cs
+System.Security.Cryptography/CryptographicException.cs
+System.Security.Cryptography/CryptographicUnexpectedOperationExcpetion.cs
+System.Security.Cryptography/CryptoStream.cs
+System.Security.Cryptography/CryptoStreamMode.cs
+System.Security.Cryptography/CspKeyContainerInfo.cs
+System.Security.Cryptography/CspParameters.cs
+System.Security.Cryptography/CspProviderFlags.cs
+System.Security.Cryptography/DeriveBytes.cs
+System.Security.Cryptography/DES.cs
+System.Security.Cryptography/DESCryptoServiceProvider.cs
+System.Security.Cryptography/DSA.cs
+System.Security.Cryptography/DSACryptoServiceProvider.cs
+System.Security.Cryptography/DSAParameters.cs
+System.Security.Cryptography/DSASignatureDeformatter.cs
+System.Security.Cryptography/DSASignatureFormatter.cs
+System.Security.Cryptography/FromBase64Transform.cs
+System.Security.Cryptography/HashAlgorithm.cs
+System.Security.Cryptography/HMAC.cs
+System.Security.Cryptography/HMACMD5.cs
+System.Security.Cryptography/HMACRIPEMD160.cs
+System.Security.Cryptography/HMACSHA1.cs
+System.Security.Cryptography/HMACSHA256.cs
+System.Security.Cryptography/HMACSHA384.cs
+System.Security.Cryptography/HMACSHA512.cs
+System.Security.Cryptography/ICryptoTransform.cs
+System.Security.Cryptography/ICspAsymmetricAlgorithm.cs
+System.Security.Cryptography/KeyedHashAlgorithm.cs
+System.Security.Cryptography/KeyNumber.cs
+System.Security.Cryptography/KeySizes.cs
+System.Security.Cryptography/MACTripleDES.cs
+System.Security.Cryptography/MaskGenerationMethod.cs
+System.Security.Cryptography/MD5.cs
+System.Security.Cryptography/MD5CryptoServiceProvider.cs
+System.Security.Cryptography/PaddingMode.cs
+System.Security.Cryptography/PasswordDeriveBytes.cs
+System.Security.Cryptography/PKCS1MaskGenerationMethod.cs
+System.Security.Cryptography/RandomNumberGenerator.cs
+System.Security.Cryptography/RC2.cs
+System.Security.Cryptography/RC2CryptoServiceProvider.cs
+System.Security.Cryptography/Rfc2898DeriveBytes.cs
+System.Security.Cryptography/Rijndael.cs
+System.Security.Cryptography/RijndaelManaged.cs
+System.Security.Cryptography/RijndaelManagedTransform.cs
+System.Security.Cryptography/RIPEMD160.cs
+System.Security.Cryptography/RIPEMD160Managed.cs
+System.Security.Cryptography/RNGCryptoServiceProvider.cs
+System.Security.Cryptography/RSA.cs
+System.Security.Cryptography/RSACryptoServiceProvider.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeDeformatter.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeFormatter.cs
+System.Security.Cryptography/RSAParameters.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeDeformatter.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeFormatter.cs
+System.Security.Cryptography/RSAPKCS1SignatureDeformatter.cs
+System.Security.Cryptography/RSAPKCS1SignatureFormatter.cs
+System.Security.Cryptography/SHA1.cs
+System.Security.Cryptography/SHA1CryptoServiceProvider.cs
+System.Security.Cryptography/SHA1Managed.cs
+System.Security.Cryptography/SHA256.cs
+System.Security.Cryptography/SHA256Managed.cs
+System.Security.Cryptography/SHA384.cs
+System.Security.Cryptography/SHA384Managed.cs
+System.Security.Cryptography/SHA512.cs
+System.Security.Cryptography/SHA512Managed.cs
+System.Security.Cryptography/SHAConstants.cs
+System.Security.Cryptography/SignatureDescription.cs
+System.Security.Cryptography/SymmetricAlgorithm.cs
+System.Security.Cryptography/ToBase64Transform.cs
+System.Security.Cryptography/TripleDES.cs
+System.Security.Cryptography/TripleDESCryptoServiceProvider.cs
+System.Security.Cryptography.X509Certificates/X509Certificate.cs
+System.Security.Cryptography.X509Certificates/X509Certificate20.cs
+System.Security.Cryptography.X509Certificates/X509ContentType.cs
+System.Security.Cryptography.X509Certificates/X509KeyStorageFlags.cs
+System.Security.Permissions/CodeAccessSecurityAttribute.cs
+System.Security.Permissions/EnvironmentPermission.cs
+System.Security.Permissions/EnvironmentPermissionAccess.cs
+System.Security.Permissions/EnvironmentPermissionAttribute.cs
+System.Security.Permissions/FileDialogPermission.cs 
+System.Security.Permissions/FileDialogPermissionAccess.cs
+System.Security.Permissions/FileDialogPermissionAttribute.cs
+System.Security.Permissions/FileIOPermission.cs
+System.Security.Permissions/FileIOPermissionAccess.cs
+System.Security.Permissions/FileIOPermissionAttribute.cs
+System.Security.Permissions/GacIdentityPermission.cs
+System.Security.Permissions/GacIdentityPermissionAttribute.cs
+System.Security.Permissions/HostProtectionAttribute.cs
+System.Security.Permissions/HostProtectionPermission.cs
+System.Security.Permissions/HostProtectionResource.cs
+System.Security.Permissions/IBuiltInPermission.cs
+System.Security.Permissions/IsolatedStorageContainment.cs
+System.Security.Permissions/IsolatedStorageFilePermission.cs 
+System.Security.Permissions/IsolatedStorageFilePermissionAttribute.cs
+System.Security.Permissions/IsolatedStoragePermission.cs
+System.Security.Permissions/IsolatedStoragePermissionAttribute.cs
+System.Security.Permissions/IUnrestrictedPermission.cs
+System.Security.Permissions/KeyContainerPermission.cs
+System.Security.Permissions/KeyContainerPermissionAccessEntry.cs
+System.Security.Permissions/KeyContainerPermissionAccessEntryCollection.cs
+System.Security.Permissions/KeyContainerPermissionAccessEntryEnumerator.cs
+System.Security.Permissions/KeyContainerPermissionAttribute.cs
+System.Security.Permissions/KeyContainerPermissionFlags.cs
+System.Security.Permissions/PermissionSetAttribute.cs
+System.Security.Permissions/PermissionState.cs
+System.Security.Permissions/PrincipalPermission.cs 
+System.Security.Permissions/PrincipalPermissionAttribute.cs
+System.Security.Permissions/PublisherIdentityPermission.cs
+System.Security.Permissions/PublisherIdentityPermissionAttribute.cs 
+System.Security.Permissions/ReflectionPermission.cs
+System.Security.Permissions/ReflectionPermissionAttribute.cs
+System.Security.Permissions/ReflectionPermissionFlag.cs
+System.Security.Permissions/RegistryPermission.cs
+System.Security.Permissions/RegistryPermissionAccess.cs
+System.Security.Permissions/RegistryPermissionAttribute.cs
+System.Security.Permissions/SecurityAction.cs
+System.Security.Permissions/SecurityAttribute.cs
+System.Security.Permissions/SecurityPermission.cs
+System.Security.Permissions/SecurityPermissionAttribute.cs
+System.Security.Permissions/SecurityPermissionFlag.cs
+System.Security.Permissions/SiteIdentityPermission.cs 
+System.Security.Permissions/SiteIdentityPermissionAttribute.cs
+System.Security.Permissions/StrongNameIdentityPermission.cs
+System.Security.Permissions/StrongNamePermissionAttribute.cs
+System.Security.Permissions/StrongNamePublicKeyBlob.cs
+System.Security.Permissions/UIPermission.cs 
+System.Security.Permissions/UIPermissionAttribute.cs
+System.Security.Permissions/UIPermissionClipboard.cs
+System.Security.Permissions/UIPermissionWindow.cs
+System.Security.Permissions/UrlIdentityPermission.cs
+System.Security.Permissions/UrlIdentityPermissionAttribute.cs
+System.Security.Permissions/ZoneIdentityPermission.cs
+System.Security.Permissions/ZoneIdentityPermissionAttribute.cs
+System.Security.Policy/AllMembershipCondition.cs
+System.Security.Policy/ApplicationDirectory.cs
+System.Security.Policy/ApplicationDirectoryMembershipCondition.cs
+System.Security.Policy/ApplicationSecurityInfo.cs
+System.Security.Policy/ApplicationSecurityManager.cs
+System.Security.Policy/ApplicationTrust.cs
+System.Security.Policy/ApplicationTrustCollection.cs
+System.Security.Policy/ApplicationTrustEnumerator.cs
+System.Security.Policy/ApplicationVersionMatch.cs
+System.Security.Policy/CodeConnectAccess.cs
+System.Security.Policy/CodeGroup.cs
+System.Security.Policy/DefaultPolicies.cs
+System.Security.Policy/Evidence.cs
+System.Security.Policy/EvidenceBase.cs
+System.Security.Policy/FileCodeGroup.cs
+System.Security.Policy/FirstMatchCodeGroup.cs
+System.Security.Policy/Gac.cs
+System.Security.Policy/GacMembershipCondition.cs
+System.Security.Policy/Hash.cs
+System.Security.Policy/HashMembershipCondition.cs
+System.Security.Policy/IApplicationTrustManager.cs
+System.Security.Policy/IBuiltInEvidence.cs
+System.Security.Policy/IConstantMembershipCondition.cs
+System.Security.Policy/IIdentityPermissionFactory.cs
+System.Security.Policy/IMembershipCondition.cs
+System.Security.Policy/MembershipConditionHelper.cs
+System.Security.Policy/MonoTrustManager.cs
+System.Security.Policy/NetCodeGroup.cs
+System.Security.Policy/PermissionRequestEvidence.cs
+System.Security.Policy/PolicyException.cs
+System.Security.Policy/PolicyLevel.cs
+System.Security.Policy/PolicyStatement.cs
+System.Security.Policy/PolicyStatementAttribute.cs
+System.Security.Policy/Publisher.cs
+System.Security.Policy/PublisherMembershipCondition.cs
+System.Security.Policy/Site.cs
+System.Security.Policy/SiteMembershipCondition.cs
+System.Security.Policy/StrongName.cs
+System.Security.Policy/StrongNameMembershipCondition.cs
+System.Security.Policy/TrustManagerContext.cs
+System.Security.Policy/TrustManagerUIContext.cs
+System.Security.Policy/UnionCodeGroup.cs
+System.Security.Policy/Url.cs
+System.Security.Policy/UrlMembershipCondition.cs
+System.Security.Policy/Zone.cs
+System.Security.Policy/ZoneMembershipCondition.cs
+System.Security.Principal/GenericIdentity.cs
+System.Security.Principal/GenericPrincipal.cs
+System.Security.Principal/IdentityNotMappedException.cs
+System.Security.Principal/IdentityReferenceCollection.cs
+System.Security.Principal/IdentityReference.cs
+System.Security.Principal/IIdentity.cs
+System.Security.Principal/IPrincipal.cs
+System.Security.Principal/NTAccount.cs
+System.Security.Principal/PrincipalPolicy.cs
+System.Security.Principal/SecurityIdentifier.cs
+System.Security.Principal/TokenAccessLevels.cs
+System.Security.Principal/TokenImpersonationLevel.cs
+System.Security.Principal/WellKnownAccount.cs
+System.Security.Principal/WellKnownSidType.cs
+System.Security.Principal/WindowsAccountType.cs
+System.Security.Principal/WindowsBuiltInRole.cs
+System.Security.Principal/WindowsIdentity.cs
+System.Security.Principal/WindowsImpersonationContext.cs
+System.Security.Principal/WindowsPrincipal.cs
+System.Text/ASCIIEncoding.cs
+System.Text/CodePageEncoding.cs
+System.Text/Decoder.cs
+System.Text/DecoderExceptionFallback.cs
+System.Text/DecoderExceptionFallbackBuffer.cs
+System.Text/DecoderFallback.cs
+System.Text/DecoderFallbackBuffer.cs
+System.Text/DecoderFallbackException.cs
+System.Text/DecoderReplacementFallback.cs
+System.Text/DecoderReplacementFallbackBuffer.cs
+System.Text/Encoder.cs
+System.Text/EncoderExceptionFallback.cs
+System.Text/EncoderExceptionFallbackBuffer.cs
+System.Text/EncoderFallback.cs
+System.Text/EncoderFallbackBuffer.cs
+System.Text/EncoderFallbackException.cs
+System.Text/EncoderReplacementFallback.cs
+System.Text/EncoderReplacementFallbackBuffer.cs
+System.Text/Encoding.cs
+System.Text/EncodingEncoder.cs
+System.Text/EncodingDecoder.cs
+System.Text/EncodingInfo.cs
+System.Text/Latin1Encoding.cs
+System.Text/MLangCodePageEncoding.cs
+System.Text/NormalizationForm.cs
+System.Text/StringBuilder.cs
+System.Text/SurrogateEncoder.cs
+System.Text/UnicodeEncoding.cs
+System.Text/UTF7Encoding.cs
+System.Text/UTF8Encoding.cs
+System.Text/UTF32Encoding.cs
+System.Threading/AbandonedMutexException.cs
+System.Threading/ApartmentState.cs
+System.Threading/AsyncFlowControl.cs
+System.Threading/AutoResetEvent.cs
+System.Threading/CompressedStack.cs
+System.Threading/ContextCallback.cs
+System.Threading/EventResetMode.cs
+System.Threading/EventWaitHandle.cs
+System.Threading/ExecutionContext.cs
+System.Threading/HostExecutionContext.cs
+System.Threading/HostExecutionContextManager.cs
+System.Threading/Interlocked.cs
+System.Threading/IOCompletionCallback.cs
+System.Threading/LazyThreadSafetyMode.cs
+System.Threading/LockCookie.cs
+System.Threading/LockQueue.cs
+System.Threading/LockRecursionException.cs
+System.Threading/ManualResetEvent.cs
+System.Threading/Monitor.cs
+System.Threading/Mutex.cs
+System.Threading/NamedDataSlot.cs
+System.Threading/NativeEventCalls.cs
+System.Threading/NativeOverlapped.cs
+System.Threading/Overlapped.cs
+System.Threading/ParameterizedThreadStart.cs
+System.Threading/ReaderWriterLock.cs
+System.Threading/RegisteredWaitHandle.cs
+System.Threading/SendOrPostCallback.cs
+../System/System.Threading/SemaphoreFullException.cs
+System.Threading/SynchronizationContext.cs
+System.Threading/SynchronizationLockException.cs
+System.Threading/Thread.cs
+System.Threading/ThreadAbortException.cs
+System.Threading/ThreadInterruptedException.cs
+System.Threading/ThreadPool.cs
+System.Threading/ThreadPriority.cs
+System.Threading/ThreadStart.cs
+System.Threading/ThreadStartException.cs
+System.Threading/ThreadState.cs
+System.Threading/ThreadStateException.cs
+System.Threading/Timeout.cs
+System.Threading/Timer.cs
+System.Threading/TimerCallback.cs
+System.Threading/Volatile.cs
+System.Threading/WaitCallback.cs
+System.Threading/WaitHandle.cs
+System.Threading/WaitHandleCannotBeOpenedException.cs
+System.Threading/WaitOrTimerCallback.cs
+System.Collections.Generic/CollectionDebuggerView.cs
+System.Collections.Generic/Dictionary.cs
+System.Collections.Generic/ICollection.cs
+System.Collections.Generic/IEnumerable.cs
+System.Collections.Generic/IEnumerator.cs
+System.Collections.Generic/IList.cs
+System.Collections.Generic/IComparer.cs
+System.Collections.Generic/IEqualityComparer.cs
+System.Collections.Generic/IDictionary.cs
+System.Collections.Generic/IReadOnlyCollection.cs
+System.Collections.Generic/IReadOnlyList.cs
+System.Collections.Generic/IReadOnlyDictionary.cs
+System.Collections.Generic/KeyValuePair.cs
+System.Collections.Generic/EqualityComparer.cs
+System.Collections.Generic/KeyNotFoundException.cs
+System.Collections.Generic/List.cs
+System.Collections.ObjectModel/Collection.cs
+System.Collections.ObjectModel/KeyedCollection.cs
+System.Collections.ObjectModel/ReadOnlyCollection.cs
+System.Collections.ObjectModel/ReadOnlyDictionary.cs
+System/Action.cs
+System/ArraySegment.cs
+System/Comparison.cs
+System/Converter.cs
+System/Predicate.cs
+System/Progress.cs
+System.Collections.Generic/Comparer.cs
+
+System.Threading.Tasks/ConcurrentExclusiveSchedulerPair.cs
+System.Threading.Tasks/DecoupledTask.cs
+System.Threading.Tasks/TaskFactory.cs
+System.Threading.Tasks/TaskFactory_T.cs
+System.Threading.Tasks/TaskStatus.cs
+System.Threading.Tasks/TaskCreationOptions.cs
+System.Threading.Tasks/CyclicDeque.cs
+System.Threading.Tasks/IConcurrentDeque.cs
+System.Threading.Tasks/PopResult.cs
+System.Threading.Tasks/TaskScheduler.cs
+System.Threading.Tasks/TaskContinuationOptions.cs
+System.Threading.Tasks/TaskCanceledException.cs
+System.Threading.Tasks/Task_T.cs
+System.Threading.Tasks/Task.cs
+System.Threading.Tasks/TaskCompletionQueue.cs
+System.Threading.Tasks/TaskExceptionSlot.cs
+System.Threading.Tasks/TaskActionInvoker.cs
+System.Threading.Tasks/TaskDebuggerView.cs
+System.Threading.Tasks/TaskCompletionSource.cs
+System.Threading.Tasks/TaskContinuation.cs
+System.Threading.Tasks/TaskSchedulerException.cs
+System.Threading.Tasks/TaskConstants.cs
+System.Threading.Tasks/TaskConstants_T.cs
+System.Collections.Concurrent/OrderablePartitioner.cs
+System.Collections.Concurrent/ConcurrentDictionary.cs
+System.Collections.Concurrent/Partitioner.cs
+System.Collections.Concurrent/ConcurrentQueue.cs
+System.Collections.Concurrent/EnumerablePartitionerOptions.cs
+System.Collections.Concurrent.Partitioners/ListPartitioner.cs
+System.Collections.Concurrent.Partitioners/EnumerablePartitioner.cs
+System.Collections.Concurrent.Partitioners/UserRangePartitioner.cs
+System.Collections.Concurrent/IProducerConsumerCollection.cs
+System.Collections.Concurrent/ConcurrentStack.cs
+System.Collections.Concurrent/SplitOrderedList.cs
+System.Collections.Concurrent/ConcurrentOrderedList.cs
+System.Threading/LazyInitializer.cs
+System.Threading/CountdownEvent.cs
+System.Threading/CancellationTokenSource.cs
+System.Threading/CancellationToken.cs
+System.Threading/SpinWait.cs
+System.Threading/SemaphoreSlim.cs
+System.Threading/CancellationTokenRegistration.cs
+System.Threading/SpinLock.cs
+System.Threading/AtomicBoolean.cs
+System.Threading/ManualResetEventSlim.cs
+System.Threading/ThreadLocal.cs
+System.Threading/Watch.cs
+System.Threading.Tasks/ParallelOptions.cs
+System.Threading.Tasks/Parallel.cs
+System.Threading.Tasks/ParallelLoopResult.cs
+System.Threading.Tasks/ParallelLoopState.cs
+System/AggregateException.cs
+System.Threading.Tasks/SimpleConcurrentBag.cs
+System.Threading.Tasks/SynchronizationContextScheduler.cs
+System.Threading.Tasks/UnobservedTaskExceptionEventArgs.cs
+System.Threading.Tasks/TpScheduler.cs
+System.Threading.Tasks/TaskExtensionsImpl.cs
diff --git a/mcs/class/corlib/corlib-net_2_0.csproj b/mcs/class/corlib/corlib-net_2_0.csproj
deleted file mode 100644 (file)
index 5dbd562..0000000
+++ /dev/null
@@ -1,1758 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>612,618,1699</NoWarn>\r
-    <OutputPath>./../../class/lib/net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>True</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>mscorlib</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>612,618,1699</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;INSIDE_CORLIB;LIBC;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>612,618,1699</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>INSIDE_CORLIB;LIBC;NET_1_1;NET_2_0</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="..\..\build\common\Consts.cs" />\r
-    <Compile Include="..\..\build\common\Locale.cs" />\r
-    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\NextPrimeFinder.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\PrimeGeneratorBase.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\SequentialSearchPrimeGeneratorBase.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math.Prime\ConfidenceFactor.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math.Prime\PrimalityTests.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Math\BigInteger.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Authenticode\AuthenticodeBase.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Authenticode\AuthenticodeDeformatter.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\ARC4Managed.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\CryptoTools.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\KeyPairPersistence.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD2.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD2Managed.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD4.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD4Managed.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\PKCS1.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\PKCS8.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\RC4.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\RSAManaged.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\SymmetricTransform.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\BasicConstraintsExtension.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\KeyUsageExtension.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\SubjectKeyIdentifierExtension.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\PKCS12.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X501Name.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Certificate.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509CertificateCollection.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Chain.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509ChainStatusFlags.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509CRL.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Extension.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Extensions.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Store.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509StoreManager.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Stores.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security.X509\X520Attributes.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security\ASN1.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security\ASN1Convert.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security\BitConverterLE.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security\PKCS7.cs" />\r
-    <Compile Include="..\Mono.Security\Mono.Security\StrongName.cs" />\r
-    <Compile Include="..\System.Core\System.Security.Cryptography\Aes.cs" />\r
-    <Compile Include="..\System.Core\System\TimeZoneInfo.AdjustmentRule.cs" />\r
-    <Compile Include="..\System.Core\System\TimeZoneInfo.Android.cs" />\r
-    <Compile Include="..\System.Core\System\TimeZoneInfo.cs" />\r
-    <Compile Include="..\System.Core\System\TimeZoneInfo.MonoTouch.cs" />\r
-    <Compile Include="..\System.Core\System\TimeZoneInfo.TransitionTime.cs" />\r
-    <Compile Include="..\System\System.Threading\SemaphoreFullException.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\CriticalHandleMinusOneIsInvalid.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\CriticalHandleZeroOrMinusOneIsInvalid.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafeFileHandle.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafeHandleMinusOneIsInvalid.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafeHandleZeroOrMinusOneIsInvalid.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafeRegistryHandle.cs" />\r
-    <Compile Include="Microsoft.Win32.SafeHandles\SafeWaitHandle.cs" />\r
-    <Compile Include="Microsoft.Win32\IRegistryApi.cs" />\r
-    <Compile Include="Microsoft.Win32\Registry.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryHive.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryKey.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryKeyPermissionCheck.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryOptions.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryValueKind.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryValueOptions.cs" />\r
-    <Compile Include="Microsoft.Win32\RegistryView.cs" />\r
-    <Compile Include="Microsoft.Win32\UnixRegistryApi.cs" />\r
-    <Compile Include="Microsoft.Win32\Win32RegistryApi.cs" />\r
-    <Compile Include="Microsoft.Win32\Win32ResultCode.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\CodePointIndexer.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\MSCompatUnicodeTable.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\MSCompatUnicodeTableUtil.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\Normalization.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\NormalizationTableUtil.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\SimpleCollator.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\SortKey.cs" />\r
-    <Compile Include="Mono.Globalization.Unicode\SortKeyBuffer.cs" />\r
-    <Compile Include="Mono.Interop\ComInteropProxy.cs" />\r
-    <Compile Include="Mono.Interop\IDispatch.cs" />\r
-    <Compile Include="Mono.Interop\IUnknown.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\DSAManaged.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\HMACAlgorithm.cs" />\r
-    <Compile Include="Mono.Security.Cryptography\MACAlgorithm.cs" />\r
-    <Compile Include="Mono.Security\StrongNameManager.cs" />\r
-    <Compile Include="Mono.Security\Uri.cs" />\r
-    <Compile Include="Mono.Xml\SecurityParser.cs" />\r
-    <Compile Include="Mono.Xml\SmallXmlParser.cs" />\r
-    <Compile Include="Mono\DataConverter.cs" />\r
-    <Compile Include="Mono\Runtime.cs" />\r
-    <Compile Include="System.Collections.Concurrent.Partitioners\EnumerablePartitioner.cs" />\r
-    <Compile Include="System.Collections.Concurrent.Partitioners\ListPartitioner.cs" />\r
-    <Compile Include="System.Collections.Concurrent.Partitioners\UserRangePartitioner.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentDictionary.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentOrderedList.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentQueue.cs" />\r
-    <Compile Include="System.Collections.Concurrent\ConcurrentStack.cs" />\r
-    <Compile Include="System.Collections.Concurrent\EnumerablePartitionerOptions.cs" />\r
-    <Compile Include="System.Collections.Concurrent\IProducerConsumerCollection.cs" />\r
-    <Compile Include="System.Collections.Concurrent\OrderablePartitioner.cs" />\r
-    <Compile Include="System.Collections.Concurrent\Partitioner.cs" />\r
-    <Compile Include="System.Collections.Concurrent\SplitOrderedList.cs" />\r
-    <Compile Include="System.Collections.Generic\CollectionDebuggerView.cs" />\r
-    <Compile Include="System.Collections.Generic\Comparer.cs" />\r
-    <Compile Include="System.Collections.Generic\Dictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\EqualityComparer.cs" />\r
-    <Compile Include="System.Collections.Generic\ICollection.cs" />\r
-    <Compile Include="System.Collections.Generic\IComparer.cs" />\r
-    <Compile Include="System.Collections.Generic\IDictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\IEnumerable.cs" />\r
-    <Compile Include="System.Collections.Generic\IEnumerator.cs" />\r
-    <Compile Include="System.Collections.Generic\IEqualityComparer.cs" />\r
-    <Compile Include="System.Collections.Generic\IList.cs" />\r
-    <Compile Include="System.Collections.Generic\IReadOnlyCollection.cs" />\r
-    <Compile Include="System.Collections.Generic\IReadOnlyDictionary.cs" />\r
-    <Compile Include="System.Collections.Generic\IReadOnlyList.cs" />\r
-    <Compile Include="System.Collections.Generic\KeyNotFoundException.cs" />\r
-    <Compile Include="System.Collections.Generic\KeyValuePair.cs" />\r
-    <Compile Include="System.Collections.Generic\List.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\Collection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\KeyedCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyCollection.cs" />\r
-    <Compile Include="System.Collections.ObjectModel\ReadOnlyDictionary.cs" />\r
-    <Compile Include="System.Collections\ArrayList.cs" />\r
-    <Compile Include="System.Collections\BitArray.cs" />\r
-    <Compile Include="System.Collections\CaseInsensitiveComparer.cs" />\r
-    <Compile Include="System.Collections\CaseInsensitiveHashCodeProvider.cs" />\r
-    <Compile Include="System.Collections\CollectionBase.cs" />\r
-    <Compile Include="System.Collections\CollectionDebuggerView.cs" />\r
-    <Compile Include="System.Collections\Comparer.cs" />\r
-    <Compile Include="System.Collections\DictionaryBase.cs" />\r
-    <Compile Include="System.Collections\DictionaryEntry.cs" />\r
-    <Compile Include="System.Collections\HashPrimeNumbers.cs" />\r
-    <Compile Include="System.Collections\Hashtable.cs" />\r
-    <Compile Include="System.Collections\ICollection.cs" />\r
-    <Compile Include="System.Collections\IComparer.cs" />\r
-    <Compile Include="System.Collections\IDictionary.cs" />\r
-    <Compile Include="System.Collections\IDictionaryEnumerator.cs" />\r
-    <Compile Include="System.Collections\IEnumerable.cs" />\r
-    <Compile Include="System.Collections\IEnumerator.cs" />\r
-    <Compile Include="System.Collections\IEqualityComparer.cs" />\r
-    <Compile Include="System.Collections\IHashCodeProvider.cs" />\r
-    <Compile Include="System.Collections\IList.cs" />\r
-    <Compile Include="System.Collections\IStructuralComparable.cs" />\r
-    <Compile Include="System.Collections\IStructuralEquatable.cs" />\r
-    <Compile Include="System.Collections\Queue.cs" />\r
-    <Compile Include="System.Collections\ReadOnlyCollectionBase.cs" />\r
-    <Compile Include="System.Collections\SortedList.cs" />\r
-    <Compile Include="System.Collections\Stack.cs" />\r
-    <Compile Include="System.Collections\StructuralComparisons.cs" />\r
-    <Compile Include="System.Configuration.Assemblies\AssemblyHash.cs" />\r
-    <Compile Include="System.Configuration.Assemblies\AssemblyHashAlgorithm.cs" />\r
-    <Compile Include="System.Configuration.Assemblies\AssemblyVersionCompatibility.cs" />\r
-    <Compile Include="System.Configuration.Assemblies\ProcessorID.cs" />\r
-    <Compile Include="System.Deployment.Internal\InternalActivationContextHelper.cs" />\r
-    <Compile Include="System.Deployment.Internal\InternalApplicationIdentityHelper.cs" />\r
-    <Compile Include="System.Diagnostics.CodeAnalysis\SuppressMessageAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts.Internal\ContractHelper.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\Contract.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractAbbreviatorAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractArgumentValidatorAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractClassAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractClassForAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractException.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractFailedEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractFailureKind.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractInvariantMethodAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractOptionAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractPublicPropertyNameAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractReferenceAssemblyAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractRuntimeIgnoredAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractShouldAssertException.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\ContractVerificationAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Contracts\PureAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolBinder.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolBinder1.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolDocument.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolDocumentWriter.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolMethod.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolNamespace.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolReader.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolScope.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolVariable.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\ISymbolWriter.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\SymAddressKind.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\SymbolToken.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\SymDocumentType.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\SymLanguageType.cs" />\r
-    <Compile Include="System.Diagnostics.SymbolStore\SymLanguageVendor.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventCommand.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventCommandEventArgs.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventKeywords.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventLevel.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventSource.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\EventSourceAttribute.cs" />\r
-    <Compile Include="System.Diagnostics.Tracing\NonEventAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\ConditionalAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggableAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\Debugger.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerBrowsableAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerBrowsableState.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerDisplayAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerHiddenAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerNonUserCodeAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerStepperBoundaryAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerStepThroughAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerTypeProxyAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\DebuggerVisualizerAttribute.cs" />\r
-    <Compile Include="System.Diagnostics\StackFrame.cs" />\r
-    <Compile Include="System.Diagnostics\StackTrace.cs" />\r
-    <Compile Include="System.Globalization\Calendar.cs" />\r
-    <Compile Include="System.Globalization\CalendarAlgorithmType.cs" />\r
-    <Compile Include="System.Globalization\CalendarWeekRule.cs" />\r
-    <Compile Include="System.Globalization\CalendricalCalculations.cs" />\r
-    <Compile Include="System.Globalization\CharUnicodeInfo.cs" />\r
-    <Compile Include="System.Globalization\ChineseLunisolarCalendar.cs" />\r
-    <Compile Include="System.Globalization\CodePageDataItem.cs" />\r
-    <Compile Include="System.Globalization\CompareInfo.cs" />\r
-    <Compile Include="System.Globalization\CompareOptions.cs" />\r
-    <Compile Include="System.Globalization\CultureInfo.cs" />\r
-    <Compile Include="System.Globalization\CultureNotFoundException.cs" />\r
-    <Compile Include="System.Globalization\CultureTypes.cs" />\r
-    <Compile Include="System.Globalization\DateTimeFormatInfo.cs" />\r
-    <Compile Include="System.Globalization\DateTimeStyles.cs" />\r
-    <Compile Include="System.Globalization\DaylightTime.cs" />\r
-    <Compile Include="System.Globalization\DigitShapes.cs" />\r
-    <Compile Include="System.Globalization\EastAsianLunisolarCalendar.cs" />\r
-    <Compile Include="System.Globalization\GregorianCalendar.cs" />\r
-    <Compile Include="System.Globalization\GregorianCalendarTypes.cs" />\r
-    <Compile Include="System.Globalization\HebrewCalendar.cs" />\r
-    <Compile Include="System.Globalization\HijriCalendar.cs" />\r
-    <Compile Include="System.Globalization\IdnMapping.cs" />\r
-    <Compile Include="System.Globalization\JapaneseCalendar.cs" />\r
-    <Compile Include="System.Globalization\JapaneseLunisolarCalendar.cs" />\r
-    <Compile Include="System.Globalization\JulianCalendar.cs" />\r
-    <Compile Include="System.Globalization\KoreanCalendar.cs" />\r
-    <Compile Include="System.Globalization\KoreanLunisolarCalendar.cs" />\r
-    <Compile Include="System.Globalization\NumberFormatInfo.cs" />\r
-    <Compile Include="System.Globalization\NumberStyles.cs" />\r
-    <Compile Include="System.Globalization\PersianCalendar.cs" />\r
-    <Compile Include="System.Globalization\RegionInfo.cs" />\r
-    <Compile Include="System.Globalization\RegionInfo.MonoTouch.cs" />\r
-    <Compile Include="System.Globalization\SortVersion.cs" />\r
-    <Compile Include="System.Globalization\StringInfo.cs" />\r
-    <Compile Include="System.Globalization\TaiwanCalendar.cs" />\r
-    <Compile Include="System.Globalization\TaiwanLunisolarCalendar.cs" />\r
-    <Compile Include="System.Globalization\TextElementEnumerator.cs" />\r
-    <Compile Include="System.Globalization\TextInfo.cs" />\r
-    <Compile Include="System.Globalization\ThaiBuddhistCalendar.cs" />\r
-    <Compile Include="System.Globalization\TimeSpanStyles.cs" />\r
-    <Compile Include="System.Globalization\UmAlQuraCalendar.cs" />\r
-    <Compile Include="System.Globalization\UnicodeCategory.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\INormalizeForIsolatedStorage.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorage.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageException.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFile.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFileEnumerator.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFileStream.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageScope.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageSecurityOptions.cs" />\r
-    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageSecurityState.cs" />\r
-    <Compile Include="System.IO\BinaryReader.cs" />\r
-    <Compile Include="System.IO\BinaryWriter.cs" />\r
-    <Compile Include="System.IO\BufferedStream.cs" />\r
-    <Compile Include="System.IO\Directory.cs" />\r
-    <Compile Include="System.IO\DirectoryInfo.cs" />\r
-    <Compile Include="System.IO\DirectoryNotFoundException.cs" />\r
-    <Compile Include="System.IO\DriveInfo.cs" />\r
-    <Compile Include="System.IO\DriveNotFoundException.cs" />\r
-    <Compile Include="System.IO\DriveType.cs" />\r
-    <Compile Include="System.IO\EndOfStreamException.cs" />\r
-    <Compile Include="System.IO\File.cs" />\r
-    <Compile Include="System.IO\FileAccess.cs" />\r
-    <Compile Include="System.IO\FileAttributes.cs" />\r
-    <Compile Include="System.IO\FileInfo.cs" />\r
-    <Compile Include="System.IO\FileLoadException.cs" />\r
-    <Compile Include="System.IO\FileMode.cs" />\r
-    <Compile Include="System.IO\FileNotFoundException.cs" />\r
-    <Compile Include="System.IO\FileOptions.cs" />\r
-    <Compile Include="System.IO\FileShare.cs" />\r
-    <Compile Include="System.IO\FileStream.cs" />\r
-    <Compile Include="System.IO\FileStreamAsyncResult.cs" />\r
-    <Compile Include="System.IO\FileSystemInfo.cs" />\r
-    <Compile Include="System.IO\IOException.cs" />\r
-    <Compile Include="System.IO\LogcatTextWriter.cs" />\r
-    <Compile Include="System.IO\MemoryStream.cs" />\r
-    <Compile Include="System.IO\MonoFileType.cs" />\r
-    <Compile Include="System.IO\MonoIO.cs" />\r
-    <Compile Include="System.IO\MonoIOError.cs" />\r
-    <Compile Include="System.IO\MonoIOStat.cs" />\r
-    <Compile Include="System.IO\Path.cs" />\r
-    <Compile Include="System.IO\PathTooLongException.cs" />\r
-    <Compile Include="System.IO\SearchOption.cs" />\r
-    <Compile Include="System.IO\SearchPattern.cs" />\r
-    <Compile Include="System.IO\SeekOrigin.cs" />\r
-    <Compile Include="System.IO\Stream.cs" />\r
-    <Compile Include="System.IO\StreamReader.cs" />\r
-    <Compile Include="System.IO\StreamWriter.cs" />\r
-    <Compile Include="System.IO\StringReader.cs" />\r
-    <Compile Include="System.IO\StringWriter.cs" />\r
-    <Compile Include="System.IO\TextReader.cs" />\r
-    <Compile Include="System.IO\TextWriter.cs" />\r
-    <Compile Include="System.IO\UnexceptionalStreamReader.cs" />\r
-    <Compile Include="System.IO\UnexceptionalStreamWriter.cs" />\r
-    <Compile Include="System.IO\UnmanagedMemoryAccessor.cs" />\r
-    <Compile Include="System.IO\UnmanagedMemoryStream.cs" />\r
-    <Compile Include="System.Reflection.Emit\AssemblyBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\AssemblyBuilderAccess.cs" />\r
-    <Compile Include="System.Reflection.Emit\ConstructorBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\ConstructorOnTypeBuilderInst.cs" />\r
-    <Compile Include="System.Reflection.Emit\CustomAttributeBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\DerivedTypes.cs" />\r
-    <Compile Include="System.Reflection.Emit\DynamicILInfo.cs" />\r
-    <Compile Include="System.Reflection.Emit\DynamicMethod.cs" />\r
-    <Compile Include="System.Reflection.Emit\EnumBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\EventBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\EventOnTypeBuilderInst.cs" />\r
-    <Compile Include="System.Reflection.Emit\EventToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\FieldBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\FieldOnTypeBuilderInst.cs" />\r
-    <Compile Include="System.Reflection.Emit\FieldToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\FlowControl.cs" />\r
-    <Compile Include="System.Reflection.Emit\GenericTypeParameterBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\ILGenerator.cs" />\r
-    <Compile Include="System.Reflection.Emit\Label.cs" />\r
-    <Compile Include="System.Reflection.Emit\LocalBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\MethodBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\MethodOnTypeBuilderInst.cs" />\r
-    <Compile Include="System.Reflection.Emit\MethodRental.cs" />\r
-    <Compile Include="System.Reflection.Emit\MethodToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\ModuleBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\MonoArrayMethod.cs" />\r
-    <Compile Include="System.Reflection.Emit\OpCode.cs" />\r
-    <Compile Include="System.Reflection.Emit\OpCodeNames.cs" />\r
-    <Compile Include="System.Reflection.Emit\OpCodes.cs" />\r
-    <Compile Include="System.Reflection.Emit\OpCodeType.cs" />\r
-    <Compile Include="System.Reflection.Emit\OperandType.cs" />\r
-    <Compile Include="System.Reflection.Emit\PackingSize.cs" />\r
-    <Compile Include="System.Reflection.Emit\ParameterBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\ParameterToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\PEFileKinds.cs" />\r
-    <Compile Include="System.Reflection.Emit\PropertyBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\PropertyOnTypeBuilderInst.cs" />\r
-    <Compile Include="System.Reflection.Emit\PropertyToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\SignatureHelper.cs" />\r
-    <Compile Include="System.Reflection.Emit\SignatureToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\StackBehaviour.cs" />\r
-    <Compile Include="System.Reflection.Emit\StringToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\TypeBuilder.cs" />\r
-    <Compile Include="System.Reflection.Emit\TypeToken.cs" />\r
-    <Compile Include="System.Reflection.Emit\UnmanagedMarshal.cs" />\r
-    <Compile Include="System.Reflection\AmbiguousMatchException.cs" />\r
-    <Compile Include="System.Reflection\Assembly.cs" />\r
-    <Compile Include="System.Reflection\AssemblyAlgorithmIdAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyCompanyAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyConfigurationAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyContentType.cs" />\r
-    <Compile Include="System.Reflection\AssemblyCopyrightAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyCultureAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyDefaultAliasAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyDelaySignAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyDescriptionAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyFileVersionAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyFlagsAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyInformationalVersionAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyKeyFileAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyKeyNameAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyMetadataAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyName.cs" />\r
-    <Compile Include="System.Reflection\AssemblyNameFlags.cs" />\r
-    <Compile Include="System.Reflection\AssemblyNameProxy.cs" />\r
-    <Compile Include="System.Reflection\AssemblyProductAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblySignatureKeyAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyTitleAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyTradeMarkAttribute.cs" />\r
-    <Compile Include="System.Reflection\AssemblyVersionAttribute.cs" />\r
-    <Compile Include="System.Reflection\Binder.cs" />\r
-    <Compile Include="System.Reflection\BindingFlags.cs" />\r
-    <Compile Include="System.Reflection\CallingConventions.cs" />\r
-    <Compile Include="System.Reflection\ConstructorInfo.cs" />\r
-    <Compile Include="System.Reflection\CustomAttributeData.cs" />\r
-    <Compile Include="System.Reflection\CustomAttributeExtensions.cs" />\r
-    <Compile Include="System.Reflection\CustomAttributeFormatException.cs" />\r
-    <Compile Include="System.Reflection\CustomAttributeNamedArgument.cs" />\r
-    <Compile Include="System.Reflection\CustomAttributeTypedArgument.cs" />\r
-    <Compile Include="System.Reflection\DefaultMemberAttribute.cs" />\r
-    <Compile Include="System.Reflection\EventAttributes.cs" />\r
-    <Compile Include="System.Reflection\EventInfo.cs" />\r
-    <Compile Include="System.Reflection\ExceptionHandlingClause.cs" />\r
-    <Compile Include="System.Reflection\ExceptionHandlingClauseOptions.cs" />\r
-    <Compile Include="System.Reflection\FieldAttributes.cs" />\r
-    <Compile Include="System.Reflection\FieldInfo.cs" />\r
-    <Compile Include="System.Reflection\GenericParameterAttributes.cs" />\r
-    <Compile Include="System.Reflection\ICustomAttributeProvider.cs" />\r
-    <Compile Include="System.Reflection\ImageFileMachine.cs" />\r
-    <Compile Include="System.Reflection\InterfaceMapping.cs" />\r
-    <Compile Include="System.Reflection\IntrospectionExtensions.cs" />\r
-    <Compile Include="System.Reflection\InvalidFilterCriteriaException.cs" />\r
-    <Compile Include="System.Reflection\IReflect.cs" />\r
-    <Compile Include="System.Reflection\IReflectableType.cs" />\r
-    <Compile Include="System.Reflection\LocalVariableInfo.cs" />\r
-    <Compile Include="System.Reflection\ManifestResourceInfo.cs" />\r
-    <Compile Include="System.Reflection\MemberFilter.cs" />\r
-    <Compile Include="System.Reflection\MemberInfo.cs" />\r
-    <Compile Include="System.Reflection\MemberInfoSerializationHolder.cs" />\r
-    <Compile Include="System.Reflection\MemberTypes.cs" />\r
-    <Compile Include="System.Reflection\MethodAttributes.cs" />\r
-    <Compile Include="System.Reflection\MethodBase.cs" />\r
-    <Compile Include="System.Reflection\MethodBody.cs" />\r
-    <Compile Include="System.Reflection\MethodImplAttributes.cs" />\r
-    <Compile Include="System.Reflection\MethodInfo.cs" />\r
-    <Compile Include="System.Reflection\Missing.cs" />\r
-    <Compile Include="System.Reflection\Module.cs" />\r
-    <Compile Include="System.Reflection\ModuleResolveEventHandler.cs" />\r
-    <Compile Include="System.Reflection\MonoAssembly.cs" />\r
-    <Compile Include="System.Reflection\MonoEvent.cs" />\r
-    <Compile Include="System.Reflection\MonoField.cs" />\r
-    <Compile Include="System.Reflection\MonoGenericClass.cs" />\r
-    <Compile Include="System.Reflection\MonoGenericMethod.cs" />\r
-    <Compile Include="System.Reflection\MonoMethod.cs" />\r
-    <Compile Include="System.Reflection\MonoModule.cs" />\r
-    <Compile Include="System.Reflection\MonoParameterInfo.cs" />\r
-    <Compile Include="System.Reflection\MonoProperty.cs" />\r
-    <Compile Include="System.Reflection\ObfuscateAssemblyAttribute.cs" />\r
-    <Compile Include="System.Reflection\ObfuscationAttribute.cs" />\r
-    <Compile Include="System.Reflection\ParameterAttributes.cs" />\r
-    <Compile Include="System.Reflection\ParameterInfo.cs" />\r
-    <Compile Include="System.Reflection\ParameterModifier.cs" />\r
-    <Compile Include="System.Reflection\Pointer.cs" />\r
-    <Compile Include="System.Reflection\PortableExecutableKinds.cs" />\r
-    <Compile Include="System.Reflection\ProcessorArchitecture.cs" />\r
-    <Compile Include="System.Reflection\PropertyAttributes.cs" />\r
-    <Compile Include="System.Reflection\PropertyInfo.cs" />\r
-    <Compile Include="System.Reflection\ReflectionContext.cs" />\r
-    <Compile Include="System.Reflection\ReflectionTypeLoadException.cs" />\r
-    <Compile Include="System.Reflection\ResourceAttributes.cs" />\r
-    <Compile Include="System.Reflection\ResourceLocation.cs" />\r
-    <Compile Include="System.Reflection\RuntimeReflectionExtensions.cs" />\r
-    <Compile Include="System.Reflection\StrongNameKeyPair.cs" />\r
-    <Compile Include="System.Reflection\TargetException.cs" />\r
-    <Compile Include="System.Reflection\TargetInvocationException.cs" />\r
-    <Compile Include="System.Reflection\TargetParameterCountException.cs" />\r
-    <Compile Include="System.Reflection\TypeAttributes.cs" />\r
-    <Compile Include="System.Reflection\TypeDelegator.cs" />\r
-    <Compile Include="System.Reflection\TypeFilter.cs" />\r
-    <Compile Include="System.Reflection\TypeInfo.cs" />\r
-    <Compile Include="System.Resources\IResourceReader.cs" />\r
-    <Compile Include="System.Resources\IResourceWriter.cs" />\r
-    <Compile Include="System.Resources\MissingManifestResourceException.cs" />\r
-    <Compile Include="System.Resources\MissingSatelliteAssemblyException.cs" />\r
-    <Compile Include="System.Resources\NeutralResourcesLanguageAttribute.cs" />\r
-    <Compile Include="System.Resources\ResourceManager.cs" />\r
-    <Compile Include="System.Resources\ResourceReader.cs" />\r
-    <Compile Include="System.Resources\ResourceSet.cs" />\r
-    <Compile Include="System.Resources\ResourceWriter.cs" />\r
-    <Compile Include="System.Resources\RuntimeResourceSet.cs" />\r
-    <Compile Include="System.Resources\SatelliteContractVersionAttribute.cs" />\r
-    <Compile Include="System.Resources\UltimateResourceFallbackLocation.cs" />\r
-    <Compile Include="System.Resources\Win32Resources.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\AccessedThroughPropertyAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\AsyncStateMachineAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\AsyncTaskMethodBuilder.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\AsyncTaskMethodBuilder_T.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\AsyncVoidMethodBuilder.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallConvCdecl.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallConvFastcall.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallConvStdcall.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallConvThiscall.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallerFilePathAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallerLineNumberAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CallerMemberNameAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CompilationRelaxations.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CompilationRelaxationsAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CompilerGeneratedAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CompilerGlobalScopeAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CompilerMarshalOverride.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ConditionalWeakTable.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ConfiguredTaskAwaitable.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ConfiguredTaskAwaitable_T.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ContractHelper.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\CustomConstantAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DateTimeConstantAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DecimalConstantAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DefaultDependencyAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DependencyAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\DiscardableAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ExtensionAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\FixedAddressValueTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\FixedBufferAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\HasCopySemanticsAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IAsyncStateMachine.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ICriticalNotifyCompletion.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IDispatchConstantAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IndexerNameAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\INotifyCompletion.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\InternalsVisibleToAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsBoxed.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsByValue.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsConst.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsCopyConstructed.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsExplicitlyDereferenced.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsImplicitlyDereferenced.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsJitIntrinsic.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsLong.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsPinned.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsSignUnspecifiedByte.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsUdtReturn.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IsVolatile.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IteratorStateMachineAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\IUnknownConstantAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\LoadHint.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\MethodCodeType.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\MethodImplAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\MethodImplOptions.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\NativeCppClassAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ReferenceAssemblyAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\RequiredAttributeAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\RuntimeCompatibilityAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\RuntimeHelpers.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\RuntimeWrappedException.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\ScopelessEnumAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\SpecialNameAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\StateMachineAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\StringFreezingAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\SuppressIldasmAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\TaskAwaiter.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\TaskAwaiter_T.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\TypeForwardedFromAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\TypeForwardedToAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\UnsafeValueTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.CompilerServices\YieldAwaitable.cs" />\r
-    <Compile Include="System.Runtime.ConstrainedExecution\CER.cs" />\r
-    <Compile Include="System.Runtime.ConstrainedExecution\Consistency.cs" />\r
-    <Compile Include="System.Runtime.ConstrainedExecution\CriticialFinalizerObject.cs" />\r
-    <Compile Include="System.Runtime.ConstrainedExecution\PrePrepareMethodAttribute.cs" />\r
-    <Compile Include="System.Runtime.ConstrainedExecution\ReliabilityContractAttribute.cs" />\r
-    <Compile Include="System.Runtime.ExceptionServices\ExceptionDispatchInfo.cs" />\r
-    <Compile Include="System.Runtime.ExceptionServices\FirstChanceExceptionEventArgs.cs" />\r
-    <Compile Include="System.Runtime.ExceptionServices\HandleProcessCorruptedStateExceptionsAttribute.cs" />\r
-    <Compile Include="System.Runtime.Hosting\ActivationArguments.cs" />\r
-    <Compile Include="System.Runtime.Hosting\ApplicationActivator.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\BIND_OPTS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\BINDPTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\CALLCONV.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\CONNECTDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DESCKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\DISPPARAMS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ELEMDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\EXCEPINFO.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FILETIME.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FUNCDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FUNCFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\FUNCKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IBindCtx.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IConnectionPoint.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IConnectionPointContainer.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IDLDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IDLFLAG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumConnectionPoints.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumConnections.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumMoniker.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumString.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumVARIANT.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IMoniker.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IMPLTYPEFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\INVOKEKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IPersistFile.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IRunningObjectTable.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\IStream.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ITypeComp.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ITypeInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ITypeInfo2.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ITypeLib.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\ITypeLib2.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\LIBFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\PARAMDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\PARAMFLAG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\STATSTG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\SYSKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYPEATTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYPEDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYPEFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYPEKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\TYPELIBATTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\VARDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\VARFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.ComTypes\VARKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.Expando\IExpando.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\DefaultInterfaceAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\DesignerNamespaceResolveEventArgs.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\EventRegistrationToken.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\EventRegistrationTokenTable.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\IActivationFactory.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\InterfaceImplementedInVersionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\NamespaceResolveEventArgs.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\ReadOnlyArrayAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\ReturnValueNameAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WindowsRuntimeMarshal.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WindowsRuntimeMetadata.cs" />\r
-    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WriteOnlyArrayAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Activator.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Assembly.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_AssemblyBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_AssemblyName.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Attribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ConstructorBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ConstructorInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_CustomAttributeBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_EnumBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_EventBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_EventInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Exception.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_FieldBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_FieldInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ILGenerator.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_LocalBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_MemberInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_MethodBase.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_MethodBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_MethodInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_MethodRental.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Module.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ModuleBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ParameterBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_ParameterInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_PropertyBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_PropertyInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_SignatureHelper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Thread.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_Type.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\_TypeBuilder.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\AllowReversePInvokeCallsAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ArrayWithOffset.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\AssemblyRegistrationFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\AutomationProxyAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\BestFitMappingAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\BIND_OPTS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\BINDPTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\BStrWrapper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CALLCONV.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CallingConvention.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CharSet.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ClassInterfaceAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ClassInterfaceType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CoClassAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComAliasNameAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComCompatibleVersionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComConversionLossAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComDefaultInterfaceAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComEventInterfaceAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\COMException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComImportAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComInterfaceType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComMemberType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComRegisterFunctionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComSourceInterfacesAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComUnregisterFunctionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ComVisible.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CONNECTDATA.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CriticalHandle.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\CurrencyWrapper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DefaultCharSetAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DESCKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DispatchWrapper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DispIdAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DISPPARAMS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\DllImportAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ELEMDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ErrorWrapper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\EXCEPINFO.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ExporterEventKind.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ExtensibleClassFactory.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ExternalException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\FieldOffsetAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\FILETIME.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\FUNCDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\FUNCFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\FUNCKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\GCHandle.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\GCHandleType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\GuidAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\HandleRef.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ICustomAdapter.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ICustomFactory.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ICustomMarshaler.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IDispatchImplAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IDispatchImplType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IDLDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IDLFLAG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IMPLTYPEFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ImportedFromTypeLibAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ImporterEventKind.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\InAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\InterfaceTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\InvalidComObjectException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\InvalidOleVariantTypeException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\INVOKEKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\IRegistrationServices.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ITypeLibConverter.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ITypeLibExporterNameProvider.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ITypeLibExporterNotifySink.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ITypeLibImporterNotifySink.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\LayoutKind.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\LCIDConversionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\LIBFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\Marshal.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\MarshalAsAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\MarshalDirectiveException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ObjectCreationDelegate.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\OptionalAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\OutAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\PARAMDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\PARAMFLAG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\PreserveSigAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\PrimaryInteropAssemblyAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\ProgIdAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\RegistrationClassContext.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\RegistrationConnectionType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\RegistrationServices.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\RuntimeEnvironment.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SafeArrayRankMismatchException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SafeArrayTypeMismatchException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SafeBuffer.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SafeHandle.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SEHException.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SetWin32ContextInIDispatchAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\STATSTG.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\StructLayoutAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\SYSKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TYPEATTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TYPEDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TYPEFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeIdentifierAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TYPEKIND.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TYPELIBATTR.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibConverter.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibExporterFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibFuncAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibFuncFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibImportClassAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibImporterFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibTypeFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibVarAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibVarFlags.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\TypeLibVersionAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIBindCtx.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIConnectionPoint.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIConnectionPointContainer.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIEnumConnectionPoints.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIEnumConnections.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIEnumMoniker.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIEnumString.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIEnumVARIANT.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIMoniker.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIPersistFile.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIRunningObjectTable.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMIStream.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMITypeComp.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMITypeInfo.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UCOMITypeLib.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UnknownWrapper.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UnmanagedFunctionPointerAttribute.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\UnmanagedType.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\VARDESC.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\VarEnum.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\VARFLAGS.cs" />\r
-    <Compile Include="System.Runtime.InteropServices\VariantWrapper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\ActivationServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\ActivatorLevel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\AppDomainLevelActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\ConstructionLevelActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\ContextLevelActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\IActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\IConstructionCallMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\IConstructionReturnMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\RemoteActivationAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\RemoteActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Activation\UrlAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\AggregateDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelObjectWithProperties.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelSinkWithProperties.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelWithProperties.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ChannelDataStore.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ChannelServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ChannelSinkStackEntry.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ClientChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\CrossAppDomainChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannelDataStore.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannelReceiver.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannelReceiverHook.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannelSender.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IChannelSinkBase.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientFormatterSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IClientResponseChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ISecurableChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IServerFormatterSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\IServerResponseChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ITransportHeaders.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ServerChannelSinkStack.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ServerDispatchSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ServerDispatchSinkProvider.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\ServerProcessing.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\SinkProviderData.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Channels\TransportHeaders.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\Context.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\ContextAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\ContextProperty.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\CrossContextChannel.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\CrossContextDelegate.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContextAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContextProperty.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContextPropertyActivator.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContributeClientContextSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContributeDynamicSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContributeEnvoySink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContributeObjectSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IContributeServerContextSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IDynamicMessageSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\IDynamicProperty.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Contexts\SynchronizationAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\ClientSponsor.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\ILease.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\ISponsor.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\Lease.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseManager.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseState.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Lifetime\LifetimeServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ArgInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\AsyncResult.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\CADMessages.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\CallContext.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ClientContextTerminatorSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionCall.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionCallDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionResponse.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\EnvoyTerminatorSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ErrorMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\Header.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\HeaderHandler.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IInternalMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMessageCtrl.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMessageSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMethodCallMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMethodMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IMethodReturnMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\InternalMessageWrapper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\IRemotingFormatter.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ISerializationRootObject.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\LogicalCallContext.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MessageSurrogateFilter.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodCall.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodCallDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodCallMessageWrapper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodResponse.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodReturnDictionary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MethodReturnMessageWrapper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\MonoMethodMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\OneWayAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\RemotingSurrogate.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\RemotingSurrogateSelector.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ReturnMessage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ServerContextTerminatorSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\ServerObjectTerminatorSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Messaging\StackBuilderSink.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\ISoapXsd.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapAnyUri.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapBase64Binary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDate.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDateTime.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDay.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDuration.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapEntities.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapEntity.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapHelper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapHexBinary.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapId.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapIdref.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapIdrefs.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapInteger.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapLanguage.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapMonth.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapMonthDay.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapName.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNcName.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNegativeInteger.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNmtoken.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNmtokens.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNonNegativeInteger.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNonPositiveInteger.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNormalizedString.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNotation.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapPositiveInteger.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapQName.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapTime.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapToken.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapYear.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapYearMonth.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapFieldAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapMethodAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapOption.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapParameterAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\SoapTypeAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Metadata\XmlFieldOrderOption.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Proxies\ProxyAttribute.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Proxies\RealProxy.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Proxies\RemotingProxy.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Services\EnterpriseServicesHelper.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Services\ITrackingHandler.cs" />\r
-    <Compile Include="System.Runtime.Remoting.Services\TrackingServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ActivatedClientTypeEntry.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ActivatedServiceTypeEntry.cs" />\r
-    <Compile Include="System.Runtime.Remoting\CustomErrorsModes.cs" />\r
-    <Compile Include="System.Runtime.Remoting\EnvoyInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting\IChannelInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting\Identity.cs" />\r
-    <Compile Include="System.Runtime.Remoting\IEnvoyInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting\InternalRemotingServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting\IObjectHandle.cs" />\r
-    <Compile Include="System.Runtime.Remoting\IRemotingTypeInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ObjectHandle.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ObjRef.cs" />\r
-    <Compile Include="System.Runtime.Remoting\RemotingConfiguration.cs" />\r
-    <Compile Include="System.Runtime.Remoting\RemotingException.cs" />\r
-    <Compile Include="System.Runtime.Remoting\RemotingServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting\RemotingTimeoutException.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ServerException.cs" />\r
-    <Compile Include="System.Runtime.Remoting\ServerIdentity.cs" />\r
-    <Compile Include="System.Runtime.Remoting\SoapServices.cs" />\r
-    <Compile Include="System.Runtime.Remoting\TypeEntry.cs" />\r
-    <Compile Include="System.Runtime.Remoting\TypeInfo.cs" />\r
-    <Compile Include="System.Runtime.Remoting\WellKnownClientTypeEntry.cs" />\r
-    <Compile Include="System.Runtime.Remoting\WellKnownObjectMode.cs" />\r
-    <Compile Include="System.Runtime.Remoting\WellKnownServiceTypeEntry.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\BinaryCommon.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\BinaryFormatter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\CodeGenerator.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\MessageFormatter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\ObjectReader.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters.Binary\ObjectWriter.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\FormatterAssemblyStyle.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\FormatterTopObjectStyle.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\FormatterTypeStyle.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\IFieldInfo.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalArrayTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalElementTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalMemberTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalMemberValueE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalNameSpaceE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalObjectPositionE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalObjectTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalParseStateE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalParseTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalPrimitiveTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalRM.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalSerializerTypeE.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\InternalST.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\ISoapMessage.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\ServerFault.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\SoapFault.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\SoapMessage.cs" />\r
-    <Compile Include="System.Runtime.Serialization.Formatters\TypeFilterLevel.cs" />\r
-    <Compile Include="System.Runtime.Serialization\Formatter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\FormatterConverter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\FormatterServices.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IDeserializationCallback.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IFormatter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IFormatterConverter.cs" />\r
-    <Compile Include="System.Runtime.Serialization\IObjectReference.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ISafeSerializationData.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ISerializable.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ISerializationSurrogate.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ISurrogateSelector.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ObjectIDGenerator.cs" />\r
-    <Compile Include="System.Runtime.Serialization\ObjectManager.cs" />\r
-    <Compile Include="System.Runtime.Serialization\OnDeserializedAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\OnDeserializingAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\OnSerializedAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\OnSerializingAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\OptionalFieldAttribute.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SafeSerializationEventArgs.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationBinder.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationCallbacks.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationEntry.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationException.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationInfo.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationInfoEnumerator.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SerializationObjectManager.cs" />\r
-    <Compile Include="System.Runtime.Serialization\StreamingContext.cs" />\r
-    <Compile Include="System.Runtime.Serialization\StreamingContextStates.cs" />\r
-    <Compile Include="System.Runtime.Serialization\SurrogateSelector.cs" />\r
-    <Compile Include="System.Runtime.Versioning\ComponentGuaranteesAttribute.cs" />\r
-    <Compile Include="System.Runtime.Versioning\ComponentGuaranteesOptions.cs" />\r
-    <Compile Include="System.Runtime.Versioning\ResourceConsumptionAttribute.cs" />\r
-    <Compile Include="System.Runtime.Versioning\ResourceExposureAttribute.cs" />\r
-    <Compile Include="System.Runtime.Versioning\ResourceScope.cs" />\r
-    <Compile Include="System.Runtime.Versioning\TargetFrameworkAttribute.cs" />\r
-    <Compile Include="System.Runtime.Versioning\VersioningHelper.cs" />\r
-    <Compile Include="System.Runtime\AssemblyTargetedPatchBandAttribute.cs" />\r
-    <Compile Include="System.Runtime\GCLargeObjectHeapCompactionMode.cs" />\r
-    <Compile Include="System.Runtime\GCLatencyMode.cs" />\r
-    <Compile Include="System.Runtime\GCSettings.cs" />\r
-    <Compile Include="System.Runtime\MemoryFailPoint.cs" />\r
-    <Compile Include="System.Runtime\TargetedPatchingOptOutAttribute.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessControlActions.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessControlModification.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessControlSections.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessControlType.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\AccessRule_T.cs" />\r
-    <Compile Include="System.Security.AccessControl\AceEnumerator.cs" />\r
-    <Compile Include="System.Security.AccessControl\AceFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\AceQualifier.cs" />\r
-    <Compile Include="System.Security.AccessControl\AceType.cs" />\r
-    <Compile Include="System.Security.AccessControl\AuditFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\AuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\AuditRule_T.cs" />\r
-    <Compile Include="System.Security.AccessControl\AuthorizationRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\AuthorizationRuleCollection.cs" />\r
-    <Compile Include="System.Security.AccessControl\CommonAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\CommonAcl.cs" />\r
-    <Compile Include="System.Security.AccessControl\CommonObjectSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\CommonSecurityDescriptor.cs" />\r
-    <Compile Include="System.Security.AccessControl\CompoundAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\CompoundAceType.cs" />\r
-    <Compile Include="System.Security.AccessControl\ControlFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\CryptoKeyAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\CryptoKeyAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\CryptoKeyRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\CryptoKeySecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\CustomAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\DirectoryObjectSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\DirectorySecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\DiscretionaryAcl.cs" />\r
-    <Compile Include="System.Security.AccessControl\EventWaitHandleAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\EventWaitHandleAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\EventWaitHandleRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\EventWaitHandleSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\FileSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\FileSystemAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\FileSystemAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\FileSystemRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\FileSystemSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\GenericAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\GenericAcl.cs" />\r
-    <Compile Include="System.Security.AccessControl\GenericSecurityDescriptor.cs" />\r
-    <Compile Include="System.Security.AccessControl\InheritanceFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\KnownAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\MutexAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\MutexAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\MutexRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\MutexSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\NativeObjectSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectAceFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectSecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\ObjectSecurity_T.cs" />\r
-    <Compile Include="System.Security.AccessControl\PrivilegeNotHeldException.cs" />\r
-    <Compile Include="System.Security.AccessControl\PropagationFlags.cs" />\r
-    <Compile Include="System.Security.AccessControl\QualifiedAce.cs" />\r
-    <Compile Include="System.Security.AccessControl\RawAcl.cs" />\r
-    <Compile Include="System.Security.AccessControl\RawSecurityDescriptor.cs" />\r
-    <Compile Include="System.Security.AccessControl\RegistryAccessRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\RegistryAuditRule.cs" />\r
-    <Compile Include="System.Security.AccessControl\RegistryRights.cs" />\r
-    <Compile Include="System.Security.AccessControl\RegistrySecurity.cs" />\r
-    <Compile Include="System.Security.AccessControl\ResourceType.cs" />\r
-    <Compile Include="System.Security.AccessControl\SddlAccessRight.cs" />\r
-    <Compile Include="System.Security.AccessControl\SecurityInfos.cs" />\r
-    <Compile Include="System.Security.AccessControl\SystemAcl.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate20.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509ContentType.cs" />\r
-    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyStorageFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsymmetricAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsymmetricKeyExchangeDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsymmetricKeyExchangeFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsymmetricSignatureDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\AsymmetricSignatureFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\Base64Constants.cs" />\r
-    <Compile Include="System.Security.Cryptography\CipherMode.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoAPITransform.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoConfig.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoConfig.fullaot.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoConfig_2_1.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptographicException.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptographicUnexpectedOperationExcpetion.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoStream.cs" />\r
-    <Compile Include="System.Security.Cryptography\CryptoStreamMode.cs" />\r
-    <Compile Include="System.Security.Cryptography\CspKeyContainerInfo.cs" />\r
-    <Compile Include="System.Security.Cryptography\CspParameters.cs" />\r
-    <Compile Include="System.Security.Cryptography\CspProviderFlags.cs" />\r
-    <Compile Include="System.Security.Cryptography\DeriveBytes.cs" />\r
-    <Compile Include="System.Security.Cryptography\DES.cs" />\r
-    <Compile Include="System.Security.Cryptography\DESCryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\DSA.cs" />\r
-    <Compile Include="System.Security.Cryptography\DSACryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\DSAParameters.cs" />\r
-    <Compile Include="System.Security.Cryptography\DSASignatureDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\DSASignatureFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\FromBase64Transform.cs" />\r
-    <Compile Include="System.Security.Cryptography\HashAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMAC.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACMD5.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACRIPEMD160.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACSHA1.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACSHA256.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACSHA384.cs" />\r
-    <Compile Include="System.Security.Cryptography\HMACSHA512.cs" />\r
-    <Compile Include="System.Security.Cryptography\ICryptoTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography\ICspAsymmetricAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\KeyedHashAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\KeyNumber.cs" />\r
-    <Compile Include="System.Security.Cryptography\KeySizes.cs" />\r
-    <Compile Include="System.Security.Cryptography\MACTripleDES.cs" />\r
-    <Compile Include="System.Security.Cryptography\MaskGenerationMethod.cs" />\r
-    <Compile Include="System.Security.Cryptography\MD5.cs" />\r
-    <Compile Include="System.Security.Cryptography\MD5CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\PaddingMode.cs" />\r
-    <Compile Include="System.Security.Cryptography\PasswordDeriveBytes.cs" />\r
-    <Compile Include="System.Security.Cryptography\PKCS1MaskGenerationMethod.cs" />\r
-    <Compile Include="System.Security.Cryptography\RandomNumberGenerator.cs" />\r
-    <Compile Include="System.Security.Cryptography\RC2.cs" />\r
-    <Compile Include="System.Security.Cryptography\RC2CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\Rfc2898DeriveBytes.cs" />\r
-    <Compile Include="System.Security.Cryptography\Rijndael.cs" />\r
-    <Compile Include="System.Security.Cryptography\RijndaelManaged.cs" />\r
-    <Compile Include="System.Security.Cryptography\RijndaelManagedTransform.cs" />\r
-    <Compile Include="System.Security.Cryptography\RIPEMD160.cs" />\r
-    <Compile Include="System.Security.Cryptography\RIPEMD160Managed.cs" />\r
-    <Compile Include="System.Security.Cryptography\RNGCryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSA.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSACryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAOAEPKeyExchangeDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAOAEPKeyExchangeFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAParameters.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAPKCS1KeyExchangeDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAPKCS1KeyExchangeFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAPKCS1SignatureDeformatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\RSAPKCS1SignatureFormatter.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA1.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA1CryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA1Managed.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA256Managed.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA384Managed.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHA512Managed.cs" />\r
-    <Compile Include="System.Security.Cryptography\SHAConstants.cs" />\r
-    <Compile Include="System.Security.Cryptography\SignatureDescription.cs" />\r
-    <Compile Include="System.Security.Cryptography\SymmetricAlgorithm.cs" />\r
-    <Compile Include="System.Security.Cryptography\ToBase64Transform.cs" />\r
-    <Compile Include="System.Security.Cryptography\TripleDES.cs" />\r
-    <Compile Include="System.Security.Cryptography\TripleDESCryptoServiceProvider.cs" />\r
-    <Compile Include="System.Security.Permissions\CodeAccessSecurityAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\EnvironmentPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\EnvironmentPermissionAccess.cs" />\r
-    <Compile Include="System.Security.Permissions\EnvironmentPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\FileDialogPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\FileDialogPermissionAccess.cs" />\r
-    <Compile Include="System.Security.Permissions\FileDialogPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\FileIOPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\FileIOPermissionAccess.cs" />\r
-    <Compile Include="System.Security.Permissions\FileIOPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\GacIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\GacIdentityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\HostProtectionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\HostProtectionPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\HostProtectionResource.cs" />\r
-    <Compile Include="System.Security.Permissions\IBuiltInPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\IsolatedStorageContainment.cs" />\r
-    <Compile Include="System.Security.Permissions\IsolatedStorageFilePermission.cs" />\r
-    <Compile Include="System.Security.Permissions\IsolatedStorageFilePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\IsolatedStoragePermission.cs" />\r
-    <Compile Include="System.Security.Permissions\IsolatedStoragePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\IUnrestrictedPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntry.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntryCollection.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntryEnumerator.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\KeyContainerPermissionFlags.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionSetAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\PermissionState.cs" />\r
-    <Compile Include="System.Security.Permissions\PrincipalPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\PrincipalPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\PublisherIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\PublisherIdentityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\ReflectionPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\ReflectionPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\ReflectionPermissionFlag.cs" />\r
-    <Compile Include="System.Security.Permissions\RegistryPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\RegistryPermissionAccess.cs" />\r
-    <Compile Include="System.Security.Permissions\RegistryPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\SecurityAction.cs" />\r
-    <Compile Include="System.Security.Permissions\SecurityAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\SecurityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\SecurityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\SecurityPermissionFlag.cs" />\r
-    <Compile Include="System.Security.Permissions\SiteIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\SiteIdentityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\StrongNameIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\StrongNamePermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\StrongNamePublicKeyBlob.cs" />\r
-    <Compile Include="System.Security.Permissions\UIPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\UIPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\UIPermissionClipboard.cs" />\r
-    <Compile Include="System.Security.Permissions\UIPermissionWindow.cs" />\r
-    <Compile Include="System.Security.Permissions\UrlIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\UrlIdentityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Permissions\ZoneIdentityPermission.cs" />\r
-    <Compile Include="System.Security.Permissions\ZoneIdentityPermissionAttribute.cs" />\r
-    <Compile Include="System.Security.Policy\AllMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationDirectory.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationDirectoryMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationSecurityInfo.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationSecurityManager.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationTrust.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationTrustCollection.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationTrustEnumerator.cs" />\r
-    <Compile Include="System.Security.Policy\ApplicationVersionMatch.cs" />\r
-    <Compile Include="System.Security.Policy\CodeConnectAccess.cs" />\r
-    <Compile Include="System.Security.Policy\CodeGroup.cs" />\r
-    <Compile Include="System.Security.Policy\DefaultPolicies.cs" />\r
-    <Compile Include="System.Security.Policy\Evidence.cs" />\r
-    <Compile Include="System.Security.Policy\EvidenceBase.cs" />\r
-    <Compile Include="System.Security.Policy\FileCodeGroup.cs" />\r
-    <Compile Include="System.Security.Policy\FirstMatchCodeGroup.cs" />\r
-    <Compile Include="System.Security.Policy\Gac.cs" />\r
-    <Compile Include="System.Security.Policy\GacMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\Hash.cs" />\r
-    <Compile Include="System.Security.Policy\HashMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\IApplicationTrustManager.cs" />\r
-    <Compile Include="System.Security.Policy\IBuiltInEvidence.cs" />\r
-    <Compile Include="System.Security.Policy\IConstantMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\IIdentityPermissionFactory.cs" />\r
-    <Compile Include="System.Security.Policy\IMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\MembershipConditionHelper.cs" />\r
-    <Compile Include="System.Security.Policy\MonoTrustManager.cs" />\r
-    <Compile Include="System.Security.Policy\NetCodeGroup.cs" />\r
-    <Compile Include="System.Security.Policy\PermissionRequestEvidence.cs" />\r
-    <Compile Include="System.Security.Policy\PolicyException.cs" />\r
-    <Compile Include="System.Security.Policy\PolicyLevel.cs" />\r
-    <Compile Include="System.Security.Policy\PolicyStatement.cs" />\r
-    <Compile Include="System.Security.Policy\PolicyStatementAttribute.cs" />\r
-    <Compile Include="System.Security.Policy\Publisher.cs" />\r
-    <Compile Include="System.Security.Policy\PublisherMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\Site.cs" />\r
-    <Compile Include="System.Security.Policy\SiteMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\StrongName.cs" />\r
-    <Compile Include="System.Security.Policy\StrongNameMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\TrustManagerContext.cs" />\r
-    <Compile Include="System.Security.Policy\TrustManagerUIContext.cs" />\r
-    <Compile Include="System.Security.Policy\UnionCodeGroup.cs" />\r
-    <Compile Include="System.Security.Policy\Url.cs" />\r
-    <Compile Include="System.Security.Policy\UrlMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Policy\Zone.cs" />\r
-    <Compile Include="System.Security.Policy\ZoneMembershipCondition.cs" />\r
-    <Compile Include="System.Security.Principal\GenericIdentity.cs" />\r
-    <Compile Include="System.Security.Principal\GenericPrincipal.cs" />\r
-    <Compile Include="System.Security.Principal\IdentityNotMappedException.cs" />\r
-    <Compile Include="System.Security.Principal\IdentityReference.cs" />\r
-    <Compile Include="System.Security.Principal\IdentityReferenceCollection.cs" />\r
-    <Compile Include="System.Security.Principal\IIdentity.cs" />\r
-    <Compile Include="System.Security.Principal\IPrincipal.cs" />\r
-    <Compile Include="System.Security.Principal\NTAccount.cs" />\r
-    <Compile Include="System.Security.Principal\PrincipalPolicy.cs" />\r
-    <Compile Include="System.Security.Principal\SecurityIdentifier.cs" />\r
-    <Compile Include="System.Security.Principal\TokenAccessLevels.cs" />\r
-    <Compile Include="System.Security.Principal\TokenImpersonationLevel.cs" />\r
-    <Compile Include="System.Security.Principal\WellKnownAccount.cs" />\r
-    <Compile Include="System.Security.Principal\WellKnownSidType.cs" />\r
-    <Compile Include="System.Security.Principal\WindowsAccountType.cs" />\r
-    <Compile Include="System.Security.Principal\WindowsBuiltInRole.cs" />\r
-    <Compile Include="System.Security.Principal\WindowsIdentity.cs" />\r
-    <Compile Include="System.Security.Principal\WindowsImpersonationContext.cs" />\r
-    <Compile Include="System.Security.Principal\WindowsPrincipal.cs" />\r
-    <Compile Include="System.Security\AllowPartiallyTrustedCallersAttribute.cs" />\r
-    <Compile Include="System.Security\CodeAccessPermission.cs" />\r
-    <Compile Include="System.Security\HostProtectionException.cs" />\r
-    <Compile Include="System.Security\HostSecurityManager.cs" />\r
-    <Compile Include="System.Security\HostSecurityManagerFlags.cs" />\r
-    <Compile Include="System.Security\IEvidenceFactory.cs" />\r
-    <Compile Include="System.Security\IPermission.cs" />\r
-    <Compile Include="System.Security\ISecurityEncodable.cs" />\r
-    <Compile Include="System.Security\ISecurityPolicyEncodable.cs" />\r
-    <Compile Include="System.Security\IStackWalk.cs" />\r
-    <Compile Include="System.Security\NamedPermissionSet.cs" />\r
-    <Compile Include="System.Security\PermissionBuilder.cs" />\r
-    <Compile Include="System.Security\PermissionSet.cs" />\r
-    <Compile Include="System.Security\PolicyLevelType.cs" />\r
-    <Compile Include="System.Security\SecureString.cs" />\r
-    <Compile Include="System.Security\SecurityContext.cs" />\r
-    <Compile Include="System.Security\SecurityContextSource.cs" />\r
-    <Compile Include="System.Security\SecurityCriticalAttribute.cs" />\r
-    <Compile Include="System.Security\SecurityCriticalScope.cs" />\r
-    <Compile Include="System.Security\SecurityElement.cs" />\r
-    <Compile Include="System.Security\SecurityException.cs" />\r
-    <Compile Include="System.Security\SecurityFrame.cs" />\r
-    <Compile Include="System.Security\SecurityManager.cs" />\r
-    <Compile Include="System.Security\SecurityManager_mobile.cs" />\r
-    <Compile Include="System.Security\SecurityRulesAttribute.cs" />\r
-    <Compile Include="System.Security\SecurityRuleSet.cs" />\r
-    <Compile Include="System.Security\SecuritySafeCriticalAttribute.cs" />\r
-    <Compile Include="System.Security\SecurityState.cs" />\r
-    <Compile Include="System.Security\SecurityTransparentAttribute.cs" />\r
-    <Compile Include="System.Security\SecurityTreatAsSafeAttribute.cs" />\r
-    <Compile Include="System.Security\SecurityZone.cs" />\r
-    <Compile Include="System.Security\SuppressUnmanagedCodeSecurityAttribute.cs" />\r
-    <Compile Include="System.Security\UnverifiableCodeAttribute.cs" />\r
-    <Compile Include="System.Security\VerificationException.cs" />\r
-    <Compile Include="System.Security\XmlSyntaxException.cs" />\r
-    <Compile Include="System.Text\ASCIIEncoding.cs" />\r
-    <Compile Include="System.Text\CodePageEncoding.cs" />\r
-    <Compile Include="System.Text\Decoder.cs" />\r
-    <Compile Include="System.Text\DecoderExceptionFallback.cs" />\r
-    <Compile Include="System.Text\DecoderExceptionFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\DecoderFallback.cs" />\r
-    <Compile Include="System.Text\DecoderFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\DecoderFallbackException.cs" />\r
-    <Compile Include="System.Text\DecoderReplacementFallback.cs" />\r
-    <Compile Include="System.Text\DecoderReplacementFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\Encoder.cs" />\r
-    <Compile Include="System.Text\EncoderExceptionFallback.cs" />\r
-    <Compile Include="System.Text\EncoderExceptionFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\EncoderFallback.cs" />\r
-    <Compile Include="System.Text\EncoderFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\EncoderFallbackException.cs" />\r
-    <Compile Include="System.Text\EncoderReplacementFallback.cs" />\r
-    <Compile Include="System.Text\EncoderReplacementFallbackBuffer.cs" />\r
-    <Compile Include="System.Text\Encoding.cs" />\r
-    <Compile Include="System.Text\EncodingInfo.cs" />\r
-    <Compile Include="System.Text\Latin1Encoding.cs" />\r
-    <Compile Include="System.Text\MLangCodePageEncoding.cs" />\r
-    <Compile Include="System.Text\NormalizationForm.cs" />\r
-    <Compile Include="System.Text\StringBuilder.cs" />\r
-    <Compile Include="System.Text\SurrogateEncoder.cs" />\r
-    <Compile Include="System.Text\UnicodeEncoding.cs" />\r
-    <Compile Include="System.Text\UTF32Encoding.cs" />\r
-    <Compile Include="System.Text\UTF7Encoding.cs" />\r
-    <Compile Include="System.Text\UTF8Encoding.cs" />\r
-    <Compile Include="System.Threading.Tasks\ConcurrentExclusiveSchedulerPair.cs" />\r
-    <Compile Include="System.Threading.Tasks\CyclicDeque.cs" />\r
-    <Compile Include="System.Threading.Tasks\DecoupledTask.cs" />\r
-    <Compile Include="System.Threading.Tasks\IConcurrentDeque.cs" />\r
-    <Compile Include="System.Threading.Tasks\Parallel.cs" />\r
-    <Compile Include="System.Threading.Tasks\ParallelLoopResult.cs" />\r
-    <Compile Include="System.Threading.Tasks\ParallelLoopState.cs" />\r
-    <Compile Include="System.Threading.Tasks\ParallelOptions.cs" />\r
-    <Compile Include="System.Threading.Tasks\PopResult.cs" />\r
-    <Compile Include="System.Threading.Tasks\SimpleConcurrentBag.cs" />\r
-    <Compile Include="System.Threading.Tasks\SynchronizationContextScheduler.cs" />\r
-    <Compile Include="System.Threading.Tasks\Task.cs" />\r
-    <Compile Include="System.Threading.Tasks\Task_T.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskActionInvoker.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskCanceledException.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskCompletionQueue.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskCompletionSource.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskConstants.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskConstants_T.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskContinuation.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskContinuationOptions.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskCreationOptions.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskDebuggerView.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskExceptionSlot.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskExtensionsImpl.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskFactory.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskFactory_T.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskScheduler.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskSchedulerException.cs" />\r
-    <Compile Include="System.Threading.Tasks\TaskStatus.cs" />\r
-    <Compile Include="System.Threading.Tasks\TpScheduler.cs" />\r
-    <Compile Include="System.Threading.Tasks\UnobservedTaskExceptionEventArgs.cs" />\r
-    <Compile Include="System.Threading\AbandonedMutexException.cs" />\r
-    <Compile Include="System.Threading\ApartmentState.cs" />\r
-    <Compile Include="System.Threading\AsyncFlowControl.cs" />\r
-    <Compile Include="System.Threading\AtomicBoolean.cs" />\r
-    <Compile Include="System.Threading\AutoResetEvent.cs" />\r
-    <Compile Include="System.Threading\CancellationToken.cs" />\r
-    <Compile Include="System.Threading\CancellationTokenRegistration.cs" />\r
-    <Compile Include="System.Threading\CancellationTokenSource.cs" />\r
-    <Compile Include="System.Threading\CompressedStack.cs" />\r
-    <Compile Include="System.Threading\ContextCallback.cs" />\r
-    <Compile Include="System.Threading\CountdownEvent.cs" />\r
-    <Compile Include="System.Threading\EventResetMode.cs" />\r
-    <Compile Include="System.Threading\EventWaitHandle.cs" />\r
-    <Compile Include="System.Threading\ExecutionContext.cs" />\r
-    <Compile Include="System.Threading\HostExecutionContext.cs" />\r
-    <Compile Include="System.Threading\HostExecutionContextManager.cs" />\r
-    <Compile Include="System.Threading\Interlocked.cs" />\r
-    <Compile Include="System.Threading\IOCompletionCallback.cs" />\r
-    <Compile Include="System.Threading\LazyInitializer.cs" />\r
-    <Compile Include="System.Threading\LazyThreadSafetyMode.cs" />\r
-    <Compile Include="System.Threading\LockCookie.cs" />\r
-    <Compile Include="System.Threading\LockQueue.cs" />\r
-    <Compile Include="System.Threading\LockRecursionException.cs" />\r
-    <Compile Include="System.Threading\ManualResetEvent.cs" />\r
-    <Compile Include="System.Threading\ManualResetEventSlim.cs" />\r
-    <Compile Include="System.Threading\Monitor.cs" />\r
-    <Compile Include="System.Threading\Mutex.cs" />\r
-    <Compile Include="System.Threading\NamedDataSlot.cs" />\r
-    <Compile Include="System.Threading\NativeEventCalls.cs" />\r
-    <Compile Include="System.Threading\NativeOverlapped.cs" />\r
-    <Compile Include="System.Threading\Overlapped.cs" />\r
-    <Compile Include="System.Threading\ParameterizedThreadStart.cs" />\r
-    <Compile Include="System.Threading\ReaderWriterLock.cs" />\r
-    <Compile Include="System.Threading\RegisteredWaitHandle.cs" />\r
-    <Compile Include="System.Threading\SemaphoreSlim.cs" />\r
-    <Compile Include="System.Threading\SendOrPostCallback.cs" />\r
-    <Compile Include="System.Threading\SpinLock.cs" />\r
-    <Compile Include="System.Threading\SpinWait.cs" />\r
-    <Compile Include="System.Threading\SynchronizationContext.cs" />\r
-    <Compile Include="System.Threading\SynchronizationLockException.cs" />\r
-    <Compile Include="System.Threading\Thread.cs" />\r
-    <Compile Include="System.Threading\ThreadAbortException.cs" />\r
-    <Compile Include="System.Threading\ThreadInterruptedException.cs" />\r
-    <Compile Include="System.Threading\ThreadLocal.cs" />\r
-    <Compile Include="System.Threading\ThreadPool.cs" />\r
-    <Compile Include="System.Threading\ThreadPriority.cs" />\r
-    <Compile Include="System.Threading\ThreadStart.cs" />\r
-    <Compile Include="System.Threading\ThreadStartException.cs" />\r
-    <Compile Include="System.Threading\ThreadState.cs" />\r
-    <Compile Include="System.Threading\ThreadStateException.cs" />\r
-    <Compile Include="System.Threading\Timeout.cs" />\r
-    <Compile Include="System.Threading\Timer.cs" />\r
-    <Compile Include="System.Threading\TimerCallback.cs" />\r
-    <Compile Include="System.Threading\Volatile.cs" />\r
-    <Compile Include="System.Threading\WaitCallback.cs" />\r
-    <Compile Include="System.Threading\WaitHandle.cs" />\r
-    <Compile Include="System.Threading\WaitHandleCannotBeOpenedException.cs" />\r
-    <Compile Include="System.Threading\WaitOrTimerCallback.cs" />\r
-    <Compile Include="System.Threading\Watch.cs" />\r
-    <Compile Include="System\__ComObject.cs" />\r
-    <Compile Include="System\_AppDomain.cs" />\r
-    <Compile Include="System\AccessViolationException.cs" />\r
-    <Compile Include="System\Action.cs" />\r
-    <Compile Include="System\ActivationContext.cs" />\r
-    <Compile Include="System\Activator.cs" />\r
-    <Compile Include="System\AggregateException.cs" />\r
-    <Compile Include="System\AndroidPlatform.cs" />\r
-    <Compile Include="System\AppDomain.cs" />\r
-    <Compile Include="System\AppDomainInitializer.cs" />\r
-    <Compile Include="System\AppDomainManager.cs" />\r
-    <Compile Include="System\AppDomainSetup.cs" />\r
-    <Compile Include="System\AppDomainUnloadedException.cs" />\r
-    <Compile Include="System\ApplicationException.cs" />\r
-    <Compile Include="System\ApplicationId.cs" />\r
-    <Compile Include="System\ApplicationIdentity.cs" />\r
-    <Compile Include="System\ArgIterator.cs" />\r
-    <Compile Include="System\ArgumentException.cs" />\r
-    <Compile Include="System\ArgumentNullException.cs" />\r
-    <Compile Include="System\ArgumentOutOfRangeException.cs" />\r
-    <Compile Include="System\ArithmeticException.cs" />\r
-    <Compile Include="System\Array.cs" />\r
-    <Compile Include="System\ArraySegment.cs" />\r
-    <Compile Include="System\ArrayTypeMismatchException.cs" />\r
-    <Compile Include="System\AssemblyLoadEventArgs.cs" />\r
-    <Compile Include="System\AssemblyLoadEventHandler.cs" />\r
-    <Compile Include="System\AsyncCallback.cs" />\r
-    <Compile Include="System\Attribute.cs" />\r
-    <Compile Include="System\AttributeTargets.cs" />\r
-    <Compile Include="System\AttributeUsageAttribute.cs" />\r
-    <Compile Include="System\BadImageFormatException.cs" />\r
-    <Compile Include="System\Base64FormattingOptions.cs" />\r
-    <Compile Include="System\BitConverter.cs" />\r
-    <Compile Include="System\Boolean.cs" />\r
-    <Compile Include="System\Buffer.cs" />\r
-    <Compile Include="System\Byte.cs" />\r
-    <Compile Include="System\CannotUnloadAppDomainException.cs" />\r
-    <Compile Include="System\Char.cs" />\r
-    <Compile Include="System\CharEnumerator.cs" />\r
-    <Compile Include="System\CLSCompliantAttribute.cs" />\r
-    <Compile Include="System\Comparison.cs" />\r
-    <Compile Include="System\Console.cs" />\r
-    <Compile Include="System\Console.iOS.cs" />\r
-    <Compile Include="System\ConsoleCancelEventArgs.cs" />\r
-    <Compile Include="System\ConsoleCancelEventHandler.cs" />\r
-    <Compile Include="System\ConsoleColor.cs" />\r
-    <Compile Include="System\ConsoleDriver.cs" />\r
-    <Compile Include="System\ConsoleKey.cs" />\r
-    <Compile Include="System\ConsoleKeyInfo.cs" />\r
-    <Compile Include="System\ConsoleModifiers.cs" />\r
-    <Compile Include="System\ConsoleSpecialKey.cs" />\r
-    <Compile Include="System\ContextBoundObject.cs" />\r
-    <Compile Include="System\ContextMarshalException.cs" />\r
-    <Compile Include="System\ContextStaticAttribute.cs" />\r
-    <Compile Include="System\ControlCharacters.cs" />\r
-    <Compile Include="System\Convert.cs" />\r
-    <Compile Include="System\Converter.cs" />\r
-    <Compile Include="System\CrossAppDomainDelegate.cs" />\r
-    <Compile Include="System\CStreamReader.cs" />\r
-    <Compile Include="System\CStreamWriter.cs" />\r
-    <Compile Include="System\DataMisalignedException.cs" />\r
-    <Compile Include="System\DateTime.cs" />\r
-    <Compile Include="System\DateTimeKind.cs" />\r
-    <Compile Include="System\DateTimeOffset.cs" />\r
-    <Compile Include="System\DateTimeUtils.cs" />\r
-    <Compile Include="System\DayOfWeek.cs" />\r
-    <Compile Include="System\DBNull.cs" />\r
-    <Compile Include="System\Decimal.cs" />\r
-    <Compile Include="System\Delegate.cs" />\r
-    <Compile Include="System\DelegateSerializationHolder.cs" />\r
-    <Compile Include="System\DivideByZeroException.cs" />\r
-    <Compile Include="System\DllNotFoundException.cs" />\r
-    <Compile Include="System\DomainManagerInitializationFlags.cs" />\r
-    <Compile Include="System\Double.cs" />\r
-    <Compile Include="System\DuplicateWaitObjectException.cs" />\r
-    <Compile Include="System\EmptyArray.cs" />\r
-    <Compile Include="System\EntryPointNotFoundException.cs" />\r
-    <Compile Include="System\Enum.cs" />\r
-    <Compile Include="System\Environment.cs" />\r
-    <Compile Include="System\EnvironmentVariableTarget.cs" />\r
-    <Compile Include="System\EventArgs.cs" />\r
-    <Compile Include="System\EventHandler.cs" />\r
-    <Compile Include="System\Exception.cs" />\r
-    <Compile Include="System\ExecutionEngineException.cs" />\r
-    <Compile Include="System\FieldAccessException.cs" />\r
-    <Compile Include="System\FlagsAttribute.cs" />\r
-    <Compile Include="System\FormatException.cs" />\r
-    <Compile Include="System\Funcs.cs" />\r
-    <Compile Include="System\GC.cs" />\r
-    <Compile Include="System\GCCollectionMode.cs" />\r
-    <Compile Include="System\GCNotificationStatus.cs" />\r
-    <Compile Include="System\Guid.cs" />\r
-    <Compile Include="System\IAppDomainSetup.cs" />\r
-    <Compile Include="System\IAsyncResult.cs" />\r
-    <Compile Include="System\ICloneable.cs" />\r
-    <Compile Include="System\IComparable.cs" />\r
-    <Compile Include="System\IConsoleDriver.cs" />\r
-    <Compile Include="System\IConvertible.cs" />\r
-    <Compile Include="System\ICustomFormatter.cs" />\r
-    <Compile Include="System\IDisposable.cs" />\r
-    <Compile Include="System\IEquatable.cs" />\r
-    <Compile Include="System\IFormatProvider.cs" />\r
-    <Compile Include="System\IFormattable.cs" />\r
-    <Compile Include="System\IndexOutOfRangeException.cs" />\r
-    <Compile Include="System\InsufficientExecutionStackException.cs" />\r
-    <Compile Include="System\InsufficientMemoryException.cs" />\r
-    <Compile Include="System\Int16.cs" />\r
-    <Compile Include="System\Int32.cs" />\r
-    <Compile Include="System\Int64.cs" />\r
-    <Compile Include="System\IntPtr.cs" />\r
-    <Compile Include="System\InvalidCastException.cs" />\r
-    <Compile Include="System\InvalidOperationException.cs" />\r
-    <Compile Include="System\InvalidProgramException.cs" />\r
-    <Compile Include="System\InvalidTimeZoneException.cs" />\r
-    <Compile Include="System\IObservable.cs" />\r
-    <Compile Include="System\IObserver.cs" />\r
-    <Compile Include="System\IProgress.cs" />\r
-    <Compile Include="System\IServiceProvider.cs" />\r
-    <Compile Include="System\KnownTerminals.cs" />\r
-    <Compile Include="System\Lazy.cs" />\r
-    <Compile Include="System\LoaderOptimization.cs" />\r
-    <Compile Include="System\LoaderOptimizationAttribute.cs" />\r
-    <Compile Include="System\LocalDataStoreSlot.cs" />\r
-    <Compile Include="System\MarshalByRefObject.cs" />\r
-    <Compile Include="System\Math.cs" />\r
-    <Compile Include="System\MemberAccessException.cs" />\r
-    <Compile Include="System\MethodAccessException.cs" />\r
-    <Compile Include="System\MidpointRounding.cs" />\r
-    <Compile Include="System\MissingFieldException.cs" />\r
-    <Compile Include="System\MissingMemberException.cs" />\r
-    <Compile Include="System\MissingMethodException.cs" />\r
-    <Compile Include="System\ModuleHandle.cs" />\r
-    <Compile Include="System\MonoAsyncCall.cs" />\r
-    <Compile Include="System\MonoCQItem.cs" />\r
-    <Compile Include="System\MonoCustomAttrs.cs" />\r
-    <Compile Include="System\MonoListItem.cs" />\r
-    <Compile Include="System\MonoTouchAOTHelper.cs" />\r
-    <Compile Include="System\MonoType.cs" />\r
-    <Compile Include="System\MTAThreadAttribute.cs" />\r
-    <Compile Include="System\MulticastDelegate.cs" />\r
-    <Compile Include="System\MulticastNotSupportedException.cs" />\r
-    <Compile Include="System\NonSerializedAttribute.cs" />\r
-    <Compile Include="System\NotFiniteNumberException.cs" />\r
-    <Compile Include="System\NotImplementedException.cs" />\r
-    <Compile Include="System\NotSupportedException.cs" />\r
-    <Compile Include="System\Nullable.cs" />\r
-    <Compile Include="System\NullConsoleDriver.cs" />\r
-    <Compile Include="System\NullReferenceException.cs" />\r
-    <Compile Include="System\NumberFormatter.cs" />\r
-    <Compile Include="System\Object.cs" />\r
-    <Compile Include="System\ObjectDisposedException.cs" />\r
-    <Compile Include="System\ObsoleteAttribute.cs" />\r
-    <Compile Include="System\OperatingSystem.cs" />\r
-    <Compile Include="System\OperationCanceledException.cs" />\r
-    <Compile Include="System\OutOfMemoryException.cs" />\r
-    <Compile Include="System\OverflowException.cs" />\r
-    <Compile Include="System\ParamArrayAttribute.cs" />\r
-    <Compile Include="System\PlatformID.cs" />\r
-    <Compile Include="System\PlatformNotSupportedException.cs" />\r
-    <Compile Include="System\Predicate.cs" />\r
-    <Compile Include="System\Progress.cs" />\r
-    <Compile Include="System\Random.cs" />\r
-    <Compile Include="System\RankException.cs" />\r
-    <Compile Include="System\ResolveEventArgs.cs" />\r
-    <Compile Include="System\ResolveEventHandler.cs" />\r
-    <Compile Include="System\RuntimeArgumentHandle.cs" />\r
-    <Compile Include="System\RuntimeFieldHandle.cs" />\r
-    <Compile Include="System\RuntimeMethodHandle.cs" />\r
-    <Compile Include="System\RuntimeTypeHandle.cs" />\r
-    <Compile Include="System\SByte.cs" />\r
-    <Compile Include="System\SerializableAttribute.cs" />\r
-    <Compile Include="System\Single.cs" />\r
-    <Compile Include="System\StackOverflowException.cs" />\r
-    <Compile Include="System\STAThreadAttribute.cs" />\r
-    <Compile Include="System\String.cs" />\r
-    <Compile Include="System\StringComparer.cs" />\r
-    <Compile Include="System\StringComparison.cs" />\r
-    <Compile Include="System\StringSplitOptions.cs" />\r
-    <Compile Include="System\SystemException.cs" />\r
-    <Compile Include="System\TermInfoBooleans.cs" />\r
-    <Compile Include="System\TermInfoDriver.cs" />\r
-    <Compile Include="System\TermInfoNumbers.cs" />\r
-    <Compile Include="System\TermInfoReader.cs" />\r
-    <Compile Include="System\TermInfoStrings.cs" />\r
-    <Compile Include="System\ThreadStaticAttribute.cs" />\r
-    <Compile Include="System\TimeoutException.cs" />\r
-    <Compile Include="System\TimeSpan.cs" />\r
-    <Compile Include="System\TimeZone.cs" />\r
-    <Compile Include="System\TimeZoneNotFoundException.cs" />\r
-    <Compile Include="System\Tuple.cs" />\r
-    <Compile Include="System\Tuples.cs" />\r
-    <Compile Include="System\Type.cs" />\r
-    <Compile Include="System\TypeAccessException.cs" />\r
-    <Compile Include="System\TypeCode.cs" />\r
-    <Compile Include="System\TypedReference.cs" />\r
-    <Compile Include="System\TypeInitializationException.cs" />\r
-    <Compile Include="System\TypeLoadException.cs" />\r
-    <Compile Include="System\TypeSpec.cs" />\r
-    <Compile Include="System\TypeUnloadedException.cs" />\r
-    <Compile Include="System\UInt16.cs" />\r
-    <Compile Include="System\UInt32.cs" />\r
-    <Compile Include="System\UInt64.cs" />\r
-    <Compile Include="System\UIntPtr.cs" />\r
-    <Compile Include="System\UnauthorizedAccessException.cs" />\r
-    <Compile Include="System\UnhandledExceptionEventArgs.cs" />\r
-    <Compile Include="System\UnhandledExceptionEventHandler.cs" />\r
-    <Compile Include="System\UnitySerializationHolder.cs" />\r
-    <Compile Include="System\ValueType.cs" />\r
-    <Compile Include="System\Variant.cs" />\r
-    <Compile Include="System\Version.cs" />\r
-    <Compile Include="System\Void.cs" />\r
-    <Compile Include="System\WeakReference.cs" />\r
-    <Compile Include="System\WeakReference_T.cs" />\r
-    <Compile Include="System\WindowsConsoleDriver.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="resources/collation.core.bin">\r
-      <LogicalName>collation.core.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.tailoring.bin">\r
-      <LogicalName>collation.tailoring.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.cjkCHS.bin">\r
-      <LogicalName>collation.cjkCHS.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.cjkCHT.bin">\r
-      <LogicalName>collation.cjkCHT.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.cjkJA.bin">\r
-      <LogicalName>collation.cjkJA.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.cjkKO.bin">\r
-      <LogicalName>collation.cjkKO.bin</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/collation.cjkKOlv2.bin">\r
-      <LogicalName>collation.cjkKOlv2.bin</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index bf5bf19095531491d14fcc25ace1b6995323dc6b..f3d3c2cfd172bcb1e39182a1a5e6d39dfe3acd2c 100644 (file)
     <Compile Include="System.Runtime.InteropServices\IDispatchImplType.cs" />\r
     <Compile Include="System.Runtime.InteropServices\IDLDESC.cs" />\r
     <Compile Include="System.Runtime.InteropServices\IDLFLAG.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IErrorInfo.cs" />\r
     <Compile Include="System.Runtime.InteropServices\IMPLTYPEFLAGS.cs" />\r
     <Compile Include="System.Runtime.InteropServices\ImportedFromTypeLibAttribute.cs" />\r
     <Compile Include="System.Runtime.InteropServices\ImporterEventKind.cs" />\r
     <Compile Include="System.Runtime.InteropServices\LayoutKind.cs" />\r
     <Compile Include="System.Runtime.InteropServices\LCIDConversionAttribute.cs" />\r
     <Compile Include="System.Runtime.InteropServices\LIBFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ManagedErrorInfo.cs " />\r
     <Compile Include="System.Runtime.InteropServices\Marshal.cs" />\r
     <Compile Include="System.Runtime.InteropServices\MarshalAsAttribute.cs" />\r
     <Compile Include="System.Runtime.InteropServices\MarshalDirectiveException.cs" />\r
diff --git a/mcs/class/corlib/corlib-tests-net_2_0.csproj b/mcs/class/corlib/corlib-tests-net_2_0.csproj
deleted file mode 100644 (file)
index cf9327e..0000000
+++ /dev/null
@@ -1,588 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{F1439839-64EC-4B9D-ACC0-097CF94C7EC3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>612,618,1699,168,219,618,672</NoWarn>\r
-    <OutputPath>bin\Debug\corlib-tests-net_2_0</OutputPath>\r
-    <NoStdLib>True</NoStdLib>\r
-    <NoConfig>False</NoConfig>\r
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
-    <AppDesignerFolder>Properties</AppDesignerFolder>\r
-    <RootNamespace>\r
-    </RootNamespace>\r
-    <AssemblyName>corlib_test_net_2_0</AssemblyName>\r
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
-    <FileAlignment>512</FileAlignment>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
-    <DebugSymbols>true</DebugSymbols>\r
-    <DebugType>full</DebugType>\r
-    <NoWarn>612,618,1699,168,219,618,672</NoWarn>\r
-    <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;INSIDE_CORLIB;LIBC;NET_1_1;NET_2_0;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
-    <DebugType>pdbonly</DebugType>\r
-    <NoWarn>612,618,1699,168,219,618,672</NoWarn>\r
-    <Optimize>true</Optimize>\r
-    <DefineConstants>INSIDE_CORLIB;LIBC;NET_1_1;NET_2_0;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
-    <ErrorReport>prompt</ErrorReport>\r
-    <WarningLevel>4</WarningLevel>\r
-  </PropertyGroup>\r
-  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
-  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
-  is a problem to compile the Mono mscorlib.dll -->\r
-  <PropertyGroup>\r
-    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
-  </PropertyGroup>\r
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <ItemGroup>\r
-    <Compile Include="Mono\DataConverter.cs" />\r
-    <Compile Include="Test\Microsoft.Win32\RegistryKeyTest.cs" />\r
-    <Compile Include="Test\Mono\DataConvertTest.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\CollectionStressTestHelper.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ConcurrentDictionaryTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ConcurrentQueueTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ConcurrentStackTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ParallelConcurrentQueueTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\ParallelConcurrentStackTests.cs" />\r
-    <Compile Include="Test\System.Collections.Concurrent\PartitionerTests.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\ComparerTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\DictionaryTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\EqualityComparerTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\IListTest.cs" />\r
-    <Compile Include="Test\System.Collections.Generic\ListTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\CollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\KeyedCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections.ObjectModel\ReadOnlyCollectionTest.cs" />\r
-    <Compile Include="Test\System.Collections\ArrayListTest.cs" />\r
-    <Compile Include="Test\System.Collections\BitArrayTest.cs" />\r
-    <Compile Include="Test\System.Collections\CaseInsensitiveComparerTest.cs" />\r
-    <Compile Include="Test\System.Collections\CaseInsensitiveHashCodeProviderTest.cs" />\r
-    <Compile Include="Test\System.Collections\CollectionBaseTest.cs" />\r
-    <Compile Include="Test\System.Collections\ComparerTest.cs" />\r
-    <Compile Include="Test\System.Collections\DictionaryBaseTest.cs" />\r
-    <Compile Include="Test\System.Collections\DictionaryEntryTest.cs" />\r
-    <Compile Include="Test\System.Collections\HashtableTest.cs" />\r
-    <Compile Include="Test\System.Collections\NewArrayListTest.cs" />\r
-    <Compile Include="Test\System.Collections\QueueTest.cs" />\r
-    <Compile Include="Test\System.Collections\ReadOnlyCollectionBaseTest.cs" />\r
-    <Compile Include="Test\System.Collections\SortedListTest.cs" />\r
-    <Compile Include="Test\System.Collections\StackTest.cs" />\r
-    <Compile Include="Test\System.Collections\StructuralComparisonsTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractAssertTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractAssumeTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractCollectionMethodsTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractHelperTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractMarkerMethodsTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\ContractMustUseRewriterTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\Helpers\RunAgainstReferenceAttribute.cs" />\r
-    <Compile Include="Test\System.Diagnostics.Contracts\Helpers\TestContractBase.cs" />\r
-    <Compile Include="Test\System.Diagnostics\DebuggerDisplayAttributeTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\DebuggerTypeProxyAttribute.cs" />\r
-    <Compile Include="Test\System.Diagnostics\StackFrameCas.cs" />\r
-    <Compile Include="Test\System.Diagnostics\StackFrameTest.cs" />\r
-    <Compile Include="Test\System.Diagnostics\StackTraceCas.cs" />\r
-    <Compile Include="Test\System.Diagnostics\StackTraceTest.cs" />\r
-    <Compile Include="Test\System.Globalization\CalendarTest.cs" />\r
-    <Compile Include="Test\System.Globalization\CompareInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\CultureInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\DateTimeFormatInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\DaylightTimeTest.cs" />\r
-    <Compile Include="Test\System.Globalization\EastAsianLunisolarCalendarTest.cs" />\r
-    <Compile Include="Test\System.Globalization\IdnMappingTest.cs" />\r
-    <Compile Include="Test\System.Globalization\NumberFormatInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\RegionInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\SortKeyTest.cs" />\r
-    <Compile Include="Test\System.Globalization\StringInfoTest.cs" />\r
-    <Compile Include="Test\System.Globalization\TextInfoTest.cs" />\r
-    <Compile Include="Test\System.IO.IsolatedStorage\IsolatedStorageFileCas.cs" />\r
-    <Compile Include="Test\System.IO.IsolatedStorage\IsolatedStorageFileStreamCas.cs" />\r
-    <Compile Include="Test\System.IO.IsolatedStorage\IsolatedStorageFileStreamTest.cs" />\r
-    <Compile Include="Test\System.IO.IsolatedStorage\IsolatedStorageFileTest.cs" />\r
-    <Compile Include="Test\System.IO.IsolatedStorage\IsolatedStorageTest.cs" />\r
-    <Compile Include="Test\System.IO\BinaryReaderTest.cs" />\r
-    <Compile Include="Test\System.IO\BinaryWriterTest.cs" />\r
-    <Compile Include="Test\System.IO\BufferedStreamTest.cs" />\r
-    <Compile Include="Test\System.IO\DirectoryCas.cs" />\r
-    <Compile Include="Test\System.IO\DirectoryInfoTest.cs" />\r
-    <Compile Include="Test\System.IO\DirectoryTest.cs" />\r
-    <Compile Include="Test\System.IO\FileInfoTest.cs" />\r
-    <Compile Include="Test\System.IO\FileLoadExceptionCas.cs" />\r
-    <Compile Include="Test\System.IO\FileNotFoundExceptionCas.cs" />\r
-    <Compile Include="Test\System.IO\FileNotFoundExceptionTest.cs" />\r
-    <Compile Include="Test\System.IO\FileStreamCas.cs" />\r
-    <Compile Include="Test\System.IO\FileStreamTest.cs" />\r
-    <Compile Include="Test\System.IO\FileSystemInfoTest.cs" />\r
-    <Compile Include="Test\System.IO\FileTest.cs" />\r
-    <Compile Include="Test\System.IO\MemoryStreamTest.cs" />\r
-    <Compile Include="Test\System.IO\PathCas.cs" />\r
-    <Compile Include="Test\System.IO\PathTest.cs" />\r
-    <Compile Include="Test\System.IO\StreamCas.cs" />\r
-    <Compile Include="Test\System.IO\StreamHelperTest.cs" />\r
-    <Compile Include="Test\System.IO\StreamReaderTest.cs" />\r
-    <Compile Include="Test\System.IO\StreamTest.cs" />\r
-    <Compile Include="Test\System.IO\StreamWriterTest.cs" />\r
-    <Compile Include="Test\System.IO\StringReaderTest.cs" />\r
-    <Compile Include="Test\System.IO\StringWriterTest.cs" />\r
-    <Compile Include="Test\System.IO\TextReaderTest.cs" />\r
-    <Compile Include="Test\System.IO\TextWriterTest.cs" />\r
-    <Compile Include="Test\System.IO\UnmanagedMemoryStreamTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\AssemblyBuilderAccessTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\AssemblyBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\ConstructorBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\ConstructorOnTypeBuilderInstTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\CustomAttributeBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\DerivedTypesTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\DynamicILInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\DynamicMethodTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\EnumBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\EventBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\FieldBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\GenericTypeParameterBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\ILGeneratorTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\MethodBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\MethodOnTypeBuilderInstTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\MethodRentalCas.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\MethodRentalTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\ModuleBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\ParameterBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\PropertyBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\SignatureHelperTest.cs" />\r
-    <Compile Include="Test\System.Reflection.Emit\TypeBuilderTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyAlgorithmIdAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyCas.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyConfigurationAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyCopyrightAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyCultureAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyDelaySignAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyDescriptionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyFileVersionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyInformationalVersionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyNameCas.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyNameTest.cs" />\r
-    <Compile Include="Test\System.Reflection\AssemblyTest.cs" />\r
-    <Compile Include="Test\System.Reflection\BinderTests.cs" />\r
-    <Compile Include="Test\System.Reflection\ConstructorInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\CustomAttributeDataTest.cs" />\r
-    <Compile Include="Test\System.Reflection\EventInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\FieldInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\IntrospectionExtensionsTest.cs" />\r
-    <Compile Include="Test\System.Reflection\MethodBaseTest.cs" />\r
-    <Compile Include="Test\System.Reflection\MethodInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\ModuleCas.cs" />\r
-    <Compile Include="Test\System.Reflection\ModuleTest.cs" />\r
-    <Compile Include="Test\System.Reflection\MonoGenericClassTest.cs" />\r
-    <Compile Include="Test\System.Reflection\ParameterInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\PropertyInfoTest.cs" />\r
-    <Compile Include="Test\System.Reflection\ReflectedTypeTest.cs" />\r
-    <Compile Include="Test\System.Reflection\StrongNameKeyPairCas.cs" />\r
-    <Compile Include="Test\System.Reflection\StrongNameKeyPairTest.cs" />\r
-    <Compile Include="Test\System.Reflection\TypeDelegatorTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceManagerTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceReaderCas.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceReaderTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceSetCas.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceSetTest.cs" />\r
-    <Compile Include="Test\System.Resources\ResourceWriterTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\AsyncVoidMethodBuilderTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\ConditionalWeakTableTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\InternalsVisibleToAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\RuntimeHelpersTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\RuntimeWrappedExceptionCas.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\RuntimeWrappedExceptionTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\TaskAwaiterTest.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\TaskAwaiterTest_T.cs" />\r
-    <Compile Include="Test\System.Runtime.CompilerServices\YieldAwaitableTest.cs" />\r
-    <Compile Include="Test\System.Runtime.ExceptionServices\ExceptionDispatchInfoTest.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\ExternalExceptionTest.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\GCHandleTest.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\MarshalTest.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\RuntimeEnvironmentCas.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\RuntimeEnvironmentTest.cs" />\r
-    <Compile Include="Test\System.Runtime.InteropServices\SafeHandleTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting.Channels\ChannelServicesTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting.Contexts\SynchronizationAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting.Messaging\CallContextTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting.Metadata.W3cXsd2001\SoapHexBinaryTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting\ContextTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting\SoapServicesTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Remoting\SynchronizationAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization.Formatters.Binary\BinaryFormatterCas.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization.Formatters.Binary\BinaryFormatterTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\ArraySerializationTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\FormatterServicesTests.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\ObjectIDGeneratorTests.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\ObjectManagerTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\SerializationBinderTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\SerializationCallbackTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\SerializationInfoTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\SerializationTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Serialization\SerializationTest2.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\ResourceConsumptionAttributeCas.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\ResourceConsumptionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\ResourceExposureAttributeCas.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\ResourceExposureAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\TargetFrameworkAttributeTest.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\VersioningHelperCas.cs" />\r
-    <Compile Include="Test\System.Runtime.Versioning\VersioningHelperTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\AuthorizationRuleTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\CommonAceTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\CommonAclTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\CommonObjectSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\CommonSecurityDescriptorTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\CryptoKeyAccessRuleTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\DirectoryObjectSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\DirectorySecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\DiscretionaryAclTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\EventWaitHandleSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\FileSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\MutexAccessRuleTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\MutexSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\ObjectAceTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\ObjectSecurity_TTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\ObjectSecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\RawAclTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\RawSecurityDescriptorTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\RegistrySecurityTest.cs" />\r
-    <Compile Include="Test\System.Security.AccessControl\SystemAclTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509CapiTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509CertificateCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509CertificateTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography.X509Certificates\X509SpcTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AesCfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AllTests2.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\AsymmetricAlgorithmTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CipherModeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptoAPITransformCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptoConfigCas.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptoConfigTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CryptoStreamTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\CspProviderFlagsTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DesCfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DESCryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DESTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DSACryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DSASignatureDeformatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DSASignatureFormatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\DSATest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\FromBase64Transform.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HashAlgorithmTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACMD5Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACRIPEMD160Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACSHA1Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACSHA256Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACSHA384Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\HMACSHA512Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\KeyedHashAlgorithmTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\MACTripleDESTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\MD5Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\PaddingModeTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\PasswordDeriveBytesTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\PKCS1MaskGenerationMethodTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RandomNumberGeneratorTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\Rc2CfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RC2CryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RC2Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\Rfc2898DeriveBytesTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RijndaelCfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RijndaelManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RijndaelTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RIPEMD160ManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RIPEMD160Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RNGCryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSACryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAOAEPKeyExchangeDeformatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAOAEPKeyExchangeFormatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAPKCS1KeyExchangeDeformatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAPKCS1KeyExchangeFormatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAPKCS1SignatureDeformatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSAPKCS1SignatureFormatterTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\RSATest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA1CryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA1Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA256ManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA256Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA384ManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA384Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA512ManagedTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SHA512Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SignatureDescriptionTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SymmetricAlgorithm2Test.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SymmetricAlgorithmTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\SymmetricAlgorithmTransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\ToBase64TransformTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\TripleDesCfbTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\TripleDESCryptoServiceProviderTest.cs" />\r
-    <Compile Include="Test\System.Security.Cryptography\TripleDESTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\CodeAccessSecurityAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\EnvironmentPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\EnvironmentPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\FileDialogPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\FileDialogPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\FileIOPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\FileIOPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\GacIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\GacIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\HostProtectionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\IBuiltInPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\IsolatedStorageFilePermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\IsolatedStorageFilePermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\IsolatedStoragePermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\KeyContainerPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\PermissionSetAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\PrincipalPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\PrincipalPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\PublisherIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\PublisherIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ReflectionPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ReflectionPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\RegistryPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\RegistryPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\SecurityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\SecurityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\SiteIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\SiteIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StrongNameIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StrongNameIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\StrongNamePublicKeyBlobTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\UIPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\UIPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\UrlIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\UrlIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ZoneIdentityPermissionAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security.Permissions\ZoneIdentityPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\AllMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ApplicationDirectoryMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ApplicationDirectoryTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ApplicationSecurityManagerCas.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ApplicationSecurityManagerTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ApplicationTrustTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\CodeGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\EvidenceTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\FileCodeGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\FirstMatchCodeGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\GacMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\GacTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\HashMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\HashTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\IBuiltInEvidenceTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\NetCodeGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\PermissionRequestEvidenceTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\PolicyLevelTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\PolicyStatementTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\PublisherMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\PublisherTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\SiteMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\SiteTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\StrongNameMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\StrongNameTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\UnionCodeGroupTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\UrlMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\UrlTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ZoneMembershipConditionTest.cs" />\r
-    <Compile Include="Test\System.Security.Policy\ZoneTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\GenericIdentityTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\GenericPrincipalTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\NTAccountTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\SecurityIdentifierTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\WindowsIdentityTest.cs" />\r
-    <Compile Include="Test\System.Security.Principal\WindowsPrincipalTest.cs" />\r
-    <Compile Include="Test\System.Security\CodeAccessPermissionCas.cs" />\r
-    <Compile Include="Test\System.Security\CodeAccessPermissionTest.cs" />\r
-    <Compile Include="Test\System.Security\HostSecurityManagerTest.cs" />\r
-    <Compile Include="Test\System.Security\NamedPermissionSetTest.cs" />\r
-    <Compile Include="Test\System.Security\PermissionSetCas.cs" />\r
-    <Compile Include="Test\System.Security\PermissionSetTest.cs" />\r
-    <Compile Include="Test\System.Security\SecureStringCas.cs" />\r
-    <Compile Include="Test\System.Security\SecureStringTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityContextCas.cs" />\r
-    <Compile Include="Test\System.Security\SecurityContextTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityCriticalAttributeTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityElementTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityExceptionCas.cs" />\r
-    <Compile Include="Test\System.Security\SecurityExceptionTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityManagerCas.cs" />\r
-    <Compile Include="Test\System.Security\SecurityManagerTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityStateTest.cs" />\r
-    <Compile Include="Test\System.Security\SecurityTransparentAttributeTest.cs" />\r
-    <Compile Include="Test\System.Text\ASCIIEncodingTest.cs" />\r
-    <Compile Include="Test\System.Text\DecoderReplacementFallbackBufferTest.cs" />\r
-    <Compile Include="Test\System.Text\DecoderReplacementFallbackTest.cs" />\r
-    <Compile Include="Test\System.Text\DecoderTest.cs" />\r
-    <Compile Include="Test\System.Text\EncoderReplacementFallbackBufferTest.cs" />\r
-    <Compile Include="Test\System.Text\EncoderReplacementFallbackTest.cs" />\r
-    <Compile Include="Test\System.Text\EncoderTest.cs" />\r
-    <Compile Include="Test\System.Text\EncodingInfoTest.cs" />\r
-    <Compile Include="Test\System.Text\EncodingTest.cs" />\r
-    <Compile Include="Test\System.Text\StringBuilderTest.cs" />\r
-    <Compile Include="Test\System.Text\TestEncoding.cs" />\r
-    <Compile Include="Test\System.Text\UnicodeEncodingTest.cs" />\r
-    <Compile Include="Test\System.Text\UTF32EncodingTest.cs" />\r
-    <Compile Include="Test\System.Text\UTF7EncodingTest.cs" />\r
-    <Compile Include="Test\System.Text\UTF8EncodingTest.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\ConcurrentExclusiveSchedulerPairTest.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\ParallelTestHelper.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\ParallelTests.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\Task_T_Test.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskCompletionSourceTests.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskFactoryTest.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskFactoryTest_T.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskSchedulerTest.cs" />\r
-    <Compile Include="Test\System.Threading.Tasks\TaskTest.cs" />\r
-    <Compile Include="Test\System.Threading\AutoResetEventTest.cs" />\r
-    <Compile Include="Test\System.Threading\CancellationTokenSourceTest.cs" />\r
-    <Compile Include="Test\System.Threading\CancellationTokenTests.cs" />\r
-    <Compile Include="Test\System.Threading\CompressedStackCas.cs" />\r
-    <Compile Include="Test\System.Threading\CompressedStackTest.cs" />\r
-    <Compile Include="Test\System.Threading\CountdownEventTests.cs" />\r
-    <Compile Include="Test\System.Threading\EventWaitHandleTest.cs" />\r
-    <Compile Include="Test\System.Threading\ExecutionContextCas.cs" />\r
-    <Compile Include="Test\System.Threading\ExecutionContextTest.cs" />\r
-    <Compile Include="Test\System.Threading\InterlockedTest.cs" />\r
-    <Compile Include="Test\System.Threading\LazyInitializerTest.cs" />\r
-    <Compile Include="Test\System.Threading\ManualResetEventSlimTests.cs" />\r
-    <Compile Include="Test\System.Threading\MonitorTest.cs" />\r
-    <Compile Include="Test\System.Threading\MutexCas.cs" />\r
-    <Compile Include="Test\System.Threading\MutexTest.cs" />\r
-    <Compile Include="Test\System.Threading\ReaderWriterLockTest.cs" />\r
-    <Compile Include="Test\System.Threading\SemaphoreSlimTests.cs" />\r
-    <Compile Include="Test\System.Threading\SpinLockTests.cs" />\r
-    <Compile Include="Test\System.Threading\ThreadCas.cs" />\r
-    <Compile Include="Test\System.Threading\ThreadLocalTests.cs" />\r
-    <Compile Include="Test\System.Threading\ThreadPoolTest.cs" />\r
-    <Compile Include="Test\System.Threading\ThreadTest.cs" />\r
-    <Compile Include="Test\System.Threading\TimerTest.cs" />\r
-    <Compile Include="Test\System.Threading\VolatileTest.cs" />\r
-    <Compile Include="Test\System.Threading\WaitHandleCas.cs" />\r
-    <Compile Include="Test\System.Threading\WaitHandleTest.cs" />\r
-    <Compile Include="Test\System\ActivatorCas.cs" />\r
-    <Compile Include="Test\System\ActivatorTest.cs" />\r
-    <Compile Include="Test\System\AggregateExceptionTests.cs" />\r
-    <Compile Include="Test\System\AppDomainCas.cs" />\r
-    <Compile Include="Test\System\AppDomainManagerTest.cs" />\r
-    <Compile Include="Test\System\AppDomainSetupTest.cs" />\r
-    <Compile Include="Test\System\AppDomainTest.cs" />\r
-    <Compile Include="Test\System\ApplicationIdentityTest.cs" />\r
-    <Compile Include="Test\System\ApplicationIdTest.cs" />\r
-    <Compile Include="Test\System\ArgumentExceptionTest.cs" />\r
-    <Compile Include="Test\System\ArraySegmentTest.cs" />\r
-    <Compile Include="Test\System\ArraySortArgChecks.cs" />\r
-    <Compile Include="Test\System\ArrayTest.cs" />\r
-    <Compile Include="Test\System\AttributeTest.cs" />\r
-    <Compile Include="Test\System\BadImageFormatExceptionCas.cs" />\r
-    <Compile Include="Test\System\BadImageFormatExceptionTest.cs" />\r
-    <Compile Include="Test\System\BitConverterTest.cs" />\r
-    <Compile Include="Test\System\BooleanTest.cs" />\r
-    <Compile Include="Test\System\BufferTest.cs" />\r
-    <Compile Include="Test\System\ByteTest.cs" />\r
-    <Compile Include="Test\System\CharCategoryTest.cs" />\r
-    <Compile Include="Test\System\CharEnumeratorTest.cs" />\r
-    <Compile Include="Test\System\CharTest.cs" />\r
-    <Compile Include="Test\System\ConsoleCas.cs" />\r
-    <Compile Include="Test\System\ConsoleTest.cs" />\r
-    <Compile Include="Test\System\ConvertTest.cs" />\r
-    <Compile Include="Test\System\DateTimeOffsetTest.cs" />\r
-    <Compile Include="Test\System\DateTimeTest.cs" />\r
-    <Compile Include="Test\System\DecimalFormatterTest.cs" />\r
-    <Compile Include="Test\System\DecimalTest.cs" />\r
-    <Compile Include="Test\System\DecimalTest2.cs" />\r
-    <Compile Include="Test\System\DelegateTest.cs" />\r
-    <Compile Include="Test\System\DoubleFormatterTest.cs" />\r
-    <Compile Include="Test\System\DoubleTest.cs" />\r
-    <Compile Include="Test\System\EnumTest.cs" />\r
-    <Compile Include="Test\System\EnvironmentCas.cs" />\r
-    <Compile Include="Test\System\EnvironmentTest.cs" />\r
-    <Compile Include="Test\System\ExceptionCas.cs" />\r
-    <Compile Include="Test\System\ExceptionTest.cs" />\r
-    <Compile Include="Test\System\FloatingPointFormatterTest.cs" />\r
-    <Compile Include="Test\System\GuidTest.cs" />\r
-    <Compile Include="Test\System\Int16Test.cs" />\r
-    <Compile Include="Test\System\Int32Test.cs" />\r
-    <Compile Include="Test\System\Int64Test.cs" />\r
-    <Compile Include="Test\System\IntegerFormatterTest.cs" />\r
-    <Compile Include="Test\System\IntegerTryParse.cs" />\r
-    <Compile Include="Test\System\IntPtrTest.cs" />\r
-    <Compile Include="Test\System\LazyTest.cs" />\r
-    <Compile Include="Test\System\MarshalByRefObjectCas.cs" />\r
-    <Compile Include="Test\System\MathTest.cs" />\r
-    <Compile Include="Test\System\ModuleHandleTest.cs" />\r
-    <Compile Include="Test\System\MulticastDelegate.cs" />\r
-    <Compile Include="Test\System\NullableTest.cs" />\r
-    <Compile Include="Test\System\NumberFormatterTest.cs" />\r
-    <Compile Include="Test\System\ObjectTest.cs" />\r
-    <Compile Include="Test\System\ObsoleteAttributeTest.cs" />\r
-    <Compile Include="Test\System\RandomTest.cs" />\r
-    <Compile Include="Test\System\ResolveEventArgsTest.cs" />\r
-    <Compile Include="Test\System\RuntimeFieldHandleTest.cs" />\r
-    <Compile Include="Test\System\RuntimeMethodHandleCas.cs" />\r
-    <Compile Include="Test\System\RuntimeMethodHandleTest.cs" />\r
-    <Compile Include="Test\System\RuntimeTypeHandleTest.cs" />\r
-    <Compile Include="Test\System\SByteTest.cs" />\r
-    <Compile Include="Test\System\SingleFormatterTest.cs" />\r
-    <Compile Include="Test\System\SingleTest.cs" />\r
-    <Compile Include="Test\System\StringComparerTest.cs" />\r
-    <Compile Include="Test\System\StringTest.cs" />\r
-    <Compile Include="Test\System\TimeSpanTest.cs" />\r
-    <Compile Include="Test\System\TimeZoneTest.cs" />\r
-    <Compile Include="Test\System\TupleTest.cs" />\r
-    <Compile Include="Test\System\TypedReferenceCas.cs" />\r
-    <Compile Include="Test\System\TypeTest.cs" />\r
-    <Compile Include="Test\System\UInt16Test.cs" />\r
-    <Compile Include="Test\System\UInt32Test.cs" />\r
-    <Compile Include="Test\System\UInt64Test.cs" />\r
-    <Compile Include="Test\System\UIntPtrTest.cs" />\r
-    <Compile Include="Test\System\ValueTypeTest.cs" />\r
-    <Compile Include="Test\System\VersionTest.cs" />\r
-    <Compile Include="Test\System\WeakReferenceTest.cs" />\r  </ItemGroup>\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
-       Other similar extension points exist, see Microsoft.Common.targets.\r
-  <Target Name="BeforeBuild">\r
-  </Target>\r
-  <Target Name="AfterBuild">\r
-  </Target>\r
-  -->\r
-  <PropertyGroup>\r
-    <PreBuildEvent>\r
-\r
-    </PreBuildEvent>\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-
-    </PostBuildEvent>
-    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
-
-    </PostBuildEvent>\r
-  </PropertyGroup>\r
-  <ItemGroup>\r
-    <Reference Include="..\lib\net_2_0\nunit.framework.dll" />\r
-    <ProjectReference Include="..\corlib\corlib-net_2_0.csproj">\r
-      <Project>{5A00133C-6D08-48F7-A164-8B796CE6DB83}</Project>\r
-      <Name>corlib\corlib-net_2_0</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\Mono.Posix\Mono.Posix-build.csproj">\r
-      <Project>{AA347918-40BB-4762-8A7F-B94836255127}</Project>\r
-      <Name>Mono.Posix\Mono.Posix-build</Name>\r
-    </ProjectReference>\r
-    <ProjectReference Include="..\System.Core\System.Core-build.csproj">\r
-      <Project>{C371834B-0195-4342-8652-BF015D18C974}</Project>\r
-      <Name>System.Core\System.Core-build</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <EmbeddedResource Include="Test/resources/Resources.resources">\r
-      <LogicalName>Resources.resources</LogicalName>\r
-    </EmbeddedResource>\r
-  </ItemGroup>\r
-</Project>\r
-
index 5268a3a9766a55efbdb9a4bf1ea874691d021764..80f732e70706f654d3b1f9ff9e9d9d1a735f4277 100644 (file)
@@ -678,7 +678,6 @@ System.Runtime.CompilerServices/IDispatchConstantAttribute.cs
 System.Runtime.CompilerServices/IUnknownConstantAttribute.cs
 System.Runtime.CompilerServices/IndexerNameAttribute.cs
 System.Runtime.CompilerServices/INotifyCompletion.cs
-System.Runtime.CompilerServices/InternalsVisibleToAttribute.cs
 System.Runtime.CompilerServices/IsBoxed.cs
 System.Runtime.CompilerServices/IsByValue.cs
 System.Runtime.CompilerServices/IsConst.cs
@@ -1641,28 +1640,11 @@ System.Threading.Tasks/TaskContinuation.cs
 System.Threading.Tasks/TaskSchedulerException.cs
 System.Threading.Tasks/TaskConstants.cs
 System.Threading.Tasks/TaskConstants_T.cs
-System.Collections.Concurrent/OrderablePartitioner.cs
-System.Collections.Concurrent/ConcurrentDictionary.cs
-System.Collections.Concurrent/Partitioner.cs
-System.Collections.Concurrent/ConcurrentQueue.cs
-System.Collections.Concurrent/EnumerablePartitionerOptions.cs
-System.Collections.Concurrent.Partitioners/ListPartitioner.cs
-System.Collections.Concurrent.Partitioners/EnumerablePartitioner.cs
-System.Collections.Concurrent.Partitioners/UserRangePartitioner.cs
-System.Collections.Concurrent/IProducerConsumerCollection.cs
-System.Collections.Concurrent/ConcurrentStack.cs
-System.Collections.Concurrent/SplitOrderedList.cs
 System.Collections.Concurrent/ConcurrentOrderedList.cs
 System.Threading/LazyInitializer.cs
-System.Threading/CountdownEvent.cs
-System.Threading/CancellationTokenSource.cs
-System.Threading/CancellationToken.cs
-System.Threading/SpinWait.cs
 System.Threading/SemaphoreSlim.cs
-System.Threading/CancellationTokenRegistration.cs
 System.Threading/SpinLock.cs
 System.Threading/AtomicBoolean.cs
-System.Threading/ManualResetEventSlim.cs
 System.Threading/ThreadLocal.cs
 System.Threading/Watch.cs
 System.Threading.Tasks/ParallelOptions.cs
@@ -1675,3 +1657,26 @@ System.Threading.Tasks/SynchronizationContextScheduler.cs
 System.Threading.Tasks/UnobservedTaskExceptionEventArgs.cs
 System.Threading.Tasks/TpScheduler.cs
 System.Threading.Tasks/TaskExtensionsImpl.cs
+
+ReferenceSources/Array.cs
+ReferenceSources/Environment.cs
+ReferenceSources/ExecutionContext.cs
+ReferenceSources/Helpers.cs
+../../../external/referencesource/mscorlib/system/throwhelper.cs
+../../../external/referencesource/mscorlib/system/collections/generic/debugview.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/ConcurrentDictionary.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/ConcurrentQueue.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/ConcurrentStack.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/IProducerConsumerCollection.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/OrderablePartitioner.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/Partitioner.cs
+../../../external/referencesource/mscorlib/system/collections/Concurrent/PartitionerStatic.cs
+
+../../../external/referencesource/mscorlib/system/threading/CancellationToken.cs
+../../../external/referencesource/mscorlib/system/threading/CancellationTokenRegistration.cs
+../../../external/referencesource/mscorlib/system/threading/CancellationTokenSource.cs
+../../../external/referencesource/mscorlib/system/threading/CountdownEvent.cs
+../../../external/referencesource/mscorlib/system/threading/ManualResetEventSlim.cs
+../../../external/referencesource/mscorlib/system/threading/SpinWait.cs
+
+../../../external/referencesource/mscorlib/system/runtime/compilerservices/internalsvisibletoattribute.cs
index 8cb367e813ee930123e25bbb3a9bb94b1d3fe62c..34e50f9445f02e66d09bf1c41892fd1392482191 100644 (file)
@@ -177,6 +177,7 @@ System.Runtime.CompilerServices/ConditionalWeakTableTest.cs
 System.Runtime.CompilerServices/InternalsVisibleToAttributeTest.cs
 System.Runtime.CompilerServices/RuntimeHelpersTest.cs
 System.Runtime.CompilerServices/RuntimeWrappedExceptionTest.cs
+System.Runtime.CompilerServices/AsyncTaskMethodBuilderTest.cs
 System.Runtime.CompilerServices/AsyncVoidMethodBuilderTest.cs
 System.Runtime.CompilerServices/TaskAwaiterTest.cs
 System.Runtime.CompilerServices/TaskAwaiterTest_T.cs
diff --git a/mcs/errors/CS0165-51-lib.cs b/mcs/errors/CS0165-51-lib.cs
new file mode 100644 (file)
index 0000000..3576576
--- /dev/null
@@ -0,0 +1,4 @@
+public struct S<T> where T : class
+{
+    private T t;
+}
diff --git a/mcs/errors/CS1993-corlib.cs b/mcs/errors/CS1993-corlib.cs
new file mode 100644 (file)
index 0000000..2e5128b
--- /dev/null
@@ -0,0 +1,64 @@
+//
+// The minimal mscorlib implementation
+//
+
+namespace System
+{
+       public partial class Object {}
+
+       public partial struct Byte {}
+       public partial struct Int16 {}
+       public partial struct Int32 {}
+       public partial struct Int64 {}
+       public partial struct Single {}
+       public partial struct Double{}
+       public partial struct Char {}
+       public partial struct Boolean {}
+       public partial struct SByte {}
+       public partial struct UInt16 {}
+       public partial struct UInt32 {}
+       public partial struct UInt64 {}
+       public partial struct IntPtr {}
+       public partial struct UIntPtr {}
+       public partial struct Decimal { }
+       public partial class String { }
+       public partial class Delegate {}
+       public partial class MulticastDelegate {}
+       public partial class Array {}
+       public partial class Exception {}
+       public partial class Type {}
+       public partial class ValueType {}
+       public partial class Enum {}
+       public partial class Attribute {}
+       public partial struct Void {}
+       public partial class ParamArrayAttribute {}
+       public partial class DefaultMemberAttribute {}
+       public partial struct RuntimeTypeHandle {}
+       public partial struct RuntimeFieldHandle {}
+
+       public partial interface IDisposable {}
+
+       public delegate void Action ();
+}
+       
+namespace System.Runtime.InteropServices
+{
+       public partial class OutAttribute {}
+}
+               
+
+namespace System.Collections
+{
+       public partial interface IEnumerable {}
+       public partial interface IEnumerator {}
+}
+
+namespace System.Reflection
+{
+       public partial class DefaultMemberAttribute {}
+}
+
+namespace System.Runtime.CompilerServices
+{
+       public class ExtensionAttribute : Attribute {}
+}
index 95ce7d7c3caf2e9e54b000b12d9739a95c3d05db..e809a14da445035d3509d1785fc9cedb36f0eb72 100644 (file)
@@ -22,7 +22,7 @@ DISTFILES = \
 
 TEST_SUPPORT_FILES = \
        CS0012-lib.dll CS0012-2-lib.dll CS0012-3-lib.dll CS0012-4-lib.dll CS0012-5-lib.dll CS0012-6-lib.dll CS0012-9-lib.dll CS0012-10-lib.dll CS0012-11-lib.dll CS0012-12-lib.dll CS0012-13-lib.dll CS0012-14-lib.dll CS0012-15-lib.dll CS0012-16-lib.dll CS0012-17-lib.dll CS0012-18-lib.dll CS0012-21-lib.dll CS0012-22-lib.dll CS0012-23-lib.dll CS0012-24-lib.dll CS0019-71-lib.dll CS0029-26-lib.dll \
-       CS0103-2-lib.dll CS0118-2-lib.dll CS0122-8-lib.dll CS0122-10-lib.dll CS0122-14-lib.dll CS0122-15-lib.dll CS0122-19-lib.dll CS0122-35-lib.dll CS0122-36-lib.dll CS0143-lib.dll CS0144-3-lib.dll CS0165-19-lib.dll \
+       CS0103-2-lib.dll CS0118-2-lib.dll CS0122-8-lib.dll CS0122-10-lib.dll CS0122-14-lib.dll CS0122-15-lib.dll CS0122-19-lib.dll CS0122-35-lib.dll CS0122-36-lib.dll CS0143-lib.dll CS0144-3-lib.dll CS0165-19-lib.dll CS0165-51-lib.dll \
        CS0205-3-lib.dll CS0246-29-lib.dll CS0229-3-lib.dll CS0229-4-lib.dll CS0266-25-lib.dll \
        CS0315-2-lib.dll \
        CS0425-7-lib.dll CS0433-lib.dll CS0433-2-lib.dll \
index 891a1559d34827c0d66176c7719759cdbccbf5aa..52b1c5a458db24950ce0dbb25f35fd1bc10d354c 100644 (file)
@@ -1,5 +1,6 @@
 // CS0103: The name `value' does not exist in the current context
 // Line: 8
+// Compiler options: -langversion:experimental
 
 class X (double value)
 {
index 80f1e629f61154e9fef5d0c70e50bbe21231f0a8..aacf9a243792284b750810724cd1182aa252807d 100644 (file)
@@ -1,5 +1,6 @@
 // C0103: The name `s' does not exist in the current context
 // Line: 7
+// Compiler options: -langversion:experimental
 
 class Test(string s)
 {
index 034963c22a06d6184b6c28a74b6c840b88b1e6ac..dd48150bef861a9c8fed50260a5acc60e0ea7389 100644 (file)
@@ -1,5 +1,6 @@
 // CS0111: A member `S3.S3(string)' is already defined. Rename this member or use different parameter types
 // Line: 6
+// Compiler options: -langversion:experimental
 
 struct S3 (string s)
 {
diff --git a/mcs/errors/cs0121-26.cs b/mcs/errors/cs0121-26.cs
new file mode 100644 (file)
index 0000000..a1ca019
--- /dev/null
@@ -0,0 +1,43 @@
+// CS0121: The call is ambiguous between the following methods or properties: `A.B.X.Test(this int)' and `A.C.X.Test(this int)'
+// Line: 37
+
+using System;
+
+namespace A.B
+{
+       static class X
+       {
+               public static int Test (this int o)
+               {
+                       return 1;
+               }
+       }
+}
+
+namespace A.C
+{
+       static class X
+       {
+               public static int Test (this int o)
+               {
+                       return 2;
+               }
+       }
+}
+
+namespace C
+{
+       using A.B;
+       using A.C.X;
+
+       class M
+       {
+               public static int Main ()
+               {
+                       if (1.Test () != 1)
+                               return 1;
+
+                       return 0;
+               }
+       }
+}
\ No newline at end of file
index 20630a4bcf30519660a8c9ecab1c49976604dc30..7c2bff9836fd33db07bca58792d74a26030f825f 100644 (file)
@@ -1,5 +1,6 @@
 // CS0136: A local variable named `arg' cannot be declared in this scope because it would give a different meaning to `arg', which is already used in a `parent or current' scope to denote something else
 // Line: 11
+// Compiler options: -langversion:experimental
 
 using System;
 
index ae9e0f606e3916c90c7ad39ba972c19f1641af2b..7b81852d4f985bccfe9b58aa90a7f08ea9a6aae6 100644 (file)
@@ -1,5 +1,6 @@
 // CS0136: A local variable named `arg' cannot be declared in this scope because it would give a different meaning to `arg', which is already used in a `parent or current' scope to denote something else
 // Line: 11
+// Compiler options: -langversion:experimental
 
 using System;
 
diff --git a/mcs/errors/cs0165-50.cs b/mcs/errors/cs0165-50.cs
new file mode 100644 (file)
index 0000000..1695000
--- /dev/null
@@ -0,0 +1,23 @@
+// CS0165: Use of unassigned local variable `u'
+// Line: 15
+
+class X
+{
+       public static void Main ()
+       {
+               int i = 0;
+               int u;
+               switch (i) {
+                       case 1:
+                               A1:
+                               goto case 2;
+                       case 2:
+                               i = u;
+                               goto case 3;
+                       case 3:
+                               goto case 4;
+                       case 4:
+                               goto A1;
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0165-51.cs b/mcs/errors/cs0165-51.cs
new file mode 100644 (file)
index 0000000..bce82c6
--- /dev/null
@@ -0,0 +1,14 @@
+// CS0165: Use of unassigned local variable `s'
+// Line: 12
+// Compiler options: -r:CS0165-51-lib.dll
+
+using System;
+
+class C<T> where T : class
+{
+       public static void Foo ()
+       {
+           S<T> s;
+           Console.WriteLine (s);
+       }
+}
index f388a037eced6f200483931ed0e75479b5a7ea2b..366b485d184ec7f3ae944995c8c6ed9aae997398 100644 (file)
@@ -1,7 +1,5 @@
 // CS0170: Use of possibly unassigned field `a'
-// Line: 23
-
-using System;
+// Line: 21
 
 namespace CS0170
 {
@@ -21,7 +19,6 @@ namespace CS0170
                        Foo f;
                        Bar b = new Bar();
                        b.Inc (f.a);
-                       Console.WriteLine (f.a);
                }
        }
 }
index b221d4638e611e88a545699b6cd555ee66dfdaa3..989168afdf8893ca1adcd5d255e3fa76394074cc 100644 (file)
@@ -1,5 +1,6 @@
 // CS0177: The out parameter `o' must be assigned to before control leaves the current method
 // Line: 4
+// Compiler options: -langversion:experimental
 
 class Test(out int o) 
 {
diff --git a/mcs/errors/cs0188-9.cs b/mcs/errors/cs0188-9.cs
deleted file mode 100644 (file)
index fc0d3ad..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// CS0188: The `this' object cannot be used before all of its fields are assigned to
-// Line: 11
-
-using System;
-
-public struct S
-{
-       public int A { get; private set;}
-       public event EventHandler eh;
-
-       public S (int a)
-       {
-               this.eh = null;
-               A = a;
-       }
-}
diff --git a/mcs/errors/cs0200-4.cs b/mcs/errors/cs0200-4.cs
new file mode 100644 (file)
index 0000000..bf2cbff
--- /dev/null
@@ -0,0 +1,15 @@
+// CS0200: Property or indexer `A.X' cannot be assigned to (it is read-only)
+// Line: 13
+
+public class A
+{
+       public int X { get; }
+}
+
+public class B : A
+{
+       public B ()
+       {
+               base.X = 1;
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0200-5.cs b/mcs/errors/cs0200-5.cs
new file mode 100644 (file)
index 0000000..4657362
--- /dev/null
@@ -0,0 +1,12 @@
+// CS0200: Property or indexer `C.S' cannot be assigned to (it is read-only)
+// Line: 10
+
+class C
+{
+       public static int S { get; }
+
+       public C ()
+       {
+               S = 3;
+       }
+}
diff --git a/mcs/errors/cs0200-6.cs b/mcs/errors/cs0200-6.cs
new file mode 100644 (file)
index 0000000..dcfe2d2
--- /dev/null
@@ -0,0 +1,12 @@
+// CS0200: Property or indexer `C.P' cannot be assigned to (it is read-only)
+// Line: 10
+
+class C
+{
+       public int P { get; }
+
+       public void Foo ()
+       {
+               P = 10;
+       }
+}
index 1462cbac233e16577ab386bb76fc075fab8a501b..75a5d859176b968d86abf91ee80297bf401d3d66 100644 (file)
@@ -1,5 +1,6 @@
 // CS0411: The type arguments for method `C.Foo<T>(out T)' cannot be inferred from the usage. Try specifying the type arguments explicitly
 // Line: 8
+// Compiler options: -langversion:experimental
 
 public class C
 {
index 2e6f6a6138111ddcf1d5ce5d44ffe1afa703e0ba..193a6ae51d86002da58ab460bed77bfc781b698c 100644 (file)
@@ -1,6 +1,6 @@
 // CS0657: `field' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are `param'. All attributes in this section will be ignored
 // Line: 9
-// Compiler options: -warnaserror
+// Compiler options: -warnaserror -langversion:experimental
 
 using System;
 
index ae41a72d91a0918419e07bdaf120febf85d6dcb6..af3d10f8c6c370899609d93bd528f2d509f7d065 100644 (file)
@@ -1,5 +1,6 @@
 // CS0815: An implicitly typed local variable declaration cannot be initialized with `void'
 // Line: 8
+// Compiler options: -langversion:experimental
 
 class X
 {
index 798b33547c839559a508cadcff73c24444ec3954..8872ce40389e8701988fec1dd226606143890cf4 100644 (file)
@@ -1,5 +1,6 @@
 // CS0841: A local variable `x' cannot be used before it is declared
 // Line: 8
+// Compiler options: -langversion:experimental
 
 class X
 {
diff --git a/mcs/errors/cs0843-2.cs b/mcs/errors/cs0843-2.cs
deleted file mode 100644 (file)
index eb90055..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// CS0843: An automatically implemented property `S.A' must be fully assigned before control leaves the constructor. Consider calling the default struct contructor from a constructor initializer
-// Line: 8
-
-public struct S
-{
-       public int A { get; set;}
-
-       public S (int a)
-       {
-               this.A = a;
-       }
-}
diff --git a/mcs/errors/cs0843-3.cs b/mcs/errors/cs0843-3.cs
deleted file mode 100644 (file)
index 696ef16..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// CS0843: An automatically implemented property `S.A' must be fully assigned before control leaves the constructor. Consider calling the default struct contructor from a constructor initializer
-// Line: 11
-
-using System;
-
-public struct S
-{
-       public int A { get; set;}
-       event EventHandler eh;
-
-       public S (int a)
-       {
-               this.eh = null;
-               A = a;
-       }
-}
index 26766c0ade7ec13f1eea6891fb13ea22f9473241..07da09dfe294ab20064ad5e679f396f7c2ec68d5 100644 (file)
@@ -1,5 +1,6 @@
 // CS1501: Argument `#1' cannot convert `ref string' expression to type `ref int'
 // Line: 8
+// Compiler options: -langversion:experimental
 
 class C
 {
diff --git a/mcs/errors/cs1525-56.cs b/mcs/errors/cs1525-56.cs
new file mode 100644 (file)
index 0000000..c2b5087
--- /dev/null
@@ -0,0 +1,8 @@
+// CS1525: Unexpected symbol `string', expecting `,' or `]'
+// Line: 5
+
+public class TestApp {
+       static void Main ([MarshalAs (UnmanagedType.LPStr) string[] args)
+       {
+       }
+}
\ No newline at end of file
index c64fb7fe842daf152b49c1b4a6fe117adaf91e5b..dc9a604fbb4b8b5e4c490e78569be46529ae200c 100644 (file)
@@ -1,5 +1,6 @@
 // CS1615: Argument `#1' does not require `out' modifier. Consider removing `out' modifier
 // Line: 8
+// Compiler options: -langversion:experimental
 
 public class C
 {
index 0041787be04dac5b10925741f22fc41976d5fdb9..043d58ea408681f95d1a1820fcbf7bb42b2f2d1a 100644 (file)
@@ -2,6 +2,6 @@
 // Line: 5
 // Compiler options: -warnaserror
 
-#pragma warning disable AAA
+#pragma warning disable 1AAA
 class MainClass {
 }
index 42e0254b514a5803cb9fa729379b435c19ed6d2d..e93ee681886591fb57bef21fcd13bdba88693099 100644 (file)
@@ -1,6 +1,6 @@
 // CS1993: Cannot find compiler required types for asynchronous functions support. Are you targeting the wrong framework version?
 // Line: 38
-// Compiler options: -sdk:2
+// Compiler options: -nostdlib CS1993-corlib.cs
 
 using System.Threading.Tasks;
 
diff --git a/mcs/errors/cs7048.cs b/mcs/errors/cs7048.cs
new file mode 100644 (file)
index 0000000..398c32e
--- /dev/null
@@ -0,0 +1,26 @@
+// CS7048: First argument of a security attribute `CustomSecurityAttribute' must be a valid SecurityAction
+// Line: 20
+
+using System.Security;
+using System.Security.Permissions;
+
+public class CustomSecurityAttribute : CodeAccessSecurityAttribute
+{
+       public CustomSecurityAttribute ()
+               : base (SecurityAction.Demand)
+       {
+       }
+
+       public override IPermission CreatePermission()
+       {
+               return null;
+       }
+}
+
+[CustomSecurity]
+class X
+{
+       public static void Main ()
+       {
+       }
+}
index 59694800fd722117b58d425decea4e20bff47c03..68317ac06650189872c4312378c157830c6483a9 100644 (file)
@@ -1,5 +1,6 @@
-// CS9001: Only one part of a partial type can declare primary constructor parameters
+// CS8036: Only one part of a partial type can declare primary constructor parameters
 // Line: 8
+// Compiler options: -langversion:experimental
 
 partial class Part(int arg)
 {
index ea40954ebd6d93eab7cca59658a577b033bb3312..39e695003a65aef86608895cbba29a19fecb4e0c 100644 (file)
@@ -1,5 +1,6 @@
-// CS9002: `S.S(long)': Instance constructor of type with primary constructor must specify `this' constructor initializer
+// CS8037: `S.S(long)': Instance constructor of type with primary constructor must specify `this' constructor initializer
 // Line: 6
+// Compiler options: -langversion:experimental
 
 class S (int arg)
 {
index 76dc74646d644a5f8fb49ecd415cca09cc6b6aad..a35382676467b4909b1cf355a7a740049c5bc098 100644 (file)
@@ -1,5 +1,6 @@
 // CS8038: Primary constructor of type `Test<T>' has parameter of same name as type parameter `T'
 // Line: 4
+// Compiler options: -langversion:experimental
 
 class Test<T>(T T) 
 {
index 7793ffdd721fd3e3d969249e4837374f05d18ca2..63353bf8589798a591c79c9d87beaa55ae323655 100644 (file)
@@ -1,5 +1,6 @@
 // CS8039: Primary constructor of type `Test' has parameter of same name as containing type
 // Line: 4
+// Compiler options: -langversion:experimental
 
 class Test(object Test) 
 {
index b7f9da825f6838076d0c1d10d30d4cbcad3a7f53..6c011e11f4a70612f36f20443762a01007eaffea 100644 (file)
@@ -1,5 +1,6 @@
 // CS8043: `S.S(long)': Structs with primary constructor cannot specify default constructor initializer
 // Line: 6
+// Compiler options: -langversion:experimental
 
 struct S (int x)
 {
index f8b9ad556f0927c275f7a8c4a4b3e21c33b989b7..3335e29c4b15e844a86df6cb35db53a04ea384bc 100644 (file)
@@ -1,5 +1,6 @@
 // CS8046: An expression tree cannot contain a declaration expression
 // Line: 11
+// Compiler options: -langversion:experimental
 
 using System;
 using System.Linq.Expressions;
index 7171d569ce3456ed4e752c517a5b23499cc0b8d0..cd91a4fb3a760b6458a7356d8c485a99eb2c43eb 100644 (file)
@@ -1,5 +1,6 @@
 // CS8047: Declaration expression cannot be used in this context
 // Line: 8
+// Compiler options: -langversion:experimental
 
 public class C
 {
index 0689057684cdcde27fa232ea504348820a7371b4..e747fdcca9df50e6f6aec901de65183c512bbab9 100644 (file)
@@ -1,5 +1,6 @@
 // CS8049: Implemented interfaces cannot have arguments
 // Line: 6
+// Compiler options: -langversion:experimental
 
 using System;
 
index 7935efbe6084844f2b225b08aabf9fabe9e17f60..1bd716c4b82baecf2e5b98f5c3572aaa2b050535 100644 (file)
@@ -1,7 +1,7 @@
-// CS8051: Auto-implemented property `Test.Property' must have set accessor or initializer
+// CS8051: Auto-implemented property `V.P' must have get accessor
 // Line: 6
 
-public abstract class Test
+class V
 {
-       public string Property { get; }
-}
+       public object P { set; } = 1;
+}
\ No newline at end of file
index bccf0157faf0807cb216a29b5aa3fe8d4ab6686b..d3f6a219653a206e9e9dacc343e5759284b624e1 100644 (file)
@@ -1,7 +1,7 @@
-// CS8052: Auto-implemented property `V.P' must have get accessor
+// CS8052: `I.P': Properties inside interfaces cannot have initializers
 // Line: 6
 
-class V
+interface I
 {
-       public object P { set; } = 1;
+       int P { get; } = 4;
 }
\ No newline at end of file
diff --git a/mcs/errors/cs8053.cs b/mcs/errors/cs8053.cs
deleted file mode 100644 (file)
index 319835f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// CS8053: `I.P': Properties inside interfaces cannot have initializers
-// Line: 6
-
-interface I
-{
-       int P { get; } = 4;
-}
\ No newline at end of file
diff --git a/mcs/errors/cs8079.cs b/mcs/errors/cs8079.cs
new file mode 100644 (file)
index 0000000..18a7810
--- /dev/null
@@ -0,0 +1,14 @@
+// CS8079: Use of possibly unassigned auto-implemented property `X'
+// Line: 11
+
+public struct S
+{
+       public int X { get; set; }
+       public int Y;
+
+       public S ()
+       {
+               Y = X;
+               X = 0;
+       }
+}
\ No newline at end of file
index 2952c7f98ec61cd2331665d607a6788817f821a2..8daa76e58aa8ca7e76108a9178c8f97a9507afeb 100644 (file)
@@ -1,5 +1,6 @@
 // CS8800: `S': Static classes cannot have primary constructor
 // Line: 4
+// Compiler options: -langversion:experimental
 
 static class S(int i)
 {
index 847cbcfd5d83deba03c210446fe28a868b50e4c0..b20608ea52def25fa65d522c58746fbab1a0e59e 100644 (file)
@@ -352,7 +352,7 @@ namespace Mono.CSharp {
                                hoisted_locals.Add (hoisted);
                        }
 
-                       if (ec.CurrentBlock.Explicit != localVariable.Block.Explicit && !(hoisted.Storey is StateMachine))
+                       if (ec.CurrentBlock.Explicit != localVariable.Block.Explicit && !(hoisted.Storey is StateMachine) && hoisted.Storey != null)
                                hoisted.Storey.AddReferenceFromChildrenBlock (ec.CurrentBlock.Explicit);
                }
 
index f93c0383962a4849b5613d916007241aa79a2fa1..dd5af064062b446d686d94ec6e56e027e99df84e 100644 (file)
@@ -372,8 +372,6 @@ namespace Mono.CSharp
                                vi_product = a.GetString ();
                        } else if (a.Type == pa.AssemblyCompany) {
                                vi_company = a.GetString ();
-                       } else if (a.Type == pa.AssemblyDescription) {
-                               // TODO: Needs extra api
                        } else if (a.Type == pa.AssemblyCopyright) {
                                vi_copyright = a.GetString ();
                        } else if (a.Type == pa.AssemblyTrademark) {
@@ -382,6 +380,12 @@ namespace Mono.CSharp
                                has_user_debuggable = true;
                        }
 
+                       //
+                       // Win32 version info attributes AssemblyDescription and AssemblyTitle cannot be
+                       // set using public API and because we have blob like attributes we need to use
+                       // special option DecodeVersionInfoAttributeBlobs to support values extraction
+                       //
+
                        SetCustomAttribute (ctor, cdata);
                }
 
index 472a393739f1a8cd0f5f68576f7bc57c1ddc2547..5650d054c2be3607cc0ec91a1b40c9271f06c0fa 100644 (file)
@@ -421,7 +421,13 @@ namespace Mono.CSharp {
                {
                        source.FlowAnalysis (fc);
 
-                       if (target is ArrayAccess || target is IndexerExpr || target is PropertyExpr)
+                       if (target is ArrayAccess || target is IndexerExpr) {
+                               target.FlowAnalysis (fc);
+                               return;
+                       }
+
+                       var pe = target as PropertyExpr;
+                       if (pe != null && !pe.IsAutoPropertyAccess)
                                target.FlowAnalysis (fc);
                }
 
@@ -491,6 +497,12 @@ namespace Mono.CSharp {
                                fe.SetFieldAssigned (fc);
                                return;
                        }
+
+                       var pe = target as PropertyExpr;
+                       if (pe != null) {
+                               pe.SetBackingFieldAssigned (fc);
+                               return;
+                       }
                }
 
                public override void MarkReachable (Reachability rc)
index 6ffa92aa06a3f9cda8df1e97a0cbf67eaa719206..797319f62552402040a5b338524748fd257a1e80 100644 (file)
@@ -159,7 +159,7 @@ namespace Mono.CSharp
                                if (invocation != null && invocation.MethodGroup != null && (invocation.MethodGroup.BestCandidate.Modifiers & Modifiers.ASYNC) != 0) {
                                        rc.Report.Error (4008, loc, "Cannot await void method `{0}'. Consider changing method return type to `Task'",
                                                invocation.GetSignatureForError ());
-                               } else {
+                               } else if (type != InternalType.ErrorType) {
                                        rc.Report.Error (4001, loc, "Cannot await `{0}' expression", type.GetSignatureForError ());
                                }
                        }
index 7318f2605931c273b9f8f094e0a7dcaed9ab672c..4ab296b200a9004592a9be019373c594fcad5815 100644 (file)
@@ -832,9 +832,9 @@ namespace Mono.CSharp {
                /// </summary>
                bool IsSecurityActionValid ()
                {
-                       SecurityAction action = GetSecurityActionValue ();
+                       Constant c = null;
+                       var action = GetSecurityActionValue (ref c);
                        bool for_assembly = Target == AttributeTargets.Assembly || Target == AttributeTargets.Module;
-                       var c = (Constant)pos_args [0].Expr;
 
                        switch (action) {
 #pragma warning disable 618
@@ -855,6 +855,10 @@ namespace Mono.CSharp {
                                        return true;
                                break;
 #pragma warning restore 618
+                       case null:
+                               Report.Error (7048, loc, "First argument of a security attribute `{0}' must be a valid SecurityAction",
+                                       Type.GetSignatureForError ());
+                               return false;
 
                        default:
                                Report.Error (7049, c.Location, "Security attribute `{0}' has an invalid SecurityAction value `{1}'",
@@ -876,9 +880,25 @@ namespace Mono.CSharp {
                        return false;
                }
 
-               System.Security.Permissions.SecurityAction GetSecurityActionValue ()
+               SecurityAction? GetSecurityActionValue (ref Constant value)
                {
-                       return (SecurityAction) ((Constant) pos_args[0].Expr).GetValue ();
+                       if (pos_args == null) {
+                               var predefined = context.Module.PredefinedAttributes;
+
+                               //
+                               // BCL defines System.Security.Permissions.HostProtectionAttribute with parameterless
+                               // contructor which should not be valid but it's already part of the framework
+                               //
+                               if (Type == predefined.HostProtection.TypeSpec) {
+                                       value = new IntConstant (context.Module.Compiler.BuiltinTypes, (int)SecurityAction.LinkDemand, loc);
+                                       return SecurityAction.LinkDemand;
+                               }
+
+                               return null;
+                       }
+
+                       value = (Constant) pos_args [0].Expr;
+                       return (SecurityAction) value.GetValue ();
                }
 
                /// <summary>
@@ -888,9 +908,14 @@ namespace Mono.CSharp {
                public void ExtractSecurityPermissionSet (MethodSpec ctor, ref SecurityType permissions)
                {
 #if STATIC
-                       object[] values = new object[pos_args.Count];
-                       for (int i = 0; i < values.Length; ++i)
-                               values[i] = ((Constant) pos_args[i].Expr).GetValue ();
+                       object[] values;
+                       if (pos_args != null) {
+                               values = new object[pos_args.Count];
+                               for (int i = 0; i < values.Length; ++i)
+                                       values[i] = ((Constant) pos_args[i].Expr).GetValue ();
+                       } else {
+                               values = null;
+                       }
 
                        PropertyInfo[] prop;
                        object[] prop_values;
@@ -1679,6 +1704,7 @@ namespace Mono.CSharp {
                public readonly PredefinedDebuggerBrowsableAttribute DebuggerBrowsable;
                public readonly PredefinedAttribute DebuggerStepThrough;
                public readonly PredefinedDebuggableAttribute Debuggable;
+               public readonly PredefinedAttribute HostProtection;
 
                // New in .NET 3.5
                public readonly PredefinedAttribute Extension;
@@ -1698,7 +1724,6 @@ namespace Mono.CSharp {
                public readonly PredefinedAttribute FieldOffset;
                public readonly PredefinedAttribute AssemblyProduct;
                public readonly PredefinedAttribute AssemblyCompany;
-               public readonly PredefinedAttribute AssemblyDescription;
                public readonly PredefinedAttribute AssemblyCopyright;
                public readonly PredefinedAttribute AssemblyTrademark;
                public readonly PredefinedAttribute CallerMemberNameAttribute;
@@ -1734,6 +1759,7 @@ namespace Mono.CSharp {
                        DefaultParameterValue = new PredefinedAttribute (module, "System.Runtime.InteropServices", "DefaultParameterValueAttribute");
                        OptionalParameter = new PredefinedAttribute (module, "System.Runtime.InteropServices", "OptionalAttribute");
                        UnverifiableCode = new PredefinedAttribute (module, "System.Security", "UnverifiableCodeAttribute");
+                       HostProtection = new PredefinedAttribute (module, "System.Security.Permissions", "HostProtectionAttribute");
 
                        DefaultCharset = new PredefinedAttribute (module, "System.Runtime.InteropServices", "DefaultCharSetAttribute");
                        TypeForwarder = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "TypeForwardedToAttribute");
@@ -1758,7 +1784,6 @@ namespace Mono.CSharp {
                        FieldOffset = new PredefinedAttribute (module, "System.Runtime.InteropServices", "FieldOffsetAttribute");
                        AssemblyProduct = new PredefinedAttribute (module, "System.Reflection", "AssemblyProductAttribute");
                        AssemblyCompany = new PredefinedAttribute (module, "System.Reflection", "AssemblyCompanyAttribute");
-                       AssemblyDescription = new PredefinedAttribute (module, "System.Reflection", "AssemblyDescriptionAttribute");
                        AssemblyCopyright = new PredefinedAttribute (module, "System.Reflection", "AssemblyCopyrightAttribute");
                        AssemblyTrademark = new PredefinedAttribute (module, "System.Reflection", "AssemblyTrademarkAttribute");
 
index 37e1667db6f7fbf1fa13a1af2e48ef512a96829c..5dac7c44002dad96b133628063cb42ce2bb7edb4 100644 (file)
@@ -1298,7 +1298,7 @@ namespace Mono.CSharp
                                CreateMetadataName (sb);
                                TypeBuilder = Module.CreateBuilder (sb.ToString (), TypeAttr, type_size);
                        } else {
-                               TypeBuilder = parent_def.TypeBuilder.DefineNestedType (MemberName.Basename, TypeAttr, null, type_size);
+                               TypeBuilder = parent_def.TypeBuilder.DefineNestedType (FilterNestedName (MemberName.Basename), TypeAttr, null, type_size);
                        }
 
                        if (DeclaringAssembly.Importer != null)
@@ -1328,6 +1328,18 @@ namespace Mono.CSharp
                        return true;
                }
 
+               public static string FilterNestedName (string name)
+               {
+                       //
+                       // SRE API does not handle namespaces and types separately but
+                       // determine that from '.' in name. That's problematic because 
+                       // dot is valid character for type name. By replacing any '.'
+                       // in name we avoid any ambiguities and never emit metadata
+                       // namespace for nested types
+                       //
+                       return name.Replace ('.', '_');
+               }
+
                string[] CreateTypeParameters (TypeParameters parentAllTypeParameters)
                {
                        string[] names;
index 230aa12576413949820af1dd5bbfca51e28e997c..b41d8c472771ec04e567e305606099e003cf6e63 100644 (file)
@@ -464,7 +464,7 @@ namespace Mono.CSharp
 
                public DefiniteAssignmentBitSet DefiniteAssignmentOnFalse { get; set; }
 
-               public List<LabeledStatement> LabelStack { get; set; }
+               Dictionary<Statement, List<DefiniteAssignmentBitSet>> LabelStack { get; set; }
 
                public ParametersBlock ParametersBlock { get; set; }
 
@@ -480,12 +480,48 @@ namespace Mono.CSharp
 
                public bool UnreachableReported { get; set; }
 
+               public bool AddReachedLabel (Statement label)
+               {
+                       List<DefiniteAssignmentBitSet> das;
+                       if (LabelStack == null) {
+                               LabelStack = new Dictionary<Statement, List<DefiniteAssignmentBitSet>> ();
+                               das = null;
+                       } else {
+                               LabelStack.TryGetValue (label, out das);
+                       }
+
+                       if (das == null) {
+                               das = new List<DefiniteAssignmentBitSet> ();
+                               das.Add (new DefiniteAssignmentBitSet (DefiniteAssignment));
+                               LabelStack.Add (label, das);
+                               return false;
+                       }
+
+                       foreach (var existing in das) {
+                               if (DefiniteAssignmentBitSet.AreEqual (existing, DefiniteAssignment))
+                                       return true;
+                       }
+
+                       if (DefiniteAssignment == DefiniteAssignmentBitSet.Empty)
+                               das.Add (DefiniteAssignment);
+                       else
+                               das.Add (new DefiniteAssignmentBitSet (DefiniteAssignment));
+
+                       return false;
+               }
+
                public DefiniteAssignmentBitSet BranchDefiniteAssignment ()
                {
-                       var dat = DefiniteAssignment;
-                       if (dat != DefiniteAssignmentBitSet.Empty)
-                               DefiniteAssignment = new DefiniteAssignmentBitSet (dat);
-                       return dat;
+                       return BranchDefiniteAssignment (DefiniteAssignment);
+               }
+
+               public DefiniteAssignmentBitSet BranchDefiniteAssignment (DefiniteAssignmentBitSet da)
+               {
+                       if (da != DefiniteAssignmentBitSet.Empty) {
+                               DefiniteAssignment = new DefiniteAssignmentBitSet (da);
+                       }
+
+                       return da;
                }
 
                public void BranchConditionalAccessDefiniteAssignment ()
index 2db083886ca5e52b8b2d756ec25477f33400cac2..ed173cc5e4ba7348e081dce13772aa27f9718778 100644 (file)
@@ -741,7 +741,9 @@ attribute_section_cont
          }
        | error
          {
-               CheckAttributeTarget (yyToken, GetTokenName (yyToken), GetLocation ($1)); 
+               if (CheckAttributeTarget (yyToken, GetTokenName (yyToken), GetLocation ($1)).Length > 0)
+                       Error_SyntaxError (yyToken);
+
                $$ = null;
          }
        ;       
@@ -887,7 +889,7 @@ named_argument
 
 named_argument_expr
        : expression_or_error
-       | declaration_expression
+//     | declaration_expression
        ;
        
 opt_named_modifier
@@ -3656,7 +3658,7 @@ declaration_expression
 */
        | variable_type identifier_inside_body
          {
-               if (lang_version < LanguageVersion.V_6)
+               if (lang_version != LanguageVersion.Experimental)
                        FeatureIsNotAvailable (GetLocation ($1), "declaration expression");
 
                var lt = (LocatedToken) $2;
@@ -3666,7 +3668,7 @@ declaration_expression
          }
        | variable_type identifier_inside_body ASSIGN expression
          {
-               if (lang_version < LanguageVersion.V_6)
+               if (lang_version != LanguageVersion.Experimental)
                        FeatureIsNotAvailable (GetLocation ($1), "declaration expression");
 
                var lt = (LocatedToken) $2;
@@ -5021,7 +5023,7 @@ primary_parameters
                // Cannot use opt_formal_parameter_list because it can be shared instance for empty parameters
                lbag.AppendToMember (current_container, GetLocation ($1), GetLocation ($3));
 
-               if (lang_version < LanguageVersion.V_6)
+               if (lang_version != LanguageVersion.Experimental)
                        FeatureIsNotAvailable (GetLocation ($1), "primary constructor");
          }
        ;
index 9647a4bd7e64a1f2407da61f5bde02a195dfe797..1c8a107636b60477cd56243979661df73f5d4515 100644 (file)
@@ -1035,6 +1035,7 @@ namespace Mono.CSharp
                                                case Token.BYTE:
                                                case Token.DECIMAL:
                                                case Token.BOOL:
+                                               case Token.STRING:
                                                        return Token.OPEN_PARENS_CAST;
                                                }
                                        }
@@ -1989,7 +1990,7 @@ namespace Mono.CSharp
                        return current_token;
                }
 
-               int TokenizePreprocessorIdentifier (out int c)
+               int TokenizePreprocessorKeyword (out int c)
                {
                        // skip over white space
                        do {
@@ -2026,7 +2027,7 @@ namespace Mono.CSharp
                        tokens_seen = false;
                        arg = "";
 
-                       var cmd = GetPreprocessorDirective (id_builder, TokenizePreprocessorIdentifier (out c));
+                       var cmd = GetPreprocessorDirective (id_builder, TokenizePreprocessorKeyword (out c));
 
                        if ((cmd & PreprocessorDirective.CustomArgumentsParsing) != 0)
                                return cmd;
@@ -2098,7 +2099,7 @@ namespace Mono.CSharp
 
                        int c;
 
-                       int length = TokenizePreprocessorIdentifier (out c);
+                       int length = TokenizePreprocessorKeyword (out c);
                        if (length == line_default.Length) {
                                if (!IsTokenIdentifierEqual (line_default))
                                        return false;
@@ -2431,16 +2432,60 @@ namespace Mono.CSharp
                        return string_builder.ToString ();
                }
 
-               int TokenizePragmaNumber (ref int c)
+               int TokenizePragmaWarningIdentifier (ref int c, ref bool identifier)
                {
-                       number_pos = 0;
 
-                       int number;
+                       if ((c >= '0' && c <= '9') || is_identifier_start_character (c)) {
+                               int number;
 
-                       if (c >= '0' && c <= '9') {
-                               number = TokenizeNumber (c);
+                               if (c >= '0' && c <= '9') {
+                                       number_pos = 0;
+                                       number = TokenizeNumber (c);
 
-                               c = get_char ();
+                                       c = get_char ();
+
+                                       if (c != ' ' && c != '\t' && c != ',' && c != '\n' && c != -1 && c != UnicodeLS && c != UnicodePS) {
+                                               return ReadPragmaWarningComment (c);
+                                       }
+                               } else {
+                                       //
+                                       // LAMESPEC v6: No spec what identifier really is in this context, it seems keywords are allowed too
+                                       //
+                                       int pos = 0;
+                                       number = -1;
+                                       id_builder [pos++] = (char)c;
+                                       while (c < MaxIdentifierLength) {
+                                               c = reader.Read ();
+                                               id_builder [pos] = (char)c;
+
+                                               if (c >= '0' && c <= '9') {
+                                                       if (pos == 6 && id_builder [0] == 'C' && id_builder [1] == 'S') {
+                                                               // Recognize CSXXXX as C# XXXX warning
+                                                               number = 0;
+                                                               int pow = 1000;
+                                                               for (int i = 0; i < 4; ++i) {
+                                                                       var ch = id_builder [i + 2];
+                                                                       if (ch < '0' || ch > '9') {
+                                                                               number = -1;
+                                                                               break;
+                                                                       }
+
+                                                                       number += (ch - '0') * pow;
+                                                                       pow /= 10;
+                                                               }
+                                                       }
+                                               } else if ((c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && c != '_') {
+                                                       break;
+                                               }
+
+                                               ++pos;
+                                       }
+
+                                       if (number < 0) {
+                                               identifier = true;
+                                               number = pos;
+                                       }
+                               }
 
                                // skip over white space
                                while (c == ' ' || c == '\t')
@@ -2453,19 +2498,25 @@ namespace Mono.CSharp
                                // skip over white space
                                while (c == ' ' || c == '\t')
                                        c = get_char ();
+
+                               return number;
+                       }
+
+                       return ReadPragmaWarningComment (c);
+               }
+
+               int ReadPragmaWarningComment (int c)
+               {
+                       if (c == '/') {
+                               ReadSingleLineComment ();
                        } else {
-                               number = -1;
-                               if (c == '/') {
-                                       ReadSingleLineComment ();
-                               } else {
-                                       Report.Warning (1692, 1, Location, "Invalid number");
+                               Report.Warning (1692, 1, Location, "Invalid number");
 
-                                       // Read everything till the end of the line or file
-                                       ReadToEndOfLine ();
-                               }
+                               // Read everything till the end of the line or file
+                               ReadToEndOfLine ();
                        }
 
-                       return number;
+                       return -1;
                }
 
                void ReadToEndOfLine ()
@@ -2491,9 +2542,9 @@ namespace Mono.CSharp
                void ParsePragmaDirective ()
                {
                        int c;
-                       int length = TokenizePreprocessorIdentifier (out c);
+                       int length = TokenizePreprocessorKeyword (out c);
                        if (length == pragma_warning.Length && IsTokenIdentifierEqual (pragma_warning)) {
-                               length = TokenizePreprocessorIdentifier (out c);
+                               length = TokenizePreprocessorKeyword (out c);
 
                                //
                                // #pragma warning disable
@@ -2526,9 +2577,12 @@ namespace Mono.CSharp
                                                        //
                                                        int code;
                                                        do {
-                                                               code = TokenizePragmaNumber (ref c);
+                                                               bool identifier = false;
+                                                               code = TokenizePragmaWarningIdentifier (ref c, ref identifier);
                                                                if (code > 0) {
-                                                                       if (disable) {
+                                                                       if (identifier) {
+                                                                               // no-op, custom warnings cannot occur in mcs
+                                                                       } else if (disable) {
                                                                                Report.RegisterWarningRegion (loc).WarningDisable (loc, code, context.Report);
                                                                        } else {
                                                                                Report.RegisterWarningRegion (loc).WarningEnable (loc, code, context);
index 302c21a2c7a7d585b16bf1c8d5c68f279e83f2b6..99476d291c7b671047ac0329a843ce900327812b 100644 (file)
@@ -1125,7 +1125,7 @@ namespace Mono.CSharp {
 
                public virtual string GetSignatureForError ()
                {
-                       var bf = MemberDefinition as Property.BackingField;
+                       var bf = MemberDefinition as Property.BackingFieldDeclaration;
                        string name;
                        if (bf == null) {
                                name = Name;
index 0dd759823f184fcb95f003920619a26939796c8a..844c04e5771a7aeb4eb23dcbc5773abb5d076ca7 100644 (file)
@@ -294,6 +294,9 @@ namespace Mono.CSharp {
 
                public override void PrepareEmit ()
                {
+                       if ((caching_flags & Flags.CloseTypeCreated) != 0)
+                               return;
+
                        if (!Parameters.IsEmpty) {
                                parameters.ResolveDefaultValues (this);
                        }
@@ -646,7 +649,8 @@ namespace Mono.CSharp {
                        var invoke = Delegate.GetInvokeMethod (target_type);
 
                        Arguments arguments = CreateDelegateMethodArguments (ec, invoke.Parameters, invoke.Parameters.Types, mg.Location);
-                       return mg.OverloadResolve (ec, ref arguments, null, OverloadResolver.Restrictions.CovariantDelegate | OverloadResolver.Restrictions.ProbingOnly) != null;
+                       mg = mg.OverloadResolve (ec, ref arguments, null, OverloadResolver.Restrictions.CovariantDelegate | OverloadResolver.Restrictions.ProbingOnly);
+                       return mg != null && Delegate.IsTypeCovariant (ec, mg.BestCandidateReturnType, invoke.ReturnType);
                }
 
                #region IErrorHandler Members
index 3143908b63accad973ddba473d1f532987e364e5..4d2007cfa13397878e43924a082b92fc61b03151 100644 (file)
@@ -3208,6 +3208,11 @@ namespace Mono.CSharp {
                {
                        return ns.LookupTypeOrNamespace (ctx, name, arity, mode, loc);
                }
+
+               public override string ToString ()
+               {
+                       return Namespace.Name;
+               }
     }
 
        /// <summary>
@@ -4613,8 +4618,17 @@ namespace Mono.CSharp {
                        //
                        // Tie-breaking rules are applied only for equivalent parameter types
                        //
-                       if (!are_equivalent)
+                       if (!are_equivalent) {
+                               //
+                               // LAMESPEC: A candidate with less default parameters is still better when there
+                               // is no better expression conversion
+                               //
+                               if (candidate_pd.Count < best_pd.Count && !candidate_params && best_pd.FixedParameters [j].HasDefaultValue) {
+                                       return true;
+                               }
+
                                return false;
+                       }
 
                        //
                        // If candidate is applicable in its normal form and best has a params array and is applicable
@@ -6584,6 +6598,7 @@ namespace Mono.CSharp {
        sealed class PropertyExpr : PropertyOrIndexerExpr<PropertySpec>
        {
                Arguments arguments;
+               FieldExpr backing_field;
 
                public PropertyExpr (PropertySpec spec, Location l)
                        : base (l)
@@ -6615,6 +6630,13 @@ namespace Mono.CSharp {
                        }
                }
 
+               public bool IsAutoPropertyAccess {
+                       get {
+                               var prop = best_candidate.MemberDefinition as Property;
+                               return prop != null && prop.BackingField != null;
+                       }
+               }
+
                public override bool IsInstance {
                        get {
                                return !IsStatic;
@@ -6756,6 +6778,11 @@ namespace Mono.CSharp {
 
                public override void EmitAssign (EmitContext ec, Expression source, bool leave_copy, bool isCompound)
                {
+                       if (backing_field != null) {
+                               backing_field.EmitAssign (ec, source, false, false);
+                               return;
+                       }
+
                        Arguments args;
                        LocalTemporary await_source_arg = null;
 
@@ -6825,6 +6852,21 @@ namespace Mono.CSharp {
 
                public override void FlowAnalysis (FlowAnalysisContext fc)
                {
+                       var prop = best_candidate.MemberDefinition as Property;
+                       if (prop != null && prop.BackingField != null) {
+                               var var = InstanceExpression as IVariableReference;
+                               if (var != null) {
+                                       var vi = var.VariableInfo;
+                                       if (vi != null && !fc.IsStructFieldDefinitelyAssigned (vi, prop.BackingField.Name)) {
+                                               fc.Report.Error (8079, loc, "Use of possibly unassigned auto-implemented property `{0}'", Name);
+                                               return;
+                                       }
+
+                                       if (TypeSpec.IsValueType (InstanceExpression.Type) && InstanceExpression is VariableReference)
+                                               return;
+                               }
+                       }
+
                        base.FlowAnalysis (fc);
 
                        if (conditional_access_receiver)
@@ -6869,6 +6911,52 @@ namespace Mono.CSharp {
                        return this;
                }
 
+               protected override bool ResolveAutopropertyAssignment (ResolveContext rc, Expression rhs)
+               {
+                       var prop = best_candidate.MemberDefinition as Property;
+                       if (prop == null)
+                               return false;
+
+                       if (!rc.HasSet (ResolveContext.Options.ConstructorScope))
+                               return false;
+
+                       var spec = prop.BackingField;
+                       if (spec == null)
+                               return false;
+
+                       if (rc.IsStatic != spec.IsStatic)
+                               return false;
+
+                       if (!spec.IsStatic && (!(InstanceExpression is This) || InstanceExpression is BaseThis))
+                               return false;
+
+                       backing_field = new FieldExpr (prop.BackingField, loc);
+                       backing_field.ResolveLValue (rc, rhs);
+                       return true;
+               }
+
+               public void SetBackingFieldAssigned (FlowAnalysisContext fc)
+               {
+                       if (backing_field != null) {
+                               backing_field.SetFieldAssigned (fc);
+                               return;
+                       }
+
+                       if (!IsAutoPropertyAccess)
+                               return;
+
+                       var prop = best_candidate.MemberDefinition as Property;
+                       if (prop != null && prop.BackingField != null) {
+                               bool lvalue_instance = best_candidate.DeclaringType.IsStruct;
+                               if (lvalue_instance) {
+                                       var var = InstanceExpression as IVariableReference;
+                                       if (var != null && var.VariableInfo != null) {
+                                               fc.SetStructFieldAssigned (var.VariableInfo, prop.BackingField.Name);
+                                       }
+                               }
+                       }
+               }
+
                public override void SetTypeArguments (ResolveContext ec, TypeArguments ta)
                {
                        Error_TypeArgumentsCannotBeUsed (ec, "property", GetSignatureForError (), loc);
@@ -6938,7 +7026,7 @@ namespace Mono.CSharp {
                        return this;
                }
 
-               public override Expression DoResolveLValue (ResolveContext ec, Expression right_side)
+               public override Expression DoResolveLValue (ResolveContext rc, Expression right_side)
                {
                        if (ConditionalAccess)
                                throw new NotSupportedException ("null propagating operator assignment");
@@ -6946,29 +7034,50 @@ namespace Mono.CSharp {
                        if (right_side == EmptyExpression.OutAccess) {
                                // TODO: best_candidate can be null at this point
                                INamedBlockVariable variable = null;
-                               if (best_candidate != null && ec.CurrentBlock.ParametersBlock.TopBlock.GetLocalName (best_candidate.Name, ec.CurrentBlock, ref variable) && variable is Linq.RangeVariable) {
-                                       ec.Report.Error (1939, loc, "A range variable `{0}' may not be passes as `ref' or `out' parameter",
+                               if (best_candidate != null && rc.CurrentBlock.ParametersBlock.TopBlock.GetLocalName (best_candidate.Name, rc.CurrentBlock, ref variable) && variable is Linq.RangeVariable) {
+                                       rc.Report.Error (1939, loc, "A range variable `{0}' may not be passes as `ref' or `out' parameter",
                                                best_candidate.Name);
                                } else {
-                                       right_side.DoResolveLValue (ec, this);
+                                       right_side.DoResolveLValue (rc, this);
                                }
                                return null;
                        }
 
                        if (eclass == ExprClass.Unresolved) {
-                               var expr = OverloadResolve (ec, right_side);
+                               var expr = OverloadResolve (rc, right_side);
                                if (expr == null)
                                        return null;
 
                                if (expr != this)
-                                       return expr.ResolveLValue (ec, right_side);
+                                       return expr.ResolveLValue (rc, right_side);
                        } else {
-                               ResolveInstanceExpression (ec, right_side);
+                               ResolveInstanceExpression (rc, right_side);
                        }
 
-                       if (!ResolveSetter (ec))
+                       if (!best_candidate.HasSet) {
+                               if (ResolveAutopropertyAssignment (rc, right_side))
+                                       return this;
+
+                               rc.Report.Error (200, loc, "Property or indexer `{0}' cannot be assigned to (it is read-only)",
+                                       GetSignatureForError ());
                                return null;
+                       }
+
+                       if (!best_candidate.Set.IsAccessible (rc) || !best_candidate.Set.DeclaringType.IsAccessible (rc)) {
+                               if (best_candidate.HasDifferentAccessibility) {
+                                       rc.Report.SymbolRelatedToPreviousError (best_candidate.Set);
+                                       rc.Report.Error (272, loc, "The property or indexer `{0}' cannot be used in this context because the set accessor is inaccessible",
+                                               GetSignatureForError ());
+                               } else {
+                                       rc.Report.SymbolRelatedToPreviousError (best_candidate.Set);
+                                       ErrorIsInaccesible (rc, best_candidate.GetSignatureForError (), loc);
+                               }
+                       }
+
+                       if (best_candidate.HasDifferentAccessibility)
+                               CheckProtectedMemberAccess (rc, best_candidate.Set);
 
+                       setter = CandidateToBaseOverride (rc, best_candidate.Set);
                        return this;
                }
 
@@ -7058,30 +7167,9 @@ namespace Mono.CSharp {
                        return true;
                }
 
-               bool ResolveSetter (ResolveContext rc)
+               protected virtual bool ResolveAutopropertyAssignment (ResolveContext rc, Expression rhs)
                {
-                       if (!best_candidate.HasSet) {
-                               rc.Report.Error (200, loc, "Property or indexer `{0}' cannot be assigned to (it is read-only)",
-                                       GetSignatureForError ());
-                               return false;
-                       }
-
-                       if (!best_candidate.Set.IsAccessible (rc) || !best_candidate.Set.DeclaringType.IsAccessible (rc)) {
-                               if (best_candidate.HasDifferentAccessibility) {
-                                       rc.Report.SymbolRelatedToPreviousError (best_candidate.Set);
-                                       rc.Report.Error (272, loc, "The property or indexer `{0}' cannot be used in this context because the set accessor is inaccessible",
-                                               GetSignatureForError ());
-                               } else {
-                                       rc.Report.SymbolRelatedToPreviousError (best_candidate.Set);
-                                       ErrorIsInaccesible (rc, best_candidate.GetSignatureForError (), loc);
-                               }
-                       }
-
-                       if (best_candidate.HasDifferentAccessibility)
-                               CheckProtectedMemberAccess (rc, best_candidate.Set);
-
-                       setter = CandidateToBaseOverride (rc, best_candidate.Set);
-                       return true;
+                       return false;
                }
        }
 
index 059ffb82d1db25721330f26f96b1ba6fd321ab9e..c1ea5aaa576529d7963787e2f9a7736cf9900871 100644 (file)
@@ -863,13 +863,19 @@ namespace Mono.CSharp
 
                public string GetUsing ()
                {
+                       if (source_file == null || source_file.Usings == null)
+                               return string.Empty;
+
                        StringBuilder sb = new StringBuilder ();
                        // TODO:
                        //foreach (object x in ns.using_alias_list)
                        //    sb.AppendFormat ("using {0};\n", x);
 
                        foreach (var ue in source_file.Usings) {
-                               sb.AppendFormat ("using {0};", ue.ToString ());
+                               if (ue.Alias != null || ue.ResolvedExpression == null)
+                                       continue;
+
+                               sb.AppendFormat("using {0};", ue.ToString ());
                                sb.Append (Environment.NewLine);
                        }
 
@@ -880,7 +886,11 @@ namespace Mono.CSharp
                {
                        var res = new List<string> ();
 
-                       foreach (var ue in source_file.Usings) {
+                       if (source_file == null || source_file.Usings == null)
+                               return res;
+
+                       foreach (var ue in source_file.Usings)
+                       {
                                if (ue.Alias != null || ue.ResolvedExpression == null)
                                        continue;
 
index 6699377f8df408e355b889789f3a2ffce55cdd2d..192d786ba7b641c31d48e09c009314ad7acc9a86 100644 (file)
@@ -6212,9 +6212,11 @@ namespace Mono.CSharp
                                } else if ((conv = Convert.ImplicitConversion (ec, false_expr, true_type, loc)) != null) {
                                        false_expr = conv;
                                } else {
-                                       ec.Report.Error (173, true_expr.Location,
-                                               "Type of conditional expression cannot be determined because there is no implicit conversion between `{0}' and `{1}'",
-                                               true_type.GetSignatureForError (), false_type.GetSignatureForError ());
+                                       if (false_type != InternalType.ErrorType) {
+                                               ec.Report.Error (173, true_expr.Location,
+                                                       "Type of conditional expression cannot be determined because there is no implicit conversion between `{0}' and `{1}'",
+                                                       true_type.GetSignatureForError (), false_type.GetSignatureForError ());
+                                       }
                                        return null;
                                }
                        }
@@ -6271,11 +6273,11 @@ namespace Mono.CSharp
                        var expr_true = fc.DefiniteAssignmentOnTrue;
                        var expr_false = fc.DefiniteAssignmentOnFalse;
 
-                       fc.DefiniteAssignment = new DefiniteAssignmentBitSet (expr_true);
+                       fc.BranchDefiniteAssignment (expr_true);
                        true_expr.FlowAnalysis (fc);
                        var true_fc = fc.DefiniteAssignment;
 
-                       fc.DefiniteAssignment = new DefiniteAssignmentBitSet (expr_false);
+                       fc.BranchDefiniteAssignment (expr_false);
                        false_expr.FlowAnalysis (fc);
 
                        fc.DefiniteAssignment &= true_fc;
index 3531af044f3bc39543000501a647a96f409e8b7a..824b5c781cd35c1ae8594baccd1240de36f31eda 100644 (file)
@@ -425,7 +425,7 @@ namespace Mono.CSharp
                        }
                        
                        // Create nested fixed buffer container
-                       string name = String.Format ("<{0}>__FixedBuffer{1}", Name, GlobalCounter++);
+                       string name = String.Format ("<{0}>__FixedBuffer{1}", TypeDefinition.FilterNestedName (Name), GlobalCounter++);
                        fixed_buffer_type = Parent.TypeBuilder.DefineNestedType (name,
                                TypeAttributes.NestedPublic | TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit,
                                Compiler.BuiltinTypes.ValueType.GetMetaInfo ());
index dbb74a7515a0d930a37c4832521afe6acb04c247..da30a3e5b907570cd2453f3c40761e43935c5f29 100644 (file)
@@ -105,7 +105,7 @@ namespace Mono.CSharp
                        return struct_info.GetStructField (name);
                }
 
-               public static TypeInfo GetTypeInfo (TypeSpec type)
+               public static TypeInfo GetTypeInfo (TypeSpec type, IMemberContext context)
                {
                        if (!type.IsStruct)
                                return simple_type;
@@ -114,7 +114,7 @@ namespace Mono.CSharp
                        if (type_hash.TryGetValue (type, out info))
                                return info;
 
-                       var struct_info = StructInfo.GetStructInfo (type);
+                       var struct_info = StructInfo.GetStructInfo (type, context);
                        if (struct_info != null) {
                                info = new TypeInfo (struct_info, 0);
                        } else {
@@ -139,7 +139,7 @@ namespace Mono.CSharp
                                var field = struct_info.Fields[i];
 
                                if (!fc.IsStructFieldDefinitelyAssigned (vi, field.Name)) {
-                                       var bf = field.MemberDefinition as Property.BackingField;
+                                       var bf = field.MemberDefinition as Property.BackingFieldDeclaration;
                                        if (bf != null) {
                                                if (bf.Initializer != null)
                                                        continue;
@@ -184,11 +184,11 @@ namespace Mono.CSharp
                        //
                        // We only need one instance per type
                        //
-                       StructInfo (TypeSpec type)
+                       StructInfo (TypeSpec type, IMemberContext context)
                        {
                                field_type_hash.Add (type, this);
 
-                               fields = MemberCache.GetAllFieldsForDefiniteAssignment (type);
+                               fields = MemberCache.GetAllFieldsForDefiniteAssignment (type, context);
 
                                struct_field_hash = new Dictionary<string, TypeInfo> ();
                                field_hash = new Dictionary<string, int> (fields.Count);
@@ -202,7 +202,7 @@ namespace Mono.CSharp
                                        var field = fields [i];
 
                                        if (field.MemberType.IsStruct)
-                                               sinfo [i] = GetStructInfo (field.MemberType);
+                                               sinfo [i] = GetStructInfo (field.MemberType, context);
 
                                        if (sinfo [i] == null)
                                                field_hash.Add (field.Name, ++Length);
@@ -260,7 +260,7 @@ namespace Mono.CSharp
                                return null;
                        }
 
-                       public static StructInfo GetStructInfo (TypeSpec type)
+                       public static StructInfo GetStructInfo (TypeSpec type, IMemberContext context)
                        {
                                if (type.BuiltinType > 0)
                                        return null;
@@ -269,7 +269,7 @@ namespace Mono.CSharp
                                if (field_type_hash.TryGetValue (type, out info))
                                        return info;
 
-                               return new StructInfo (type);
+                               return new StructInfo (type, context);
                        }
                }
        }
@@ -305,11 +305,11 @@ namespace Mono.CSharp
 
                VariableInfo[] sub_info;
 
-               VariableInfo (string name, TypeSpec type, int offset)
+               VariableInfo (string name, TypeSpec type, int offset, IMemberContext context)
                {
                        this.Name = name;
                        this.Offset = offset;
-                       this.TypeInfo = TypeInfo.GetTypeInfo (type);
+                       this.TypeInfo = TypeInfo.GetTypeInfo (type, context);
 
                        Length = TypeInfo.TotalLength;
 
@@ -343,14 +343,14 @@ namespace Mono.CSharp
 
                public static VariableInfo Create (BlockContext bc, LocalVariable variable)
                {
-                       var info = new VariableInfo (variable.Name, variable.Type, bc.AssignmentInfoOffset);
+                       var info = new VariableInfo (variable.Name, variable.Type, bc.AssignmentInfoOffset, bc);
                        bc.AssignmentInfoOffset += info.Length;
                        return info;
                }
 
                public static VariableInfo Create (BlockContext bc, Parameter parameter)
                {
-                       var info = new VariableInfo (parameter.Name, parameter.Type, bc.AssignmentInfoOffset) {
+                       var info = new VariableInfo (parameter.Name, parameter.Type, bc.AssignmentInfoOffset, bc) {
                                IsParameter = true
                        };
 
@@ -669,7 +669,7 @@ namespace Mono.CSharp
                                large_bits[index >> 5] |= (1 << (index & 31));
                }
 
-               static bool AreEqual (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
+               public static bool AreEqual (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
                {
                        if (a.large_bits == null)
                                return (a.bits & ~copy_on_write_flag) == (b.bits & ~copy_on_write_flag);
index c2e247037ef2f62e9ad16ca51a0b16f0ef2674dd..3bf9599a3d591559f084f7663165ddd4d7e82f03 100644 (file)
@@ -246,7 +246,7 @@ namespace Mono.CSharp
                        : base (compiler)
                {
                        this.importer = importer;
-                       domain = new Universe (UniverseOptions.MetadataOnly | UniverseOptions.ResolveMissingMembers | UniverseOptions.DisableFusion);
+                       domain = new Universe (UniverseOptions.MetadataOnly | UniverseOptions.ResolveMissingMembers | UniverseOptions.DisableFusion | UniverseOptions.DecodeVersionInfoAttributeBlobs);
                        domain.AssemblyResolve += AssemblyReferenceResolver;
                        loaded_names = new List<Tuple<AssemblyName, string, Assembly>> ();
 
index 3837af2c2d8779e36d7cb82a064f3f5fbaeeb0e6..042a15b6533c3b23c227e08269ec551e427ae0ef 100644 (file)
@@ -686,9 +686,10 @@ namespace Mono.CSharp {
                        throw new NotImplementedException (member.GetType ().ToString ());
                }
 
-               public static List<FieldSpec> GetAllFieldsForDefiniteAssignment (TypeSpec container)
+               public static List<FieldSpec> GetAllFieldsForDefiniteAssignment (TypeSpec container, IMemberContext context)
                {
                        List<FieldSpec> fields = null;
+                       bool imported = container.MemberDefinition.IsImported;
                        foreach (var entry in container.MemberCache.member_hash) {
                                foreach (var name_entry in entry.Value) {
                                        if (name_entry.Kind != MemberKind.Field)
@@ -704,13 +705,7 @@ namespace Mono.CSharp {
                                                continue;
 
                                        var fs = (FieldSpec) name_entry;
-
-                                       //
-                                       // LAMESPEC: Very bizzare hack, definitive assignment is not done
-                                       // for imported non-public reference fields except array. No idea what the
-                                       // actual csc rule is
-                                       //
-                                       if (!fs.IsPublic && container.MemberDefinition.IsImported && (!fs.MemberType.IsArray && TypeSpec.IsReferenceType (fs.MemberType)))
+                                       if (imported && ShouldIgnoreFieldForDefiniteAssignment (fs, context))
                                                continue;
 
                                        //if ((fs.Modifiers & (Modifiers.BACKING_FIELD) != 0)
@@ -727,6 +722,29 @@ namespace Mono.CSharp {
                        return fields ?? new List<FieldSpec> (0);
                }
 
+               static bool ShouldIgnoreFieldForDefiniteAssignment (FieldSpec fs, IMemberContext context)
+               {
+                       //
+                       // LAMESPEC: This mimics csc quirk where definitive assignment is not done
+                       // for all kinds of imported non-public struct fields
+                       //
+                       var mod = fs.Modifiers;
+                       if ((mod & Modifiers.PRIVATE) == 0 && ((mod & Modifiers.INTERNAL) != 0 && fs.DeclaringType.MemberDefinition.IsInternalAsPublic (context.Module.DeclaringAssembly)))
+                               return false;
+
+                       //
+                       // Ignore reference type fields except when type is an array or type parameter
+                       //
+                       var type = fs.MemberType;
+                       switch (type.Kind) {
+                       case MemberKind.ArrayType:
+                       case MemberKind.TypeParameter:
+                               return false;
+                       default:
+                               return TypeSpec.IsReferenceType (type);
+                       }
+               }
+
                public static IList<MemberSpec> GetCompletitionMembers (IMemberContext ctx, TypeSpec container, string name)
                {
                        var matches = new List<MemberSpec> ();
index 0a35cc4c61e7fd8212c58c7a81277026a4193cd2..f5ca0a818a4480e5080a67945f414dca21fd4a2e 100644 (file)
@@ -951,22 +951,18 @@ namespace Mono.CSharp {
                                                candidates.AddRange (a);
                                }
 
-                               if (candidates != null)
-                                       return new ExtensionMethodCandidates (invocationContext, candidates, this, position);
-                       }
+                               if (types_using_table != null) {
+                                       foreach (var t in types_using_table) {
 
-                       // LAMESPEC: TODO no spec about priority over normal extension methods yet
-                       if (types_using_table != null) {
-                               foreach (var t in types_using_table) {
-
-                                       var res = t.MemberCache.FindExtensionMethods (invocationContext, name, arity);
-                                       if (res == null)
-                                               continue;
+                                               var res = t.MemberCache.FindExtensionMethods (invocationContext, name, arity);
+                                               if (res == null)
+                                                       continue;
 
-                                       if (candidates == null)
-                                               candidates = res;
-                                       else
-                                               candidates.AddRange (res);
+                                               if (candidates == null)
+                                                       candidates = res;
+                                               else
+                                                       candidates.AddRange (res);
+                                       }
                                }
 
                                if (candidates != null)
index ebe8aca2ea9745a899726d0cbb7371eeb761bd3d..35f4cd74a03fc3a148e3144c0a15f096740fbbfa 100644 (file)
@@ -728,12 +728,12 @@ namespace Mono.CSharp
                        
        public class Property : PropertyBase
        {
-               public sealed class BackingField : Field
+               public sealed class BackingFieldDeclaration : Field
                {
                        readonly Property property;
                        const Modifiers DefaultModifiers = Modifiers.BACKING_FIELD | Modifiers.COMPILER_GENERATED | Modifiers.PRIVATE | Modifiers.DEBUGGER_HIDDEN;
 
-                       public BackingField (Property p, bool readOnly)
+                       public BackingFieldDeclaration (Property p, bool readOnly)
                                : base (p.Parent, p.type_expr, DefaultModifiers | (p.ModFlags & (Modifiers.STATIC | Modifiers.UNSAFE)),
                                new MemberName ("<" + p.GetFullName (p.MemberName) + ">k__BackingField", p.Location), null)
                        {
@@ -756,8 +756,6 @@ namespace Mono.CSharp
 
                static readonly string[] attribute_target_auto = new string[] { "property", "field" };
 
-               Field backing_field;
-
                public Property (TypeDefinition parent, FullNamedExpression type, Modifiers mod,
                                 MemberName name, Attributes attrs)
                        : base (parent, type, mod,
@@ -768,6 +766,8 @@ namespace Mono.CSharp
                {
                }
 
+               public BackingFieldDeclaration BackingField { get; private set; }
+
                public Expression Initializer { get; set; }
 
                public override void Accept (StructuralVisitor visitor)
@@ -778,7 +778,7 @@ namespace Mono.CSharp
                public override void ApplyAttributeBuilder (Attribute a, MethodSpec ctor, byte[] cdata, PredefinedAttributes pa)
                {
                        if (a.Target == AttributeTargets.Field) {
-                               backing_field.ApplyAttributeBuilder (a, ctor, cdata, pa);
+                               BackingField.ApplyAttributeBuilder (a, ctor, cdata, pa);
                                return;
                        }
 
@@ -788,20 +788,20 @@ namespace Mono.CSharp
                void CreateAutomaticProperty ()
                {
                        // Create backing field
-                       backing_field = new BackingField (this, Initializer != null && Set == null);
-                       if (!backing_field.Define ())
+                       BackingField = new BackingFieldDeclaration (this, Initializer == null && Set == null);
+                       if (!BackingField.Define ())
                                return;
 
                        if (Initializer != null) {
-                               backing_field.Initializer = Initializer;
-                               Parent.RegisterFieldForInitialization (backing_field, new FieldInitializer (backing_field, Initializer, Location));
-                               backing_field.ModFlags |= Modifiers.READONLY;
+                               BackingField.Initializer = Initializer;
+                               Parent.RegisterFieldForInitialization (BackingField, new FieldInitializer (BackingField, Initializer, Location));
+                               BackingField.ModFlags |= Modifiers.READONLY;
                        }
 
-                       Parent.PartialContainer.Members.Add (backing_field);
+                       Parent.PartialContainer.Members.Add (BackingField);
 
-                       FieldExpr fe = new FieldExpr (backing_field, Location);
-                       if ((backing_field.ModFlags & Modifiers.STATIC) == 0)
+                       FieldExpr fe = new FieldExpr (BackingField, Location);
+                       if ((BackingField.ModFlags & Modifiers.STATIC) == 0)
                                fe.InstanceExpression = new CompilerGeneratedThis (Parent.CurrentType, Location);
 
                        //
@@ -839,7 +839,7 @@ namespace Mono.CSharp
                                                GetSignatureForError ());
 
                                if (IsInterface)
-                                       Report.Error (8053, Location, "`{0}': Properties inside interfaces cannot have initializers",
+                                       Report.Error (8052, Location, "`{0}': Properties inside interfaces cannot have initializers",
                                                GetSignatureForError ());
 
                                if (Compiler.Settings.Version < LanguageVersion.V_6)
@@ -848,16 +848,11 @@ namespace Mono.CSharp
 
                        if (auto) {
                                if (Get == null) {
-                                       Report.Error (8052, Location, "Auto-implemented property `{0}' must have get accessor",
+                                       Report.Error (8051, Location, "Auto-implemented property `{0}' must have get accessor",
                                                GetSignatureForError ());
                                        return false;
                                }
 
-                               if (Initializer == null && AccessorSecond == null) {
-                                       Report.Error (8051, Location, "Auto-implemented property `{0}' must have set accessor or initializer",
-                                               GetSignatureForError ());
-                               }
-
                                if (Compiler.Settings.Version < LanguageVersion.V_3 && Initializer == null)
                                        Report.FeatureIsNotAvailable (Compiler, Location, "auto-implemented properties");
 
index 00d61eba2b764a6a5a53607bae1860b887ed2303..9f9f01845b009369d38278ed6a64ad3958954577 100644 (file)
@@ -1408,15 +1408,10 @@ namespace Mono.CSharp {
 
                protected override bool DoFlowAnalysis (FlowAnalysisContext fc)
                {
-                       if (fc.LabelStack == null) {
-                               fc.LabelStack = new List<LabeledStatement> ();
-                       } else if (fc.LabelStack.Contains (label)) {
+                       if (fc.AddReachedLabel (label))
                                return true;
-                       }
 
-                       fc.LabelStack.Add (label);
                        label.Block.ScanGotoJump (label, fc);
-                       fc.LabelStack.Remove (label);
                        return true;
                }
 
@@ -2966,6 +2961,7 @@ namespace Mono.CSharp {
                bool DoFlowAnalysis (FlowAnalysisContext fc, int startIndex)
                {
                        bool end_unreachable = !reachable;
+                       bool goto_flow_analysis = startIndex != 0;
                        for (; startIndex < statements.Count; ++startIndex) {
                                var s = statements[startIndex];
 
@@ -2989,10 +2985,14 @@ namespace Mono.CSharp {
                                // this for flow-analysis only to carry variable info correctly.
                                //
                                if (end_unreachable) {
+                                       bool after_goto_case = goto_flow_analysis && s is GotoCase;
+
                                        for (++startIndex; startIndex < statements.Count; ++startIndex) {
                                                s = statements[startIndex];
                                                if (s is SwitchLabel) {
-                                                       s.FlowAnalysis (fc);
+                                                       if (!after_goto_case)
+                                                               s.FlowAnalysis (fc);
+
                                                        break;
                                                }
 
@@ -3001,7 +3001,20 @@ namespace Mono.CSharp {
                                                        statements [startIndex] = RewriteUnreachableStatement (s);
                                                }
                                        }
+
+                                       //
+                                       // Idea is to stop after goto case because goto case will always have at least same
+                                       // variable assigned as switch case label. This saves a lot for complex goto case tests
+                                       //
+                                       if (after_goto_case)
+                                               break;
+
+                                       continue;
                                }
+
+                               var lb = s as LabeledStatement;
+                               if (lb != null && fc.AddReachedLabel (lb))
+                                       break;
                        }
 
                        //
@@ -3025,7 +3038,7 @@ namespace Mono.CSharp {
                        // L:
                        //      v = 1;
 
-                       if (s is BlockVariable)
+                       if (s is BlockVariable || s is EmptyStatement)
                                return s;
 
                        return new EmptyStatement (s.loc);
@@ -4494,7 +4507,7 @@ namespace Mono.CSharp {
                        if (!SectionStart)
                                return false;
 
-                       fc.DefiniteAssignment = new DefiniteAssignmentBitSet (fc.SwitchInitialDefinitiveAssignment);
+                       fc.BranchDefiniteAssignment (fc.SwitchInitialDefinitiveAssignment);
                        return false;
                }
 
@@ -7193,7 +7206,7 @@ namespace Mono.CSharp {
                        DefiniteAssignmentBitSet try_fc = res ? null : fc.DefiniteAssignment;
 
                        foreach (var c in clauses) {
-                               fc.DefiniteAssignment = new DefiniteAssignmentBitSet (start_fc);
+                               fc.BranchDefiniteAssignment (start_fc);
                                if (!c.FlowAnalysis (fc)) {
                                        if (try_fc == null)
                                                try_fc = fc.DefiniteAssignment;
index 0113915bcacda5bb7b257c28fa147575a69e6854..fe0910186fe43ff3478be0db86d691b9c471a492 100644 (file)
@@ -21,23 +21,9 @@ EXTRA_DISTFILES = \
 
 CLEAN_FILES = $(RESX_RES)
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 include ../../../build/library.make
 
 $(the_lib): $(RESX_RES)
 
 $(RESX_RES): %.resources: %.resx
        $(RESGEN) `echo $< | $(PLATFORM_CHANGE_SEPARATOR_CMD)`
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index 7cfc1e3bab77840ebd9c327ba388e73d01ce0143..e89d705e83c32e0d5cff7b929c38995ea8a9baf3 100644 (file)
@@ -123,34 +123,36 @@ namespace NUnit.ConsoleRunner
 \r
                                Console.WriteLine();\r
 \r
-                               string xmlOutput = CreateXmlOutput( result );\r
-                       \r
-                               if (options.xmlConsole)\r
-                               {\r
-                                       Console.WriteLine(xmlOutput);\r
-                               }\r
-                               else\r
-                               {\r
-                                       try\r
+                               if (result != null) {\r
+                                       string xmlOutput = CreateXmlOutput( result );\r
+\r
+                                       if (options.xmlConsole)\r
                                        {\r
-                                               //CreateSummaryDocument(xmlOutput, transformReader );\r
-                                               XmlResultTransform xform = new XmlResultTransform( transformReader );\r
-                                               xform.Transform( new StringReader( xmlOutput ), Console.Out );\r
+                                               Console.WriteLine(xmlOutput);\r
                                        }\r
-                                       catch( Exception ex )\r
+                                       else\r
                                        {\r
-                                               Console.WriteLine( "Error: {0}", ex.Message );\r
-                                               return TRANSFORM_ERROR;\r
+                                               try\r
+                                               {\r
+                                                       //CreateSummaryDocument(xmlOutput, transformReader );\r
+                                                       XmlResultTransform xform = new XmlResultTransform( transformReader );\r
+                                                       xform.Transform( new StringReader( xmlOutput ), Console.Out );\r
+                                               }\r
+                                               catch( Exception ex )\r
+                                               {\r
+                                                       Console.WriteLine( "Error: {0}", ex.Message );\r
+                                                       return TRANSFORM_ERROR;\r
+                                               }\r
                                        }\r
-                               }\r
 \r
-                               // Write xml output here\r
-                               string xmlResultFile = options.xml == null || options.xml == string.Empty\r
-                                       ? "TestResult.xml" : options.xml;\r
+                                       // Write xml output here\r
+                                       string xmlResultFile = options.xml == null || options.xml == string.Empty\r
+                                               ? "TestResult.xml" : options.xml;\r
 \r
-                               using ( StreamWriter writer = new StreamWriter( xmlResultFile ) ) \r
-                               {\r
-                                       writer.Write(xmlOutput);\r
+                                       using ( StreamWriter writer = new StreamWriter( xmlResultFile ) )\r
+                                       {\r
+                                               writer.Write(xmlOutput);\r
+                                       }\r
                                }\r
 \r
                                //if ( testRunner != null )\r
index 3b0d5ce3d87b1b0bfcc7b736990cce8535c95112..52fe21bf61bd20ba7b9146cb190bff2faef5d5d3 100644 (file)
@@ -13,18 +13,4 @@ NO_TEST = yo
 
 EXTRA_DISTFILES = nunit-console.csproj nunit-console_VS2005.csproj
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index c20d787be81c40924e6eedb308d761983cc3747c..ac3b0146fbfb99fc9f9ecb04302b6c3fed65fd3d 100644 (file)
@@ -8,20 +8,6 @@ LIBRARY_SNK = $(topdir)/nunit24/nunit.snk
 LOCAL_MCS_FLAGS= -r:nunit.framework.dll -r:nunit.core.interfaces.dll -r:System.dll /d:StronglyNamedAssembly -warn:1
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = nunit.core.dll.csproj nunit.core.dll_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index d6f4602ce84c3adebae1f735829ea0a47e86d106..e9ddcc79faffa2990629eb1ecd221fb850e39243 100644 (file)
@@ -8,20 +8,6 @@ LIBRARY_SNK = $(topdir)/nunit24/nunit.snk
 LOCAL_MCS_FLAGS= -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = nunit.core.interfaces.dll.csproj nunit.core.interfaces.dll_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index cd09dc556fc6c6b2fbb2ad2378670d49bfbc5474..48f8ccf8f6fddb1a8a87d0838ab0c888fb9cefad 100644 (file)
@@ -11,22 +11,8 @@ LIB_MCS_FLAGS = \
        /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = \
        nunit.core.extensions.dll.csproj \
        nunit.core.extensions.dll_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index c49a5f487d9332aa34605f88fa3f055385e420cf..81d6b15439d091dc1e5fd4e99e4d3d3e2bd97b1d 100644 (file)
@@ -8,22 +8,8 @@ LIBRARY_SNK = $(topdir)/nunit24/nunit.snk
 LIB_MCS_FLAGS = -debug /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = \
        nunit.framework.extensions.dll.csproj \
        nunit.framework.extensions.dll_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index f00adfacfb98f33dd2f569a19b85a780b3580f8a..157b0b4d5783cf517eb9e8d38508d7df8bc08e95 100644 (file)
@@ -9,22 +9,8 @@ LIBRARY_SNK = $(topdir)/nunit24/nunit.snk
 LIB_MCS_FLAGS = /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly -warn:1
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = \
        nunit.framework.dll.csproj \
        nunit.framework.dll_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index b459c284ad6a14a5c4a6e7f4a398de42932cc351..b9769c4777d6576f992949c24bf4e893ec3df3bd 100644 (file)
@@ -8,22 +8,8 @@ LIBRARY_SNK = $(topdir)/nunit24/nunit.snk
 LOCAL_MCS_FLAGS= -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly
 NO_TEST = yo
 
-ifneq (net_2_0, $(PROFILE))
-NO_INSTALL = yes
-install-local: install-symlink
-uninstall-local: uninstall-symlink
-endif
-
 EXTRA_DISTFILES = \
        nunit.mocks.csproj \
        nunit.mocks_VS2005.csproj
 
 include ../../../build/library.make
-
-symlinkdir = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
-install-symlink:
-       $(MKINSTALLDIRS) $(DESTDIR)$(symlinkdir)
-       cd $(DESTDIR)$(symlinkdir) && rm -f $(LIBRARY_NAME) && ln -s ../2.0/$(LIBRARY_NAME) $(LIBRARY_NAME)
-
-uninstall-symlink:
-       rm -f $(DESTDIR)$(symlinkdir)/$(LIBRARY_NAME)
index 522c78d44d3a5bf071627e38969deeb155c3cf5f..78c861799e457b89a86b4bb72037340c539eacd5 100644 (file)
@@ -61,7 +61,7 @@ build-compiler-lib:
        cd ../class/Mono.CSharp && $(MAKE) NO_DIR_CHECK=yes
 
 qcheck: build-compiler-lib qcheck2
-       
+
 qcheck2:
        $(TESTER) -mode:pos -files:$(TEST_PATTERN) -compiler:$(COMPILER) -issues:known-issues-$(PROFILE) -log:$(PROFILE).log -il:ver-il-$(PROFILE).xml $(DEFINES) $(TOPTIONS)
 
index 2f5ea10ae8f4ecd1b3a4ce2e527d11fb98871ef9..45d03a328a7594325bb797c3cfc42f5aca1b1c24 100644 (file)
@@ -160,6 +160,11 @@ public class ConditionalParsing
                var x = 1 > 0  ? table[5, 1] : 0;
        }
 
+       void Test_20 ()
+       {
+               var t = (Object)string.Empty;
+       }
+
        static void Helper<T> (T arg)
        {
        }
diff --git a/mcs/tests/gtest-626.cs b/mcs/tests/gtest-626.cs
new file mode 100644 (file)
index 0000000..045028d
--- /dev/null
@@ -0,0 +1,30 @@
+using System;
+
+class Program
+{
+       public class Foo
+       {
+               public static bool MG (Foo t)
+               {
+                       return false;
+               }
+       }
+
+       public class Bar<T>
+       {
+               public static Bar<T> Create (Func<T, bool> a)
+               {
+                       return null;
+               }
+
+               public static Bar<T> Create (Func<T, double> a, Func<T, bool> b = null)
+               {
+                       throw new ApplicationException ();
+               }
+       }
+
+       static void Main ()
+       {
+               var x = Bar<Foo>.Create (Foo.MG);
+       }
+}
diff --git a/mcs/tests/gtest-627.cs b/mcs/tests/gtest-627.cs
new file mode 100644 (file)
index 0000000..7ac0117
--- /dev/null
@@ -0,0 +1,19 @@
+using System;
+
+class X
+{
+       public static U Foo<U> (double? value, Func<double?, U> f, int dv = 0)
+       {
+               throw new ApplicationException ();
+       }
+
+       public static U Foo<T, U> (T? source, Func<T, U> f) where T : struct
+       {
+               return default (U);
+       }
+
+       static void Main (string[] args)
+       {
+               Foo (default (double?), v => v / 100);
+       }
+}
diff --git a/mcs/tests/gtest-autoproperty-11.cs b/mcs/tests/gtest-autoproperty-11.cs
new file mode 100644 (file)
index 0000000..dae2ebe
--- /dev/null
@@ -0,0 +1,30 @@
+using System;
+using System.Reflection;
+
+public class Test
+{
+       public string Property1 { get; }
+
+       public int Property2 { get; }
+
+       public static int Main ()
+       {
+               var t = new Test ();
+               if (t.Property1 != null)
+                       return 1;
+
+               if (t.Property2 != 0)
+                       return 2;
+
+               var fields = typeof (Test).GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
+               if (fields.Length != 2)
+                       return 3;
+
+               foreach (var fi in fields) {
+                       if ((fi.Attributes & FieldAttributes.InitOnly) == 0)
+                               return 4;
+               }
+
+               return 0;
+       }       
+}
diff --git a/mcs/tests/gtest-autoproperty-12.cs b/mcs/tests/gtest-autoproperty-12.cs
new file mode 100644 (file)
index 0000000..c738c39
--- /dev/null
@@ -0,0 +1,48 @@
+using System;
+
+public class A
+{
+       public int X { get; }
+       public virtual int Y { get; }
+
+       public A ()
+       {
+               X = 4;
+               X++;
+
+               Y = 2;
+               Y++;
+       }
+}
+
+class B : A
+{
+       int i_get;
+
+       public override int Y { get { ++i_get; return base.Y; } }
+
+       public static int Main ()
+       {
+               var a = new A ();
+               if (a.X != 5)
+                       return 1;
+
+               if (a.Y != 3)
+                       return 2;
+
+               var b = new B ();
+               if (b.X != 5)
+                       return 3;
+
+               if (b.i_get != 1)
+                       return 4;
+
+               if (b.Y != 3)
+                       return 5;
+
+               if (b.i_get != 2)
+                       return 6;
+
+               return 0;
+       }
+}
diff --git a/mcs/tests/gtest-autoproperty-13.cs b/mcs/tests/gtest-autoproperty-13.cs
new file mode 100644 (file)
index 0000000..b6d84be
--- /dev/null
@@ -0,0 +1,22 @@
+using System;
+
+public struct S
+{
+       public int X { get; }
+       public int Y { get; }
+
+       public S ()
+       {
+               X = 4;
+               Y = X;
+       }
+
+       public static int Main()
+       {
+               var s = new S ();
+               if (s.Y != 4)
+                       return 1;
+
+               return 0;
+       }
+}
diff --git a/mcs/tests/gtest-autoproperty-14.cs b/mcs/tests/gtest-autoproperty-14.cs
new file mode 100644 (file)
index 0000000..8b250de
--- /dev/null
@@ -0,0 +1,14 @@
+public struct S
+{
+       public int A { get; set;}
+
+       public S (int a)
+       {
+               this.A = a;
+       }
+
+       public static void Main ()
+       {
+               
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/gtest-named-06.cs b/mcs/tests/gtest-named-06.cs
new file mode 100644 (file)
index 0000000..e9b2de5
--- /dev/null
@@ -0,0 +1,18 @@
+// parser test
+
+class X
+{
+       public static int T1 (int seconds)
+       {
+               return T1_Foo (value: seconds * 1000);
+       }
+
+       public static int T1_Foo (int value = 0)
+       {
+               return value;
+       }
+
+       public static void Main ()
+       {
+       }
+}
\ No newline at end of file
index 52d3b1e9d97ca5d10a9aa0beeccb6f81db5546ea..58f3f1c37bf3e40d1c5d30473c6ba6ac998c52ba 100644 (file)
@@ -1,4 +1,4 @@
-// Compiler options: -r:../class/lib/net_2_0/Mono.Cecil.dll
+// Compiler options: -r:../class/lib/net_4_5/Mono.Cecil.dll
 
 using System;
 using System.IO;
index ded27a937455cbf8888124ffdca65add3ab251fb..495fec55c4849c571ba576e12184062e5a16911d 100644 (file)
@@ -1,4 +1,4 @@
-// Compiler options: -r:../class/lib/net_2_0/Mono.Cecil.dll
+// Compiler options: -r:../class/lib/net_4_5/Mono.Cecil.dll
 
 using System;
 using Mono.Cecil;
index 3ca6157597266dd62aa2fe3f1aa4af429f1e6ff6..987869d2aad05fa2ee1edb48dc9848239b90a6f1 100644 (file)
@@ -8,6 +8,7 @@ using System.Reflection;
 [assembly: AssemblyTrademark ("Trademark")]
 [assembly: AssemblyVersion ("5.4.3.1")]
 [assembly: AssemblyFileVersion ("8.9")]
+[assembly: AssemblyTitle ("Title")]
 
 class C
 {
@@ -22,8 +23,8 @@ class C
                if (fv.CompanyName != "Company")
                        return 2;
 
-//             if (fv.Comments != "Description")
-//                     return 3;
+               if (fv.Comments != "Description")
+                       return 3;
 
                if (fv.LegalCopyright != "Copyright")
                        return 4;
@@ -34,6 +35,9 @@ class C
                if (fv.ProductVersion != "8.9")
                        return 6;
 
+               if (fv.FileDescription != "Title")
+                       return 7;
+
                return 0;
        }
 }
\ No newline at end of file
diff --git a/mcs/tests/test-908.cs b/mcs/tests/test-908.cs
new file mode 100644 (file)
index 0000000..fdc40f6
--- /dev/null
@@ -0,0 +1,14 @@
+// Compiler options: -warnaserror
+
+public class Test
+{
+#pragma warning disable public
+#pragma warning disable CS1685
+#pragma warning disable CS1700, 1701
+
+       public static void Main ()
+       {
+       }
+#pragma warning restore CS1685
+#pragma warning restore public, 1701
+}
\ No newline at end of file
diff --git a/mcs/tests/test-909.cs b/mcs/tests/test-909.cs
new file mode 100644 (file)
index 0000000..8527bb9
--- /dev/null
@@ -0,0 +1,17 @@
+using System;
+
+public struct S
+{
+       public int A { get; private set;}
+       public event EventHandler eh;
+
+       public S (int a)
+       {
+               this.eh = null;
+               A = a;
+       }
+
+       public static void Main ()
+       {
+       }
+}
diff --git a/mcs/tests/test-910.cs b/mcs/tests/test-910.cs
new file mode 100644 (file)
index 0000000..0cbdf42
--- /dev/null
@@ -0,0 +1,10 @@
+using System.Security;
+using System.Security.Permissions;
+
+[HostProtection]
+class X
+{
+       public static void Main ()
+       {
+       }
+}
diff --git a/mcs/tests/test-async-76.cs b/mcs/tests/test-async-76.cs
new file mode 100644 (file)
index 0000000..5fa226a
--- /dev/null
@@ -0,0 +1,42 @@
+// Compiler options: -r:../class/lib/net_4_5/Mono.Cecil.dll
+
+using System;
+using System.Threading.Tasks;
+using Mono.Cecil;
+
+namespace N
+{
+       class C
+       {
+       }
+
+       interface I<T>
+       {
+               void Foo (T t);
+       }
+
+       class X : I<C>
+       {
+               async void I<C>.Foo (C c)
+               {
+                       await Task.Delay (1);
+               }
+
+               public static void Main ()
+               {
+                       var assembly = AssemblyDefinition.ReadAssembly (typeof (X).Assembly.Location);
+                       foreach (var t in assembly.MainModule.Types) {
+                               PrintType (t, 0);
+                       }
+               }
+               static void PrintType (TypeDefinition td, int indent)
+               {
+                       if (td.IsNested && !string.IsNullOrEmpty (td.Namespace))
+                               throw new ApplicationException ("BROKEN NESTED TYPE:");
+                       Console.WriteLine ("{2} Namespace: {0} Name: {1}", td.Namespace, td.Name, new string (' ', indent * 4));
+                       foreach (var tn in td.NestedTypes)
+                               PrintType (tn, indent + 1);
+               }
+       }
+}
\ No newline at end of file
index 15e781dbf2253df6f7c93e8b1d89189ca23eadf1..9078ff7caaa4814263d2c234eba8ba3ec388bb1a 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 using System;
 
 class DeclarationExpression
@@ -29,9 +30,9 @@ class DeclarationExpression
                if (r2 != 8)
                        return 6;
 
-               Out2 (str: "b", v: out var o5);
-               if (o5 != 9)
-                       return 7;
+//             Out2 (str: "b", v: out var o5);
+//             if (o5 != 9)
+//                     return 7;
 
                Out3 (out var o6 = 9m);
                if (o6.GetType () != typeof (decimal))
diff --git a/mcs/tests/test-decl-expr-02.cs b/mcs/tests/test-decl-expr-02.cs
new file mode 100644 (file)
index 0000000..c2fb886
--- /dev/null
@@ -0,0 +1,27 @@
+// Compiler options: -langversion:experimental
+
+using System.Console;
+
+public class DeclarationExpressions
+{
+       public static void Main()
+       {
+               // TODO:
+               //Test (int value = 5);
+               //WriteLine (value);
+       }
+
+       void M2 ()
+       {
+//             for (int i = 0; int v = 2; ++i) {
+
+//             }
+
+       }
+
+       static int Test (int x)
+       {
+               WriteLine (x);
+               return x;
+       }
+}
\ No newline at end of file
index bc02c026c7dca734ecca3db6f44e2a347bee3688..d22b3220691e8220b0374dfea0774fbfc66cbd5c 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 using System;
 
 partial class Part
index 269dfe8dd154a13255db61867a177bfd289de66d..36df2c3ad406cb2cd2af9639d32a96486c64666b 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 class D(string arg) : Base (arg)
 {
 }
index 55636abedfee4fb2284dea0d48a31cc9810d28c9..e2015a92479342c0d71866d5cf2d33754bd15fa3 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 class Derived (int arg, ref byte b, out int o) : Base (out o)
 {
        public long field = arg;
index f127ceccc3b5b2fdd9046c7e0b384a03614fc8fd..ded85daa0e1755caa600c5087741e00a4fdb01e3 100644 (file)
@@ -1,4 +1,4 @@
-// Compiler options: -warnaserror
+// Compiler options: -warnaserror -langversion:experimental
 
 using System;
 using System.Reflection;
index 7d9ef1e9c5f395e108b2e395b7c7c071e3138fbb..a92739ec96a38f76c169c1ca0c09428695a9441f 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 using System;
 
 class ID () : IDisposable
index 9f24885856365ce23f0dd244e62c9b11a08d4c5f..2d00b61dd61e7c104d77b10deb584a9326759a4e 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 struct S (int arg)
 {
        {
index 64e5ac6332729114693aeaaf2f382a7aa9ac3db0..d9b1bbf4b808a7deaf7a12116196b9c023d4804c 100644 (file)
@@ -1,3 +1,4 @@
+// Compiler options: -langversion:experimental
 using System;
 
 class A (Func<int, int> barg)
index ca08bdcbbb12cd27124bfe3c960929147e4d6e01..a02d556a0b339df911e28f59969c2c7863f7fbae 100644 (file)
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Qux`2+GetEnumerator&gt;c__Iterator0[X,V]">\r
+    <type name="Qux`2[X,V]">\r
+      <method name="System.Collections.Generic.IEnumerator`1[V] GetEnumerator()" attrs="486">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="Qux`2+&lt;System_Collections_IEnumerable_GetEnumerator&gt;c__Iterator0[X,V]">\r
+      <method name="Boolean MoveNext()" attrs="486">\r
+        <size>26</size>\r
+      </method>\r
       <method name="System.Object System.Collections.Generic.IEnumerator&lt;object&gt;.get_Current()" attrs="2529">\r
         <size>14</size>\r
       </method>\r
       <method name="System.Object System.Collections.IEnumerator.get_Current()" attrs="2529">\r
         <size>14</size>\r
       </method>\r
-      <method name="Boolean MoveNext()" attrs="486">\r
-        <size>26</size>\r
-      </method>\r
       <method name="Void Dispose()" attrs="486">\r
         <size>1</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Qux`2[X,V]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[V] GetEnumerator()" attrs="486">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>15</size>\r
-      </method>\r
-    </type>\r
   </test>\r
   <test name="gtest-272.cs">\r
     <type name="Handler`1[T]">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test+GetEnumerator&gt;c__Iterator0">\r
+    <type name="Test">\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;System_Collections_Generic_IEnumerable&lt;int&gt;_GetEnumerator&gt;c__Iterator0">\r
+      <method name="Boolean MoveNext()" attrs="486">\r
+        <size>26</size>\r
+      </method>\r
       <method name="Int32 System.Collections.Generic.IEnumerator&lt;int&gt;.get_Current()" attrs="2529">\r
         <size>14</size>\r
       </method>\r
       <method name="System.Object System.Collections.IEnumerator.get_Current()" attrs="2529">\r
         <size>19</size>\r
       </method>\r
-      <method name="Boolean MoveNext()" attrs="486">\r
-        <size>26</size>\r
-      </method>\r
       <method name="Void Dispose()" attrs="486">\r
         <size>1</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test">\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
   </test>\r
   <test name="gtest-303.cs">\r
     <type name="test.BaseClass">\r
       <method name="Void Test_19(Int32[,])" attrs="129">\r
         <size>11</size>\r
       </method>\r
+      <method name="Void Test_20()" attrs="129">\r
+        <size>8</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-410.cs">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-626.cs">\r
+    <type name="Program">\r
+      <method name="Void Main()" attrs="145">\r
+        <size>37</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+Foo">\r
+      <method name="Boolean MG(Foo)" attrs="150">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+Bar`1[T]">\r
+      <method name="Bar`1 Create(System.Func`2[T,System.Boolean])" attrs="150">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Bar`1 Create(System.Func`2[T,System.Double], System.Func`2[T,System.Boolean])" attrs="150">\r
+        <size>7</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="gtest-627.cs">\r
+    <type name="X">\r
+      <method name="U Foo[U](System.Nullable`1[System.Double], System.Func`2[System.Nullable`1[System.Double],U], Int32)" attrs="150">\r
+        <size>7</size>\r
+      </method>\r
+      <method name="U Foo[T,U](System.Nullable`1[T], System.Func`2[T,U])" attrs="150">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="Void Main(System.String[])" attrs="145">\r
+        <size>46</size>\r
+      </method>\r
+      <method name="Double &lt;Main&gt;m__0(Double)" attrs="145">\r
+        <size>19</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="gtest-anontype-01.cs">\r
     <type name="Test">\r
       <method name="Int32 Main()" attrs="150">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-autoproperty-11.cs">\r
+    <type name="Test">\r
+      <method name="System.String get_Property1()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Int32 get_Property2()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>144</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="gtest-autoproperty-12.cs">\r
+    <type name="A">\r
+      <method name="Int32 get_X()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Int32 get_Y()" attrs="2502">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>50</size>\r
+      </method>\r
+    </type>\r
+    <type name="B">\r
+      <method name="Int32 get_Y()" attrs="2246">\r
+        <size>29</size>\r
+      </method>\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>136</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="gtest-autoproperty-13.cs">\r
+    <type name="S">\r
+      <method name="Int32 get_X()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Int32 get_Y()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>37</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>21</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="gtest-autoproperty-14.cs">\r
+    <type name="S">\r
+      <method name="Int32 get_A()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Void set_A(Int32)" attrs="2182">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor(Int32)" attrs="6278">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="gtest-collectioninit-01.cs">\r
     <type name="Test">\r
       <method name="Void TestList(System.Collections.Generic.List`1[System.Int32], Int32)" attrs="145">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-named-06.cs">\r
+    <type name="X">\r
+      <method name="Int32 T1(Int32)" attrs="150">\r
+        <size>21</size>\r
+      </method>\r
+      <method name="Int32 T1_Foo(Int32)" attrs="150">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="gtest-optional-01.cs">\r
     <type name="C">\r
       <method name="Void TestA(Int32)" attrs="150">\r
   <test name="test-868.cs">\r
     <type name="C">\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>168</size>\r
+        <size>224</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-908.cs">\r
+    <type name="Test">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-909.cs">\r
+    <type name="S">\r
+      <method name="Int32 get_A()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Void set_A(Int32)" attrs="2177">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="Void add_eh(System.EventHandler)" attrs="2182">\r
+        <size>42</size>\r
+      </method>\r
+      <method name="Void remove_eh(System.EventHandler)" attrs="2182">\r
+        <size>42</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor(Int32)" attrs="6278">\r
+        <size>16</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-91.cs">\r
     <type name="Abstract">\r
       <method name="Void .ctor()" attrs="6276">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-910.cs">\r
+    <type name="X">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-92.cs">\r
     <type name="Outer">\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>285</size>\r
       </method>\r
     </type>\r
-    <type name="A+async&gt;c__async0">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>61</size>\r
-      </method>\r
-    </type>\r
     <type name="D">\r
       <method name="System.Threading.Tasks.Task M()" attrs="129">\r
         <size>33</size>\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="A+async&gt;c__async0">\r
-      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
-        <size>13</size>\r
-      </method>\r
-    </type>\r
     <type name="D+&lt;M&gt;c__async0">\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
         <size>2</size>\r
       </method>\r
     </type>\r
+    <type name="A+&lt;Iasync_async&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>61</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-23.cs">\r
     <type name="MyContext">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-async-76.cs">\r
+    <type name="N.C">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="N.X">\r
+      <method name="Void N.I&lt;N.C&gt;.Foo(N.C)" attrs="481">\r
+        <size>27</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="150">\r
+        <size>99</size>\r
+      </method>\r
+      <method name="Void PrintType(Mono.Cecil.TypeDefinition, Int32)" attrs="145">\r
+        <size>138</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="N.X+&lt;N_I&lt;N_C&gt;_Foo&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>157</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-cls-00.cs">\r
     <type name="CLSCLass_6">\r
       <method name="Void add_Disposed(Delegate)" attrs="2182">\r
   <test name="test-decl-expr-01.cs">\r
     <type name="DeclarationExpression">\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>252</size>\r
+        <size>223</size>\r
       </method>\r
       <method name="Boolean Out(Int32 ByRef)" attrs="145">\r
         <size>13</size>\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-decl-expr-02.cs">\r
+    <type name="DeclarationExpressions">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void M2()" attrs="129">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Int32 Test(Int32)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-dictinit-01.cs">\r
     <type name="Program">\r
       <method name="Int32 Main()" attrs="145">\r
index 3c0f45c251f553acca6aba16949642e98af57a00..540b056bdfee41735f18660d108ee6bc97764619 100644 (file)
@@ -53,11 +53,10 @@ net_2_0_dirs := \
        $(per_profile_dirs)
 
 build_SUBDIRS = gacutil security culevel
-net_2_0_SUBDIRS := $(basic_SUBDIRS) $(net_2_0_dirs)
 net_4_0_SUBDIRS := $(net_4_0_dirs) $(basic_SUBDIRS)
 net_4_5_SUBDIRS := $(net_4_0_SUBDIRS)
 
-SUBDIRS = $(basic_SUBDIRS) $(net_2_0_SUBDIRS)
+SUBDIRS = $(basic_SUBDIRS) $(net_2_0_dirs)
 DIST_SUBDIRS = $(SUBDIRS) $(net_4_0_dirs)
 
 include ../build/rules.make
diff --git a/mcs/tools/corcompare/mono-api-html/ApiChange.cs b/mcs/tools/corcompare/mono-api-html/ApiChange.cs
new file mode 100644 (file)
index 0000000..8cb1962
--- /dev/null
@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff
+{
+       public class ApiChange
+       {
+               public string Header;
+               public StringBuilder Member = new StringBuilder ();
+               public bool Breaking;
+               public bool AnyChange;
+               public bool HasIgnoredChanges;
+
+               public ApiChange Append (string text)
+               {
+                       Member.Append (text);
+                       return this;
+               }
+
+               public ApiChange AppendAdded (string text, bool breaking = false)
+               {
+                       if (breaking)
+                               Member.Append ("<u>");
+                       if (State.Colorize)
+                               Member.Append (breaking ? "<font color='green'>" : "<font color='green'>");
+                       Member.Append (text);
+                       if (State.Colorize)
+                               Member.Append (breaking ? "</font>" : "</font>");
+                       if (breaking)
+                               Member.Append ("</u>");
+                       Breaking |= breaking;
+                       AnyChange = true;
+                       return this;
+               }
+
+               public ApiChange AppendRemoved (string text, bool breaking = true)
+               {
+                       Member.Append ("<s>");
+                       if (State.Colorize && breaking)
+                               Member.Append ("<font color='red'>");
+                       Member.Append (text);
+                       if (State.Colorize && breaking)
+                               Member.Append ("</font>");
+                       Member.Append ("</s>");
+                       Breaking |= breaking;
+                       AnyChange = true;
+                       return this;
+               }
+
+               public ApiChange AppendModified (string old, string @new, bool breaking = true)
+               {
+                       if (old.Length > 0)
+                               AppendRemoved (old, breaking);
+                       if (old.Length > 0 && @new.Length > 0)
+                               Append (" ");
+                       if (@new.Length > 0)
+                               AppendAdded (@new);
+                       Breaking |= breaking;
+                       AnyChange = true;
+                       return this;
+               }
+       }
+
+       public class ApiChanges : Dictionary<string, List<ApiChange>> {
+               public void Add (XElement source, XElement target, ApiChange change)
+               {
+                       if (!change.AnyChange) {
+                               // This is most likely because the rendering doesn't take into account something that's different (solution: fix rendering).
+                               if (!change.HasIgnoredChanges)
+                                       Console.WriteLine ("Comparison resulting in no changes (src: {2} dst: {3}) :\n{0}\n{1}\n\n", source.ToString (), target.ToString (), source.GetMethodAttributes (), target.GetMethodAttributes ());
+                               return;
+                       }
+
+                       List<ApiChange> list;
+                       if (!TryGetValue (change.Header, out list)) {
+                               list = new List<ApiChange> ();
+                               base.Add (change.Header, list);
+                       }
+                       list.Add (change);
+               }
+       }
+}
+
index b79dd7b886a96bee9efbf21a1ea07a8176236729..69454e1184c84e8296a1145188c0998846838587 100644 (file)
@@ -74,7 +74,12 @@ namespace Xamarin.ApiDiff {
                        get { return ignoreRemoved; }
                }
 
+               public  static  bool    IgnoreParameterNameChanges  { get; set; }
+               public  static  bool    IgnoreVirtualChanges        { get; set; }
+               public  static  bool    IgnoreAddedPropertySetters  { get; set; }
+
                public static bool Lax;
+               public static bool Colorize = true;
        }
 
        class Program {
@@ -105,6 +110,16 @@ namespace Xamarin.ApiDiff {
                                { "n|ignore-new=", "Ignore new namespaces and types whose description matches a given C# regular expression (see below).",
                                        v => State.IgnoreNew.Add (new Regex (v))
                                },
+                               { "ignore-changes-parameter-names", "Ignore changes to parameter names for identically prototyped methods.",
+                                       v => State.IgnoreParameterNameChanges   = v != null
+                               },
+                               { "ignore-changes-property-setters", "Ignore adding setters to properties.",
+                                       v => State.IgnoreAddedPropertySetters = v != null
+                               },
+                               { "ignore-changes-virtual", "Ignore changing non-`virtual` to `virtual` or adding `override`.",
+                                       v => State.IgnoreVirtualChanges = v != null
+                               },
+                               { "c|colorize:", "Colorize HTML output", v => State.Colorize = string.IsNullOrEmpty (v) ? true : bool.Parse (v) },
                                { "x|lax", "Ignore duplicate XML entries", v => State.Lax = true }
                        };
 
index e083c270850df8f96da78d13da5e07fed71c5394..ff5326d9c8b083d253fc422c48db45e90a1ca2b3 100644 (file)
@@ -25,6 +25,7 @@
 //
 
 using System;
+using System.Collections.Generic;
 using System.Xml.Linq;
 
 namespace Xamarin.ApiDiff {
@@ -61,7 +62,7 @@ namespace Xamarin.ApiDiff {
                        // one assembly per xml file
                }
 
-               public override void Modified (XElement source, XElement target)
+               public override void Modified (XElement source, XElement target, ApiChanges diff)
                {
                        SourceAssembly = source.GetAttribute ("name");
                        TargetAssembly = target.GetAttribute ("name");
index d96613c3e8ac69fe3a1a121e84fc4c7b6d0ed700..87680c0295009035d7e90ca19559a132e853567e 100644 (file)
@@ -74,8 +74,12 @@ namespace Xamarin.ApiDiff {
                                return;
                        Output.WriteLine ("<h3>New Type {0}.{1}</h3>", State.Namespace, name);
                        Output.WriteLine ("<pre>");
+                       if (State.Colorize)
+                               Output.WriteLine ("<font color='green'>");
                        State.Indent = 0;
                        AddedInner (target);
+                       if (State.Colorize)
+                               Output.WriteLine ("</font>");
                        Output.WriteLine ("</pre>");
                }
 
@@ -196,7 +200,7 @@ namespace Xamarin.ApiDiff {
                        Indent ().WriteLine ("}");
                }
 
-               public override void Modified (XElement source, XElement target)
+               public override void Modified (XElement source, XElement target, ApiChanges diff)
                {
                        // hack - there could be changes that we're not monitoring (e.g. attributes properties)
                        var output = Output;
index 3cf678f7fffe4e28b26e1279ebc5d4ca6765999c..8c692a03a9a47c2d3feab700bf81997ff3cc692e 100644 (file)
@@ -35,7 +35,7 @@ namespace Xamarin.ApiDiff {
        public abstract class Comparer {
 
                protected List<XElement> removed = new List<XElement> ();
-               protected List<XElement> obsoleted = new List<XElement> ();
+               protected ApiChanges modified = new ApiChanges ();
 
                public TextWriter Output {
                        get { return State.Output; }
@@ -49,10 +49,10 @@ namespace Xamarin.ApiDiff {
                }
 
                public abstract void Added (XElement target);
-               public abstract void Modified (XElement source, XElement target);
+               public abstract void Modified (XElement source, XElement target, ApiChanges changes);
                public abstract void Removed (XElement source);
 
-               public virtual bool Equals (XElement source, XElement target)
+               public virtual bool Equals (XElement source, XElement target, ApiChanges changes)
                {
                        return XNode.DeepEquals (source, target);
                }
@@ -62,6 +62,7 @@ namespace Xamarin.ApiDiff {
                public virtual void Compare (IEnumerable<XElement> source, IEnumerable<XElement> target)
                {
                        removed.Clear ();
+                       modified.Clear ();
 
                        foreach (var s in source) {
                                SetContext (s);
@@ -73,11 +74,11 @@ namespace Xamarin.ApiDiff {
                                } else {
                                        t.Remove ();
                                        // possibly modified
-                                       if (Equals (s, t))
+                                       if (Equals (s, t, modified))
                                                continue;
 
                                        // still in target so will be part of Added
-                                       Modified (s, t);
+                                       Modified (s, t, modified);
                                }
                        }
                        // delayed, that way we show "Modified", "Added" and then "Removed"
index ffef2e010509c78982f8c44178a5fe9e1a9fb0e0..9bd837e241fe94065b70d30a15c2d6acc82bdfb6 100644 (file)
@@ -32,6 +32,7 @@ using System.Xml.Linq;
 
 namespace Xamarin.ApiDiff {
 
+       // MethodComparer inherits from this one
        public class ConstructorComparer : MemberComparer {
 
                public override string GroupName {
@@ -47,6 +48,39 @@ namespace Xamarin.ApiDiff {
                        return (e.Attribute ("name").Value == Source.Attribute ("name").Value);
                }
 
+               void RenderReturnType (XElement source, XElement target, ApiChange change)
+               {
+                       var srcType = source.GetTypeName ("returntype");
+                       var tgtType = target.GetTypeName ("returntype");
+
+                       if (srcType != tgtType) {
+                               change.AppendModified (srcType, tgtType, true);
+                               change.Append (" ");
+                       } else if (srcType != null) {
+                               // ctor don't have a return type
+                               change.Append (srcType);
+                               change.Append (" ");
+                       }
+               }
+
+               public override bool Equals (XElement source, XElement target, ApiChanges changes)
+               {
+                       if (base.Equals (source, target, changes))
+                               return true;
+                               
+                       var change = new ApiChange ();
+                       change.Header = "Modified " + GroupName;
+                       RenderMethodAttributes (source, target, change);
+                       RenderReturnType (source, target, change);
+                       RenderName (source, target, change);
+                       RenderGenericParameters (source, target, change);
+                       RenderParameters (source, target, change);
+
+                       changes.Add (source, target, change);
+
+                       return false;
+               }
+
                public override string GetDescription (XElement e)
                {
                        var sb = new StringBuilder ();
@@ -99,7 +133,10 @@ namespace Xamarin.ApiDiff {
                        if (parameters != null) {
                                var list = new List<string> ();
                                foreach (var p in parameters.Elements ("parameter")) {
-                                       list.Add (p.GetTypeName ("type") + " " + p.GetAttribute ("name"));
+                                       var pTypeName   = p.GetTypeName ("type");
+                                       list.Add (State.IgnoreParameterNameChanges
+                                               ? pTypeName
+                                               : pTypeName + " " + p.GetAttribute ("name"));
                                }
                                sb.Append (String.Join (", ", list));
                        }
index c7d1e8bc8860c1f3c9cbe252095d6f5eabf32a71..693f16f534263891fb927f04406eb61e8c65fbd0 100644 (file)
@@ -40,9 +40,31 @@ namespace Xamarin.ApiDiff {
                        get { return "event"; }
                }
 
+               public override bool Equals (XElement source, XElement target, ApiChanges changes)
+               {
+                       if (base.Equals (source, target, changes))
+                               return true;
+
+                       var change = new ApiChange ();
+                       change.Header = "Modified " + GroupName;
+                       change.Append ("public event ");
+
+                       var srcEventType = source.GetTypeName ("eventtype");
+                       var tgtEventType = target.GetTypeName ("eventtype");
+
+                       if (srcEventType != tgtEventType) {
+                               change.AppendModified (srcEventType, tgtEventType, true);
+                       } else {
+                               change.Append (srcEventType);
+                       }
+                       change.Append (" ");
+                       change.Append (source.GetAttribute ("name")).Append (";");
+                       return false;
+               }
+
                public override string GetDescription (XElement e)
                {
-                       StringBuilder sb = GetObsoleteMessage (e);
+                       StringBuilder sb = new StringBuilder ();
                        // TODO: attribs
                        sb.Append ("public event ");
                        sb.Append (e.GetTypeName ("eventtype")).Append (' ');
index 0916ed5396386d4d323d55acbe90e1534599744b..c8a6e0a777262a1b43807f0decb5a5a58d315484 100644 (file)
@@ -43,6 +43,96 @@ namespace Xamarin.ApiDiff {
                        get { return "field"; }
                }
 
+               void RenderFieldAttributes (FieldAttributes source, FieldAttributes target, ApiChange change)
+               {
+                       // the visibility values are the same for MethodAttributes and FieldAttributes, so just use the same method.
+                       RenderVisibility ((MethodAttributes) source, (MethodAttributes) target, change);
+                       // same for the static flag
+                       RenderStatic ((MethodAttributes) source, (MethodAttributes) target, change);
+
+                       var srcLiteral = (source & FieldAttributes.Literal) != 0;
+                       var tgtLiteral = (target & FieldAttributes.Literal) != 0;
+
+                       if (srcLiteral) {
+                               if (tgtLiteral) {
+                                       change.Append ("const ");
+                               } else {
+                                       change.AppendRemoved ("const", true).Append (" ");
+                               }
+                       } else if (tgtLiteral) {
+                               change.AppendAdded ("const", true).Append (" ");
+                       }
+
+                       var srcInitOnly = (source & FieldAttributes.InitOnly) != 0;
+                       var tgtInitOnly = (target & FieldAttributes.InitOnly) != 0;
+                       if (srcInitOnly) {
+                               if (tgtInitOnly) {
+                                       change.Append ("readonly ");
+                               } else {
+                                       change.AppendRemoved ("readonly", false).Append (" ");
+                               }
+                       } else if (tgtInitOnly) {
+                               change.AppendAdded ("readonly", true).Append (" ");
+                       }
+               }
+
+               public override bool Equals (XElement source, XElement target, ApiChanges changes)
+               {
+                       if (base.Equals (source, target, changes))
+                               return true;
+
+                       var name = source.GetAttribute ("name");
+                       var srcValue = source.GetAttribute ("value");
+                       var tgtValue = target.GetAttribute ("value");
+                       var change = new ApiChange ();
+                       change.Header = "Modified " + GroupName;
+
+                       if (State.BaseType == "System.Enum") {
+                               change.Append (name).Append (" = ");
+                               if (srcValue != tgtValue) {
+                                       change.AppendModified (srcValue, tgtValue, true);
+                               } else {
+                                       change.Append (srcValue);
+                               }
+                       } else {
+                               RenderFieldAttributes (source.GetFieldAttributes (), target.GetFieldAttributes (), change);
+
+                               var srcType = source.GetTypeName ("fieldtype");
+                               var tgtType = target.GetTypeName ("fieldtype");
+
+                               if (srcType != tgtType) {
+                                       change.AppendModified (srcType, tgtType, true);
+                               } else {
+                                       change.Append (srcType);
+                               }
+                               change.Append (" ");
+                               change.Append (name);
+
+                               if (srcType == "string" && srcValue != null)
+                                       srcValue = "\"" + srcValue + "\"";
+
+                               if (tgtType == "string" && tgtValue != null)
+                                       tgtValue = "\"" + tgtValue + "\"";
+
+                               if (srcValue != tgtValue) {
+                                       change.Append (" = ");
+                                       if (srcValue == null)
+                                               srcValue = "null";
+                                       if (tgtValue == null)
+                                               tgtValue = "null";
+                                       change.AppendModified (srcValue, tgtValue, true);
+                               } else if (srcValue != null) {
+                                       change.Append (" = ");
+                                       change.Append (srcValue);
+                               }
+                               change.Append (";");
+                       }
+
+                       changes.Add (source, target, change);
+
+                       return false;
+               }
+
                public override string GetDescription (XElement e)
                {
                        var sb = new StringBuilder ();
@@ -87,19 +177,25 @@ namespace Xamarin.ApiDiff {
                public override void BeforeAdding (IEnumerable<XElement> list)
                {
                        first = true;
-                       if (State.BaseType == "System.Enum")
+                       if (State.BaseType == "System.Enum") {
                                Output.WriteLine ("<p>Added value{0}:</p><pre>", list.Count () > 1 ? "s" : String.Empty);
-                       else
+                               if (State.Colorize)
+                                       Output.Write ("<font color='green'>");
+                       } else {
                                base.BeforeAdding (list);
+                       }
                }
 
                public override void BeforeRemoving (IEnumerable<XElement> list)
                {
                        first = true;
-                       if (State.BaseType == "System.Enum")
+                       if (State.BaseType == "System.Enum") {
                                Output.WriteLine ("<p>Removed value{0}:</p><pre>", list.Count () > 1 ? "s" : String.Empty);
-                       else
+                               if (State.Colorize)
+                                       Output.Write ("<font color='red'>");
+                       } else {
                                base.BeforeRemoving (list);
+                       }
                }
        }
 }
\ No newline at end of file
index 91afedc48145ec59c204318ec5f8db56c0bdb00f..8769785c47819f7ae5ed11cd3f283e8549f11c76 100644 (file)
 //
 
 using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
 using System.Text;
 using System.Xml.Linq;
 
 namespace Xamarin.ApiDiff {
 
        public static class Helper {
-
                public static bool IsTrue (this XElement self, string name)
                {
                        return (self.GetAttribute (name) == "true");
@@ -67,6 +69,28 @@ namespace Xamarin.ApiDiff {
                        return null;
                }
 
+               public static IEnumerable<XElement> Descendants (this XElement self, params string[] names)
+               {
+                       XElement el = self;
+                       if (el == null)
+                               return null;
+
+                       for (int i = 0; i < names.Length - 1; i++) {
+                               el = el.Element (names [i]);
+                               if (el == null)
+                                       return null;
+                       }
+                       return el.Elements (names [names.Length - 1]);
+               }
+
+               public static List<XElement> DescendantList (this XElement self, params string[] names)
+               {
+                       var descendants = self.Descendants (names);
+                       if (descendants == null)
+                               return null;
+                       return descendants.ToList ();
+               }
+
                // make it beautiful (.NET -> C#)
                public static string GetTypeName (this XElement self, string name)
                {
@@ -153,11 +177,31 @@ namespace Xamarin.ApiDiff {
                                return "ushort";
                        case "System.Char":
                                return "char";
+                       case "System.nint":
+                               return "nint";
+                       case "System.nuint":
+                               return "uint";
+                       case "System.nfloat":
+                               return "nfloat";
+                       case "System.IntPtr":
+                               return "IntPtr";
                        default:
                                if (type.StartsWith (State.Namespace, StringComparison.Ordinal))
                                        type = type.Substring (State.Namespace.Length + 1);
                                return type;
                        }
                }
+
+               public static MethodAttributes GetMethodAttributes (this XElement element)
+               {
+                       var srcAttribs = element.Attribute ("attrib");
+                       return (MethodAttributes) (srcAttribs != null ? Int32.Parse (srcAttribs.Value) : 0);
+               }
+
+               public static FieldAttributes GetFieldAttributes (this XElement element)
+               {
+                       var srcAttribs = element.Attribute ("attrib");
+                       return (FieldAttributes) (srcAttribs != null ? Int32.Parse (srcAttribs.Value) : 0);
+               }
        }
 }
\ No newline at end of file
index 0a646c7a2a26f392cacef89ef548c252f4aa28c1..e21273873cbdebf325c8e73780b3d73ca372ffd9 100644 (file)
@@ -27,6 +27,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection;
 using System.Text;
 using System.Xml.Linq;
 
@@ -75,7 +76,7 @@ namespace Xamarin.ApiDiff {
                public override void Compare (IEnumerable<XElement> source, IEnumerable<XElement> target)
                {
                        removed.Clear ();
-                       obsoleted.Clear ();
+                       modified.Clear ();
 
                        foreach (var s in source) {
                                SetContext (s);
@@ -85,40 +86,21 @@ namespace Xamarin.ApiDiff {
                                        // not in target, it was removed
                                        removed.Add (s);
                                } else {
+                                       t.Remove ();
                                        // possibly modified
-                                       if (Equals (s, t)) {
-                                               if (IsNowObsoleted (s, t)) {
-                                                       obsoleted.Add (t);
-                                               }
-                                               t.Remove ();
+                                       if (Equals (s, t, modified))
                                                continue;
-                                       }
 
-                                       // still in target so will be part of Added
-                                       removed.Add (s);
-                                       Modified (s, t);
+                                       Modified (s, t, modified);
                                }
                        }
                        // delayed, that way we show "Modified", "Added" and then "Removed"
                        Remove (removed);
 
+                       Modify (modified);
+
                        // remaining == newly added in target
                        Add (target);
-
-                       // obsolete (considering as added, they were not obsolete before, wrt regex)
-                       bool o = false;
-                       foreach (var item in obsoleted) {
-                               SetContext (item);
-                               if (State.IgnoreAdded.Any (re => re.IsMatch (GetDescription (item))))
-                                       continue;
-                               if (!o) {
-                                       BeforeObsoleting (obsoleted);
-                                       o = true;
-                               }
-                               Obsoleted (item);
-                       }
-                       if (o)
-                               AfterObsoleting ();
                }
 
                void Add (IEnumerable<XElement> elements)
@@ -138,6 +120,20 @@ namespace Xamarin.ApiDiff {
                                AfterAdding ();
                }
 
+               void Modify (ApiChanges modified)
+               {
+                       foreach (var changes in modified) {
+                               Output.WriteLine ("<p>{0}:</p>", changes.Key);
+                               Output.WriteLine ("<pre>");
+                               foreach (var element in changes.Value) {
+                                       foreach (var line in element.Member.ToString ().Split ('\n'))
+                                               Output.WriteLine ("\t{0}", line);
+
+                               }
+                               Output.WriteLine ("</pre>");
+                       }
+               }
+
                void Remove (IEnumerable<XElement> elements)
                {
                        bool r = false;
@@ -154,7 +150,7 @@ namespace Xamarin.ApiDiff {
                        if (r)
                                AfterRemoving ();
                }
-
+                       
                public abstract string GetDescription (XElement e);
 
                protected StringBuilder GetObsoleteMessage (XElement e)
@@ -172,26 +168,23 @@ namespace Xamarin.ApiDiff {
                        return sb;
                }
 
-               public override bool Equals (XElement source, XElement target)
+               public override bool Equals (XElement source, XElement target, ApiChanges changes)
                {
-                       if (base.Equals (source, target))
-                               return true;
+                       RenderAttributes (source, target, changes);
 
-                       return GetDescription (source) == GetDescription (target);
-               }
+                       // We don't want to compare attributes.
+                       RemoveAttributes (source);
+                       RemoveAttributes (target);
 
-               bool IsNowObsoleted (XElement source, XElement target)
-               {
-                       var s = GetObsoleteMessage (source).ToString ();
-                       var t = GetObsoleteMessage (target).ToString ();
-                       // true if it was no [Obsolete] in the source but now is [Obsolete] in the target
-                       return (s.Length == 0 && t.Length > 0);
+                       return base.Equals (source, target, changes);
                }
 
                public virtual void BeforeAdding (IEnumerable<XElement> list)
                {
                        first = true;
                        Output.WriteLine ("<p>Added {0}:</p><pre>", list.Count () > 1 ? GroupName : ElementName);
+                       if (State.Colorize)
+                               Output.Write ("<font color='green'>");
                }
 
                public override void Added (XElement target)
@@ -205,32 +198,21 @@ namespace Xamarin.ApiDiff {
 
                public virtual void AfterAdding ()
                {
+                       if (State.Colorize)
+                               Output.Write ("</font>");
                        Output.WriteLine ("</pre>");
                }
 
-               public virtual void BeforeObsoleting (IEnumerable<XElement> list)
-               {
-                       Output.WriteLine ("<p>Obsoleted {0}:</p><pre>", list.Count () > 1 ? GroupName : ElementName);
-               }
-
-               public void Obsoleted (XElement target)
-               {
-                       Indent ().WriteLine ("\t{0}{1}{2}", GetObsoleteMessage (target), GetDescription (target), Environment.NewLine);
-               }
-
-               public virtual void AfterObsoleting ()
-               {
-                       Output.WriteLine ("</pre>");
-               }
-
-               public override void Modified (XElement source, XElement target)
+               public override void Modified (XElement source, XElement target, ApiChanges change)
                {
                }
 
                public virtual void BeforeRemoving (IEnumerable<XElement> list)
                {
                        first = true;
-                       Output.WriteLine ("<p>Removed {0}:</p><pre>", list.Count () > 1 ? GroupName : ElementName);
+                       Output.WriteLine ("<p>Removed {0}:</p>\n<pre>", list.Count () > 1 ? GroupName : ElementName);
+                       if (State.Colorize)
+                               Output.Write ("<font color='red'>");
                }
 
                public override void Removed (XElement source)
@@ -244,7 +226,334 @@ namespace Xamarin.ApiDiff {
 
                public virtual void AfterRemoving ()
                {
+                       if (State.Colorize)
+                               Output.Write ("</font>");
                        Output.WriteLine ("</pre>");
                }
+
+               protected void RenderGenericParameters (XElement source, XElement target, ApiChange change)
+               {
+                       var src = source.DescendantList ("generic-parameters", "generic-parameter");
+                       var tgt = target.DescendantList ("generic-parameters", "generic-parameter");
+                       var srcCount = src == null ? 0 : src.Count;
+                       var tgtCount = tgt == null ? 0 : tgt.Count;
+
+                       if (srcCount == 0 && tgtCount == 0)
+                               return;
+
+                       change.Append ("&lt;");
+                       for (int i = 0; i < Math.Max (srcCount, tgtCount); i++) {
+                               if (i > 0)
+                                       change.Append (", ");
+                               if (i >= srcCount) {
+                                       change.AppendAdded (tgt [i].GetTypeName ("name"), true);
+                               } else if (i >= tgtCount) {
+                                       change.AppendRemoved (src [i].GetTypeName ("name"), true);
+                               } else {
+                                       var srcName = src [i].GetTypeName ("name");
+                                       var tgtName = tgt [i].GetTypeName ("name");
+
+                                       if (srcName != tgtName) {
+                                               change.AppendModified (srcName, tgtName, true);
+                                       } else {
+                                               change.Append (srcName);
+                                       }
+                                       }
+                               }
+                       change.Append ("&gt;");
+               }
+
+               protected string FormatValue (string type, string value)
+               {
+                       if (value == null)
+                               return "null";
+
+                       if (type == "string")
+                               return "\"" + value + "\"";
+                       else if (type == "bool") {
+                               switch (value) {
+                               case "True":
+                                       return "true";
+                               case "False":
+                                       return "false";
+                               default:
+                                       return value;
+                               }
+                       }
+
+                       return value;
+               }
+
+               protected void RenderParameters (XElement source, XElement target, ApiChange change)
+               {
+                       var src = source.DescendantList ("parameters", "parameter");
+                       var tgt = target.DescendantList ("parameters", "parameter");
+                       var srcCount = src == null ? 0 : src.Count;
+                       var tgtCount = tgt == null ? 0 : tgt.Count;
+
+                       change.Append (" (");
+                       for (int i = 0; i < Math.Max (srcCount, tgtCount); i++) {
+                               if (i > 0)
+                                       change.Append (", ");
+
+                               if (i >= srcCount) {
+                                       change.AppendAdded (tgt [i].GetTypeName ("type") + " " + tgt [i].GetAttribute ("name"), true);
+                               } else if (i >= tgtCount) {
+                                       change.AppendRemoved (src [i].GetTypeName ("type") + " " + src [i].GetAttribute ("name"), true);
+                               } else {
+                                       var paramSourceType = src [i].GetTypeName ("type");
+                                       var paramTargetType = tgt [i].GetTypeName ("type");
+
+                                       var paramSourceName = src [i].GetAttribute ("name");
+                                       var paramTargetName = tgt [i].GetAttribute ("name");
+
+                                       if (paramSourceType != paramTargetType) {
+                                               change.AppendModified (paramSourceType, paramTargetType, true);
+                                       } else {
+                                               change.Append (paramSourceType);
+                                       }
+                                       change.Append (" ");
+                                       if (paramSourceName != paramTargetName) {
+                                               change.AppendModified (paramSourceName, paramTargetName, false);
+                                       } else {
+                                               change.Append (paramSourceName);
+                                       }
+
+                                       var optSource = src [i].Attribute ("optional");
+                                       var optTarget = tgt [i].Attribute ("optional");
+                                       var srcValue = FormatValue (paramSourceType, src [i].GetAttribute ("defaultValue"));
+                                       var tgtValue = FormatValue (paramTargetType, tgt [i].GetAttribute ("defaultValue"));
+
+                                       if (optSource != null) {
+                                               if (optTarget != null) {
+                                                       change.Append (" = ");
+                                                       if (srcValue != tgtValue) {
+                                                               change.AppendModified (srcValue, tgtValue, false);
+                                                       } else {
+                                                               change.Append (tgtValue);
+                                                       }
+                                               } else {
+                                                       change.AppendRemoved (" = " + srcValue);
+                                               }
+                                       } else {
+                                               if (optTarget != null)
+                                                       change.AppendAdded (" = " + tgtValue);
+                                       }
+                               }
+                       }
+
+                       change.Append (")");
+
+                       // Ignore any parameter name changes if requested.
+                       if (State.IgnoreParameterNameChanges && !change.Breaking) {
+                               change.AnyChange = false;
+                               change.HasIgnoredChanges = true;
+                       }
+               }
+
+               void RenderVTable (MethodAttributes source, MethodAttributes target, ApiChange change)
+               {
+                       var srcAbstract = (source & MethodAttributes.Abstract) == MethodAttributes.Abstract;
+                       var tgtAbstract = (target & MethodAttributes.Abstract) == MethodAttributes.Abstract;
+                       var srcFinal = (source & MethodAttributes.Final) == MethodAttributes.Final;
+                       var tgtFinal = (target & MethodAttributes.Final) == MethodAttributes.Final;
+                       var srcVirtual = (source & MethodAttributes.Virtual) == MethodAttributes.Virtual;
+                       var tgtVirtual = (target & MethodAttributes.Virtual) == MethodAttributes.Virtual;
+                       var srcOverride = (source & MethodAttributes.VtableLayoutMask) != MethodAttributes.NewSlot;
+                       var tgtOverride = (target & MethodAttributes.VtableLayoutMask) != MethodAttributes.NewSlot;
+
+                       var srcWord = srcVirtual ? (srcOverride ? "override" : "virtual") : string.Empty;
+                       var tgtWord = tgtVirtual ? (tgtOverride ? "override" : "virtual") : string.Empty;
+                       var breaking = srcWord.Length > 0 && tgtWord.Length == 0;
+
+                       if (srcAbstract) {
+                               if (tgtAbstract) {
+                                       change.Append ("abstract ");
+                               } else if (tgtVirtual) {
+                                       change.AppendModified ("abstract", tgtWord, false).Append (" ");
+                               } else {
+                                       change.AppendRemoved ("abstract").Append (" ");
+                               }
+                       } else {
+                               if (tgtAbstract) {
+                                       change.AppendAdded ("abstract", true).Append (" ");
+                               } else if (srcWord != tgtWord) {
+                                       if (!tgtFinal)
+                                               change.AppendModified (srcWord, tgtWord, breaking).Append (" ");
+                               } else if (tgtWord.Length > 0) {
+                                       change.Append (tgtWord).Append (" ");
+                               } else if (srcWord.Length > 0) {
+                                       change.AppendRemoved (srcWord, breaking).Append (" ");
+                               }
+                       }
+
+                       if (srcFinal) {
+                               if (tgtFinal) {
+                                       change.Append ("final ");
+                               } else {
+                                       change.AppendRemoved ("final", false).Append (" "); // removing 'final' is not a breaking change.
+                               }
+                       } else {
+                               if (tgtFinal && srcVirtual) {
+                                       change.AppendModified ("virtual", "final", true).Append (" "); // adding 'final' is a breaking change if the member was virtual
+                               }
+                       }
+
+                       if (!srcVirtual && !srcFinal && tgtVirtual && tgtFinal) {
+                               // existing member implements a member from a new interface
+                               // this would show up as 'virtual final', which is redundant, so show nothing at all.
+                               change.HasIgnoredChanges = true;
+                       }
+
+                       // Ignore non-breaking virtual changes.
+                       if (State.IgnoreVirtualChanges && !change.Breaking) {
+                               change.AnyChange = false;
+                               change.HasIgnoredChanges = true;
+                       }
+               }
+
+               protected string GetVisibility (MethodAttributes attr)
+               {
+                       switch (attr) {
+                       case MethodAttributes.Private:
+                       case MethodAttributes.PrivateScope:
+                               return "private";
+                       case MethodAttributes.Assembly:
+                               return "internal";
+                       case MethodAttributes.FamANDAssem:
+                               return "private internal";
+                       case MethodAttributes.FamORAssem:
+                               return "protected"; // customers don't care about 'internal';
+                       case MethodAttributes.Family:
+                               return "protected";
+                       case MethodAttributes.Public:
+                               return "public";
+                       default:
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               protected void RenderVisibility (MethodAttributes source, MethodAttributes target, ApiChange diff)
+               {
+                       source = source & MethodAttributes.MemberAccessMask;
+                       target = target & MethodAttributes.MemberAccessMask;
+
+                       if (source == target) {
+                               diff.Append (GetVisibility (target));
+                       } else {
+                               var breaking = false;
+                               switch (source) {
+                               case MethodAttributes.Private:
+                               case MethodAttributes.Assembly:
+                               case MethodAttributes.FamANDAssem:
+                                       break; // these are not publicly visible, thus not breaking
+                               case MethodAttributes.FamORAssem:
+                               case MethodAttributes.Family:
+                                       switch (target) {
+                                       case MethodAttributes.Public:
+                                               // to public is not a breaking change
+                                               break;
+                                       case MethodAttributes.Family:
+                                       case MethodAttributes.FamORAssem:
+                                               // not a breaking change, but should still show up in diff
+                                               break;
+                                       default:
+                                               // anything else is a breaking change
+                                               breaking = true;
+                                               break;
+                                       }
+                                       break;
+                               case MethodAttributes.Public:
+                               default:
+                                       // any change from public is breaking.
+                                       breaking = true;
+                                       break;
+                               }
+
+                               diff.AppendModified (GetVisibility (source), GetVisibility (target), breaking);
+                       }
+                       diff.Append (" ");
+               }
+
+               protected void RenderStatic (MethodAttributes src, MethodAttributes tgt, ApiChange diff)
+               {
+                       var srcStatic = (src & MethodAttributes.Static) == MethodAttributes.Static;
+                       var tgtStatic = (tgt & MethodAttributes.Static) == MethodAttributes.Static;
+
+                       if (srcStatic != tgtStatic) {
+                               if (srcStatic) {
+                                       diff.AppendRemoved ("static", true).Append (" ");
+                               } else {
+                                       diff.AppendAdded ("static", true).Append (" ");
+                               }
+                       }
+               }
+
+               protected void RenderMethodAttributes (MethodAttributes src, MethodAttributes tgt, ApiChange diff)
+               {
+                       RenderStatic (src, tgt, diff);
+                       RenderVisibility (src & MethodAttributes.MemberAccessMask, tgt & MethodAttributes.MemberAccessMask, diff);
+                       RenderVTable (src, tgt, diff);
+               }
+
+               protected void RenderMethodAttributes (XElement source, XElement target, ApiChange diff)
+               {
+                       RenderMethodAttributes (source.GetMethodAttributes (), target.GetMethodAttributes (), diff);
+               }
+
+               protected void RemoveAttributes (XElement element)
+               {
+                       var srcAttributes = element.Element ("attributes");
+                       if (srcAttributes != null)
+                               srcAttributes.Remove ();
+
+                       foreach (var el in element.Elements ())
+                               RemoveAttributes (el);
+               }
+
+               protected void RenderAttributes (XElement source, XElement target, ApiChanges changes)
+               {
+                       var srcObsolete = source.GetObsoleteMessage ();
+                       var tgtObsolete = target.GetObsoleteMessage ();
+
+                       if (srcObsolete == tgtObsolete)
+                               return; // nothing changed
+
+                       if (srcObsolete == null) {
+                               if (tgtObsolete == null)
+                                       return; // neither is obsolete
+                               var change = new ApiChange ();
+                               change.Header = "Obsoleted " + GroupName;
+                               if (State.Colorize)
+                                       change.Append ("<font color='gray'>");
+                               change.Append ("[Obsolete (");
+                               if (tgtObsolete != string.Empty)
+                                       change.Append ("\"").Append (tgtObsolete).Append ("\"");
+                               change.Append ("]\n");
+                               change.Append (GetDescription (target));
+                               if (State.Colorize)
+                                       change.Append ("</font>");
+                               change.AnyChange = true;
+                               changes.Add (source, target, change);
+                       } else if (tgtObsolete == null) {
+                               // Made non-obsolete. Do we care to report this?
+                       } else {
+                               // Obsolete message changed. Do we care to report this?
+                       }
+               }
+
+               protected void RenderName (XElement source, XElement target, ApiChange change)
+               {
+                       var name = target.GetAttribute ("name");
+                       // show the constructor as it would be defined in C#
+                       name = name.Replace (".ctor", State.Type);
+
+                       var p = name.IndexOf ('(');
+                       if (p >= 0)
+                               name = name.Substring (0, p);
+
+                       change.Append (name);
+               }
+
        }
 }
index 427df66e6eb9cef2350288359f7226862dfe28ea..258374c6b9dc45230a4d715e6d5d1ce4c56c68a4 100644 (file)
@@ -25,6 +25,7 @@
 //
 
 using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Xml.Linq;
@@ -68,7 +69,7 @@ namespace Xamarin.ApiDiff {
                        Output.WriteLine ();
                }
 
-               public override void Modified (XElement source, XElement target)
+               public override void Modified (XElement source, XElement target, ApiChanges differences)
                {
                        var output = Output;
                        State.Output = new StringWriter ();
index 0d0a9bdd548dc3112d54a97d2760affc8cff90ee..4fbd864d994a858fd0b151698bb74c134d2e4637 100644 (file)
@@ -25,6 +25,7 @@
 //
 
 using System;
+using System.Collections.Generic;
 using System.Reflection;
 using System.Text;
 using System.Xml.Linq;
@@ -49,35 +50,151 @@ namespace Xamarin.ApiDiff {
                        return e.GetAttribute ("params") == Source.GetAttribute ("params");
                }
 
-               public override string GetDescription (XElement e)
+               void GetAccessors (XElement element, out XElement getter, out XElement setter)
                {
-                       string name = e.Attribute ("name").Value;
-                       string ptype = e.GetTypeName ("ptype");
+                       var methods = element.Element ("methods");
+
+                       getter = null;
+                       setter = null;
+
+                       if (methods == null)
+                               return;
+                               
+                       foreach (var m in methods.Elements ("method")) {
+                               var n = m.GetAttribute ("name");
+                               if (n.StartsWith ("get_", StringComparison.Ordinal)) {
+                                       getter = m;
+                               } else if (n.StartsWith ("set_", StringComparison.Ordinal)) {
+                                       setter = m;
+                               }
+                       }
+               }
+
+               MethodAttributes GetMethodAttributes (XElement getter, XElement setter)
+               {
+                       if (getter == null)
+                               return setter.GetMethodAttributes ();
+                       else if (setter == null)
+                               return getter.GetMethodAttributes ();
+
+                       var gAttr = getter.GetMethodAttributes ();
+                       var sAttr = setter.GetMethodAttributes ();
+                       var g = gAttr & MethodAttributes.MemberAccessMask;
+                       var s = sAttr & MethodAttributes.MemberAccessMask;
+                       // Visibility is ordered numerically (higher value = more visible).
+                       // We want the most visible.
+                       var visibility = (MethodAttributes) Math.Max ((int) g, (int) s);
+                       // Do a bitwise or with the rest of the flags
+                       var g_no_visibility = gAttr & ~MethodAttributes.MemberAccessMask;
+                       var s_no_visibility = sAttr & ~MethodAttributes.MemberAccessMask;
+                       return g_no_visibility | s_no_visibility | visibility;
+               }
+
+               void RenderPropertyType (XElement source, XElement target, ApiChange change)
+               {
+                       var srcType = source.GetTypeName ("ptype");
+                       var tgtType = target.GetTypeName ("ptype");
+
+                       if (srcType == tgtType) {
+                               change.Append (tgtType);
+                       } else {
+                               change.AppendModified (srcType, tgtType, true);
+                       }
+                       change.Append (" ");
+               }
+
+               void RenderAccessors (XElement srcGetter, XElement tgtGetter, XElement srcSetter, XElement tgtSetter, ApiChange change)
+               {
+                       // FIXME: this doesn't render changes in the accessor visibility (a protected setter can become public for instance).
+                       change.Append (" {");
+                       if (tgtGetter != null) {
+                               if (srcGetter != null) {
+                                       change.Append (" ").Append ("get;");
+                               } else {
+                                       change.Append (" ").AppendAdded ("get;");
+                               }
+                       } else if (srcGetter != null) {
+                               change.Append (" ").AppendRemoved ("get;");
+                       }
+
+                       if (tgtSetter != null) {
+                               if (srcSetter != null) {
+                                       change.Append (" ").Append ("set;");
+                               } else {
+                                       change.Append (" ").AppendAdded ("set;");
+                               }
+                       } else if (srcSetter != null) {
+                               change.Append (" ").AppendRemoved ("set;");
+                       }
+
+                       change.Append (" }");
+
+                       // Ignore added property setters if asked to
+                       if (srcSetter == null && tgtSetter != null && State.IgnoreAddedPropertySetters && !change.Breaking) {
+                               change.AnyChange = false;
+                               change.HasIgnoredChanges = true;
+                       }
+               }
+
+               public override bool Equals (XElement source, XElement target, ApiChanges changes)
+               {
+                       if (base.Equals (source, target, changes))
+                               return true;
+
+                       XElement srcGetter, srcSetter;
+                       XElement tgtGetter, tgtSetter;
+                       GetAccessors (source, out srcGetter, out srcSetter);
+                       GetAccessors (target, out tgtGetter, out tgtSetter);
+
+                       var change = new ApiChange ();
+                       change.Header = "Modified " + GroupName;
+                       RenderMethodAttributes (GetMethodAttributes (srcGetter, srcSetter), GetMethodAttributes (tgtGetter, tgtSetter), change);
+                       RenderPropertyType (source, target, change);
+                       RenderName (source, target, change);
+                       RenderGenericParameters (source, target, change);
+                       RenderAccessors (srcGetter, tgtGetter, srcSetter, tgtSetter, change);
+
+                       changes.Add (source, target, change);
+
+                       return false;
+               }
+
+               void GetProperties (XElement e, out bool @virtual, out bool @override, out bool @static, out bool getter, out bool setter, out bool family)
+               {
+                       @virtual = @override = @static = getter = setter = family = false;
 
-                       bool virt = false;
-                       bool over = false;
-                       bool stat = false;
-                       bool getter = false;
-                       bool setter = false;
-                       bool family = false;
                        var methods = e.Element ("methods");
                        if (methods != null) {
                                foreach (var m in methods.Elements ("method")) {
-                                       virt |= m.IsTrue ("virtual");
-                                       stat |= m.IsTrue ("static");
+                                       @virtual |= m.IsTrue ("virtual");
+                                       @static |= m.IsTrue ("static");
                                        var n = m.GetAttribute ("name");
                                        getter |= n.StartsWith ("get_", StringComparison.Ordinal);
                                        setter |= n.StartsWith ("set_", StringComparison.Ordinal);
                                        var attribs = (MethodAttributes) Int32.Parse (m.GetAttribute ("attrib"));
                                        family = ((attribs & MethodAttributes.Public) != MethodAttributes.Public);
-                                       over |= (attribs & MethodAttributes.VtableLayoutMask) == 0;
+                                       @override |= (attribs & MethodAttributes.NewSlot) == 0;
                                }
                        }
+               }
+
+               public override string GetDescription (XElement e)
+               {
+                       string name = e.Attribute ("name").Value;
+                       string ptype = e.GetTypeName ("ptype");
+
+                       bool virt = false;
+                       bool over = false;
+                       bool stat = false;
+                       bool getter = false;
+                       bool setter = false;
+                       bool family = false;
+                       GetProperties (e, out virt, out over, out stat, out getter, out setter, out family);
 
                        var sb = new StringBuilder ();
 
                        sb.Append (family ? "protected " : "public ");
-                       if (virt)
+                       if (virt && !State.IgnoreVirtualChanges)
                                sb.Append (over ? "override " : "virtual ");
                        else if (stat)
                                sb.Append ("static ");
index 989dde67477262cba0c8ce3cb6fd348cf786bdf7..286a4d0192abb6da70e1a5d641ede92457b022f4 100644 (file)
@@ -19,7 +19,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <ConsolePause>false</ConsolePause>
-    <Commandlineparameters>/Developer/MonoTouch/Source/monotouch/tools/apidiff/references/monotouch.xml /Developer/MonoTouch/Source/monotouch/tools/apidiff/temp/monotouch.xml</Commandlineparameters>
+    <Commandlineparameters>/Developer/MonoTouch/Source/monotouch/tools/apidiff/references/compat/monotouch.xml /Developer/MonoTouch/Source/monotouch/tools/apidiff/temp/compat/monotouch.xml -i INSObjectProtocol /tmp/diff.html</Commandlineparameters>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>full</DebugType>
@@ -52,6 +52,7 @@
     <Compile Include="..\..\..\class\Mono.Options\Mono.Options\Options.cs">
       <Link>Options.cs</Link>
     </Compile>
+    <Compile Include="ApiChange.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
 </Project>
index 181a3ebc36c8e921e64cced856989cb37c5d09a6..f70c020412db4484309b0f990c45cc8d469da10a 100644 (file)
@@ -13,6 +13,7 @@
                <type fullname="System.Net.SocketAddress" />
                <type fullname="System.Net.Sockets.LingerOption" />
                <type fullname="System.Net.Sockets.Socket" />
+               <type fullname="System.Net.Sockets.MulticastOption" preserve="fields" />
                <type fullname="System.Net.Sockets.Socket/SocketAsyncResult" preserve="fields" />
                <type fullname="System.Net.Sockets.SocketException" />
        </assembly>
index 745c51531f0ded0d5d42cac68ce4a6d0f7af2265..9337d6d75453778d6a0c8e9210ad32414a7fc7a1 100644 (file)
     <typeparam name="T">To be added.</typeparam>
     <param name="obj">The object on which to perform an action.</param>
     <summary>
-      <para> Represents the method that performs an action on the specified object.</para>
-    </summary>
+                                       <para> Represents the method that performs an action on the specified object.</para>
+                               </summary>
     <remarks>
-      <block subset="none" type="note">
-        <para>This delegate is used by the method <see cref="M:System.Array.ForEach" /><see langword="(T[], Action&lt;T&gt;)" />, and in <see cref="T:System.Collections.Generic.List&lt;T&gt;" /> to perform an action on each element of the collection.</para>
-      </block>
-    </remarks>
+                                       <block subset="none" type="note">
+                                               <para>This delegate is used by the method <see cref="M:System.Array.ForEach" />
+                                                       <see langword="(T[], Action&lt;T&gt;)" />, and in <see cref="T:System.Collections.Generic.List&lt;T&gt;" /> to perform an action on each element of the collection.</para>
+                                       </block>
+                               </remarks>
   </Docs>
 </Type>
index 96aee607a9951683ebd223f8b5efe2fde0c539cd..91084a09c58f6ed99724bb8df72bcb139569480e 100644 (file)
   <Interfaces />
   <Docs>
     <summary>
-      <para> Serves as the base class for arrays. Provides methods for creating,
+                                       <para> Serves as the base class for arrays. Provides methods for creating,
       copying, manipulating, searching, and sorting arrays.</para>
-    </summary>
+                               </summary>
     <remarks>
-      <para>This class is intended to be used as a base class by
+                                       <para>This class is intended to be used as a base class by
       language implementations that support arrays. Only the system can derive from
       this type: derived classes of <see cref="T:System.Array" /> are not to be created by the developer.</para>
-      <block subset="none" type="note">
-        <para>An array is a collection of
+                                       <block subset="none" type="note">
+                                               <para>An array is a collection of
          identically typed data <paramref name="elements" /> that are accessed and referenced by
          sets of integral <paramref name="indices" />. </para>
-        <para>The <paramref name="rank" /> of an array is the number
+                                               <para>The <paramref name="rank" /> of an array is the number
       of dimensions in the array. Each dimension has its own set of indices. An array
       with a rank greater than one can have a different lower
       bound and a different number of elements for each dimension. Multidimensional
       arrays (i.e. arrays with a rank greater than one) are processed in row-major
       order. </para>
-        <para>The <paramref name="lower bound" /> of a dimension
+                                               <para>The <paramref name="lower bound" /> of a dimension
    is the starting index of that dimension. </para>
-        <para>The <paramref name="length" /> of an array is the total number of elements contained in all of its
+                                               <para>The <paramref name="length" /> of an array is the total number of elements contained in all of its
 dimensions. </para>
-        <para>A <paramref name="vector" /> is a
+                                               <para>A <paramref name="vector" /> is a
 one-dimensional array with a <paramref name="lower bound" /> of '0'. </para>
-        <para>If the implementer creates a derived class of <see cref="T:System.Array" />, expected <see cref="T:System.Array" /> behavior
+                                               <para>If the implementer creates a derived class of <see cref="T:System.Array" />, expected <see cref="T:System.Array" /> behavior
 cannot be guaranteed. For information on array-like objects with increased
 functionality, see the <see cref="T:System.Collections.IList" /> and <see cref="T:System.Collections.Generic.IList&lt;T&gt;" /> interfaces. For more information regarding the use of arrays versus the use
 of collections, see Partition V of the CLI Specification. </para>
-      </block>
-      <para>Every specific <see cref="T:System.Array" /> type has three instance methods defined on it.
+                                       </block>
+                                       <para>Every specific <see cref="T:System.Array" /> type has three instance methods defined on it.
    While some programming languages allow direct access to these methods, they are
    primarily intended to be called by the output of compilers based on language
    syntax that deals with arrays. </para>
-      <list type="bullet">
-        <item>
-          <term>
-            <para>
-              <c>Get</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
+                                       <list type="bullet">
+                                               <item>
+                                                       <term>
+                                                               <para>
+                                                                       <c>Get</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
    has dimensions and returns the value stored at the given index. It throws a
 <see cref="T:System.IndexOutOfRangeException" /> 
 exception for invalid indices. </para>
-          </term>
-        </item>
-        <item>
-          <term>
-            <para>
-              <c>Set</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
+                                                       </term>
+                                               </item>
+                                               <item>
+                                                       <term>
+                                                               <para>
+                                                                       <c>Set</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
    has dimensions, plus one additional argument (the last argument) which has the
    same type as an array element. It stores the final value in the specified
    index of the array. It throws a <see cref="T:System.IndexOutOfRangeException" />
    exception for invalid indices. </para>
-          </term>
-        </item>
-        <item>
-          <term>
-            <para>
-              <c>Address</c>: Takes as many <see cref="T:System.Int32" /> arguments as the
+                                                       </term>
+                                               </item>
+                                               <item>
+                                                       <term>
+                                                               <para>
+                                                                       <c>Address</c>: Takes as many <see cref="T:System.Int32" /> arguments as the
    array has dimensions and returns the address of the element at the given index.
    It throws a <see cref="T:System.IndexOutOfRangeException" />
    exception for invalid indices. </para>
-          </term>
-        </item>
-      </list>
-      <para>In addition, every specific <see cref="T:System.Array" /> type has a constructor on it that takes as many non-negative 
+                                                       </term>
+                                               </item>
+                                       </list>
+                                       <para>In addition, every specific <see cref="T:System.Array" /> type has a constructor on it that takes as many non-negative 
 <see cref="T:System.Int32" /> 
 arguments as the array has dimensions. The arguments specify the
 number of elements in each dimension, and a lower bound of 0. Thus, a
 two-dimensional array of <see cref="T:System.Int32" /> objects would have a constructor that could be called with
 <c>(2, 4)</c> as its arguments to create an array of eight zeros with the first dimension indexed
 with 0 and 1 and the second dimension indexed with 0, 1, 2, and 3. </para>
-      <para>For all specific array types except vectors (i.e. those
+                                       <para>For all specific array types except vectors (i.e. those
    permitted to have non-zero lower bounds and those with more than one dimension)
    there is an additional constructor. It takes twice as many arguments as the
    array has dimensions. The arguments are considered in pairs, with the first of
@@ -91,9 +91,9 @@ with 0 and 1 and the second dimension indexed with 0, 1, 2, and 3. </para>
    objects would also have a constructor that could be called with <c>(-1, 2, 1, 3)</c> as its arguments,
 specifying an array of 6 zeros, with the first dimension indexed by -1 and 0,
 and the second dimension indexed by 1, 2, and 3. </para>
-      <para>Enumeration over an array occurs in ascending row-major order, starting from the first element. (For example, a 2x3 array is traversed in the order [0,0], [0,1], [0,2], [1,0], [1,1], and [1,2].)</para>
-      <para>Parallel implementation of methods taking a <see cref="T:System.Predicate" /> argument are not permitted.</para>
-    </remarks>
+                                       <para>Enumeration over an array occurs in ascending row-major order, starting from the first element. (For example, a 2x3 array is traversed in the order [0,0], [0,1], [0,2], [1,0], [1,1], and [1,2].)</para>
+                                       <para>Parallel implementation of methods taking a <see cref="T:System.Predicate" /> argument are not permitted.</para>
+                               </remarks>
   </Docs>
   <Members>
     <Member MemberName=".ctor">
@@ -158,21 +158,21 @@ and the second dimension indexed by 1, 2, and 3. </para>
         <typeparam name="TOutput">To be added.</typeparam>
         <param name="array">The one-dimensional array to convert.</param>
         <param name="converter">
-          <para>A <see cref="T:System.Converter&lt;T,U&gt;" /> that converts each element from one type to another type.</para>
-        </param>
+                                                       <para>A <see cref="T:System.Converter&lt;T,U&gt;" /> that converts each element from one type to another type.</para>
+                                               </param>
         <summary>
-          <para>Converts an array of one type to an array of another type.</para>
-        </summary>
+                                                       <para>Converts an array of one type to an array of another type.</para>
+                                               </summary>
         <returns>
-          <para>A new array of the target type containing the converted elements from <paramref name="array" />.</para>
-        </returns>
+                                                       <para>A new array of the target type containing the converted elements from <paramref name="array" />.</para>
+                                               </returns>
         <remarks>
-          <para>The <see cref="T:System.Converter&lt;T,U&gt;" /> is a delegate that converts an array element to the target type.  The elements of  <paramref name="array" /> are individually passed to this converter, and the converted elements are saved in the new array. The source array remains unchanged.</para>
-        </remarks>
+                                                       <para>The <see cref="T:System.Converter&lt;T,U&gt;" /> is a delegate that converts an array element to the target type.  The elements of  <paramref name="array" /> are individually passed to this converter, and the converted elements are saved in the new array. The source array remains unchanged.</para>
+                                               </remarks>
         <exception cref="T:System.InvalidOperationException">To be added; from:
           <see cref="M:System.Array.ConvertAll``2(``0[],System.Converter{``0,``1})" /></exception>
         <exception cref="T:System.ArgumentNullException">
-          <paramref name="array" /> is <see langword="null" /> or <paramref name="converter" /> is <see langword="null" />.</exception>
+                                                       <paramref name="array" /> is <see langword="null" /> or <paramref name="converter" /> is <see langword="null" />.</exception>
       </Docs>
     </Member>
     <Member MemberName="Resize&lt;T&gt;">
index a232e3c2499f9c5a33844cbcc36a7b24be2df886..b5bcde6da4089d96ff3b68da1a0937650bf6c1e7 100644 (file)
@@ -17,8 +17,8 @@
   <Docs>
     <param name="ar">A <see cref="T:System.IAsyncResult" /> object containing information about the asynchronous operation that has completed.</param>
     <summary>
-      <para> References one or more methods called when an asynchronous operation completes.</para>
-    </summary>
+                                       <para> References one or more methods called when an asynchronous operation completes.</para>
+                               </summary>
     <remarks>To be added.</remarks>
   </Docs>
 </Type>
index f7a5f40c8f45795f4b9a60438039b3eebeba5e4d..40a9735e1164df25d895fb0cd903598c71f7a846 100644 (file)
   <Interfaces />
   <Docs>
     <summary>
-      <para> Provides the current settings for, and information about, the execution environment.</para>
-    </summary>
+                                       <para> Provides the current settings for, and information about, the execution environment.</para>
+                               </summary>
     <remarks>
-      <block subset="none" type="note">
-        <para>Use this class to retrieve the following 
+                                       <block subset="none" type="note">
+                                               <para>Use this class to retrieve the following 
  information:</para>
-        <list type="bullet">
-          <item>
-            <term>Command line arguments</term>
-          </item>
-          <item>
-            <term>Exit codes</term>
-          </item>
-          <item>
-            <term>Environment variable settings</term>
-          </item>
-          <item>
-            <term>Contents of the call stack</term>
-          </item>
-          <item>
-            <term>Time since last system boot</term>
-          </item>
-          <item>
-            <term>Version of the execution engine</term>
-          </item>
-        </list>
-      </block>
-    </remarks>
+                                               <list type="bullet">
+                                                       <item>
+                                                               <term>Command line arguments</term>
+                                                       </item>
+                                                       <item>
+                                                               <term>Exit codes</term>
+                                                       </item>
+                                                       <item>
+                                                               <term>Environment variable settings</term>
+                                                       </item>
+                                                       <item>
+                                                               <term>Contents of the call stack</term>
+                                                       </item>
+                                                       <item>
+                                                               <term>Time since last system boot</term>
+                                                       </item>
+                                                       <item>
+                                                               <term>Version of the execution engine</term>
+                                                       </item>
+                                               </list>
+                                       </block>
+                               </remarks>
   </Docs>
   <Members>
     <Member MemberName="GetFolderPath">
       </Parameters>
       <Docs>
         <param name="folder">
-          <para>A <see cref="T:System.Environment+SpecialFolder" />.</para>
-        </param>
+                                                       <para>A <see cref="T:System.Environment+SpecialFolder" />.</para>
+                                               </param>
         <summary>
-          <para> Returns the arguments specified on the command
+                                                       <para> Returns the arguments specified on the command
       line.</para>
-        </summary>
+                                               </summary>
         <returns>
-          <para> Returns a <see cref="T:System.String" /> array. Each <see cref="T:System.String" /> in the array
+                                                       <para> Returns a <see cref="T:System.String" /> array. Each <see cref="T:System.String" /> in the array
    contains a single command line argument.</para>
-        </returns>
+                                               </returns>
         <remarks>
-          <para>The first element in the array contains the filename of
+                                                       <para>The first element in the array contains the filename of
       the executing program. If the filename is not available, the first element is
       equal to <see cref="F:System.String.Empty" />. The remaining elements contain any additional tokens
       entered on the command line.</para>
-          <block subset="none" type="note">
-            <para>The program filename can, but is not required to,
+                                                       <block subset="none" type="note">
+                                                               <para>The program filename can, but is not required to,
          include path information.</para>
-            <para>To obtain the command line as a single <see cref="T:System.String" />, use the <see cref="P:System.Environment.CommandLine" />
+                                                               <para>To obtain the command line as a single <see cref="T:System.String" />, use the <see cref="P:System.Environment.CommandLine" />
    property.</para>
-          </block>
-        </remarks>
+                                                       </block>
+                                               </remarks>
         <exception cref="T:System.NotSupportedException">To be added; from:
           <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)" /></exception>
         <exception cref="T:System.ArgumentException">foo</exception>
index 9e047cd103192e5d458ed88ddd65f6248dc1e57e..2450c069400bc162aa937dd231ef84613a29ba21 100644 (file)
@@ -6,7 +6,7 @@ PROGRAM = resgen.exe
 
 CLEAN_FILES = resgen.exe
 
-INSTALL_PROFILE := $(filter net_2_0 net_4_5, $(PROFILE))
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
 ifndef INSTALL_PROFILE
 NO_INSTALL = yes
 endif
index 5e8dd82bd0a4cc507a116193f215b5f0e967b128..05c24763cdeaed4ac7bfc12aa0b87e441e5792e0 100644 (file)
@@ -76,14 +76,17 @@ EXTRA_DISTFILES = \
        data/3.5/Microsoft.Common.tasks \
        data/4.0/Microsoft.Common.tasks \
        data/12.0/Microsoft.Common.tasks \
+       data/14.0/Microsoft.Common.tasks \
        data/2.0/Microsoft.Common.targets \
        data/3.5/Microsoft.Common.targets \
        data/4.0/Microsoft.Common.targets \
        data/12.0/Microsoft.Common.targets \
+       data/14.0/Microsoft.Common.targets \
        data/2.0/Microsoft.CSharp.targets \
        data/3.5/Microsoft.CSharp.targets \
        data/4.0/Microsoft.CSharp.targets \
        data/12.0/Microsoft.CSharp.targets \
+       data/14.0/Microsoft.CSharp.targets \
        data/Microsoft.VisualBasic.targets \
        data/MSBuild/Microsoft.Build.CommonTypes.xsd \
        data/MSBuild/Microsoft.Build.Core.xsd \
index 47ae1d9c0448332bba287d202e754d40e6929974..738ca70791c52e8fc50bbdef7ed9ec81c1fdd1c9 100644 (file)
@@ -121,7 +121,9 @@ namespace Mono.XBuild.CommandLine {
                        string slnVersion = GetSlnFileVersion (reader);
 
                        if (slnVersion == "12.00")
-#if XBUILD_12
+#if XBUILD_14
+                               p.DefaultToolsVersion = "14.0";
+#elif XBUILD_12
                                p.DefaultToolsVersion = "12.0";
 #else
                                p.DefaultToolsVersion = "4.0";
index dec250204d2cb204e1538ef110e1eedcd03ceaa0..5ea1279f034c34e896e4dc8417b970b756d9dafa 100644 (file)
@@ -1,6 +1,10 @@
-class XBuildConsts
+static class XBuildConsts
 {
-#if XBUILD_12
+#if XBUILD_14
+       public const string Version = "14.0";
+       public const string AssemblyVersion = "14.0.0.0";
+       public const string FileVersion     = "14.0.22310.1";
+#elif XBUILD_12
        public const string Version = "12.0";
        public const string AssemblyVersion = "12.0.0.0";
        public const string FileVersion     = "12.0.21005.1";
diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets b/mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets
new file mode 100644 (file)
index 0000000..11b40d6
--- /dev/null
@@ -0,0 +1,142 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension>
+               <Language>C#</Language>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <DebugSymbols Condition=" '$(DebugType)' == 'none' ">false</DebugSymbols>
+               <DebugType    Condition=" '$(DebugType)' == 'none' "></DebugType>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <CreateManifestResourceNamesDependsOn></CreateManifestResourceNamesDependsOn>
+               <CoreCompileDependsOn></CoreCompileDependsOn>
+
+               <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildToolsPath)\Microsoft.CSharp.targets</MSBuildAllProjects>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <NoCompilerStandardLib Condition="'$(NoCompilerStandardLib)'==''">true</NoCompilerStandardLib>
+       </PropertyGroup>
+
+       <ItemGroup>
+               <DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)' != ''"/>
+       </ItemGroup>
+
+       <Target Name="_AddCorlibReference" DependsOnTargets="GetReferenceAssemblyPaths">
+               <!--
+               HACK: We don't yet support property functions, so can't calculate FrameworkPathOverride
+               by calling ToolLocationHelper.GetPathToStandardLibraries. Instead, we search the framework
+               directories for mscorlib.dll by constructing a filtered item set, and assume it only has
+               one item.
+               -->
+               <ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' != 'True'">
+                       <_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
+                               <Private>false</Private>
+                       </_ExplicitReference>
+               </ItemGroup>
+               <PropertyGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
+                       <_ExplicitMSCorlibPath>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries ('$(TargetFrameworkIdentifier)', '$(TargetFrameworkVersion)', '$(TargetFrameworkProfile)'))\mscorlib.dll</_ExplicitMSCorlibPath>
+               </PropertyGroup>
+               <ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
+                       <_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
+                               <Private>false</Private>
+                       </_ExplicitReference>
+               </ItemGroup>
+               <ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
+                       <_ExplicitReference Include="$(_ExplicitMSCorlibPath)" Condition="Exists('$(_ExplicitMSCorlibPath)')">
+                               <Private>false</Private>
+                       </_ExplicitReference>
+               </ItemGroup>
+       </Target>
+
+       <Target
+               Name="CoreCompile"
+               Inputs="$(MSBuildAllProjects);@(Compile);@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile);
+                       $(KeyOriginatorFile);@(ReferencePath);$(Win32Icon);$(Win32Resource)"
+               Outputs="@(DocFileItem);@(IntermediateAssembly)"
+               DependsOnTargets="$(CoreCompileDependsOn)"
+       >
+               <Csc
+                       AdditionalLibPaths="$(AdditionalLibPaths)"
+                       AddModules="@(AddModules)"
+                       AllowUnsafeBlocks="$(AllowUnsafeBlocks)"
+                       BaseAddress="$(BaseAddress)"
+                       CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)"
+                       CodePage="$(CodePage)"
+                       DebugType="$(DebugType)"
+                       DefineConstants="$(DefineConstants)"
+                       DelaySign="$(DelaySign)"
+                       DisabledWarnings="$(NoWarn)"
+                       DocumentationFile="@(DocFileItem)"
+                       EmitDebugInformation="$(DebugSymbols)"
+                       ErrorReport="$(ErrorReport)"
+                       FileAlignment="$(FileAlignment)"
+                       GenerateFullPaths="$(GenerateFullPaths)"
+                       KeyContainer="$(KeyContainerName)"
+                       KeyFile="$(KeyOriginatorFile)"
+                       LangVersion="$(LangVersion)"
+                       MainEntryPoint="$(StartupObject)"
+                       ModuleAssemblyName="$(ModuleAssemblyName)"
+                       NoConfig="true"
+                       NoLogo="$(NoLogo)"
+                       NoStandardLib="$(NoCompilerStandardLib)"
+                       Optimize="$(Optimize)"
+                       OutputAssembly="@(IntermediateAssembly)"
+                       PdbFile="$(PdbFile)"
+                       Platform="$(PlatformTarget)"
+                       References="@(ReferencePath)"
+                       ResponseFiles="$(CompilerResponseFile)"
+                       Sources="@(Compile)"
+                       TargetType="$(OutputType)"
+                       TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
+                       UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
+                       Utf8Output="$(Utf8Output)"
+                       WarningLevel="$(WarningLevel)"
+                       WarningsAsErrors="$(WarningsAsErrors)"
+                       WarningsNotAsErrors="$(WarningsNotAsErrors)"
+                       Win32Icon="$(Win32Icon)"
+                       Win32Resource="$(Win32Resource)"
+                       Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
+                       ToolExe="$(CscToolExe)"
+                       ToolPath="$(CscToolPath)" />
+
+       </Target>
+
+       <Target Name="CreateManifestResourceNames">
+               <CreateCSharpManifestResourceName Condition="'@(ResxWithNoCulture)' != ''"
+                       ResourceFiles="@(ResxWithNoCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestResourceWithNoCultureName" />
+               </CreateCSharpManifestResourceName>
+
+               <CreateCSharpManifestResourceName Condition="'@(NonResxWithNoCulture)' != ''"
+                       ResourceFiles="@(NonResxWithNoCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestNonResxWithNoCulture" />
+               </CreateCSharpManifestResourceName>
+
+               <CreateCSharpManifestResourceName Condition="'@(ResxWithCulture)' != ''"
+                       ResourceFiles="@(ResxWithCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestResourceWithCultureName" />
+               </CreateCSharpManifestResourceName>
+
+               <CreateCSharpManifestResourceName Condition="'@(NonResxWithCulture)' != ''"
+                       ResourceFiles="@(NonResxWithCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestNonResxWithCulture" />
+               </CreateCSharpManifestResourceName>
+       </Target>
+
+       <Import Project="Microsoft.Common.targets" />
+
+       <PropertyGroup Condition="'$(NoCompilerStandardLib)'=='true' and '$(NoStdLib)'!='true'">
+               <ResolveAssemblyReferencesDependsOn>$(ResolveAssemblyReferencesDependsOn);_AddCorlibReference</ResolveAssemblyReferencesDependsOn>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <TargetFrameworkMonikerAssemblyAttributeText Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">
+// &lt;autogenerated /&gt;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(&quot;$(TargetFrameworkMoniker)&quot;, FrameworkDisplayName = &quot;$(TargetFrameworkMonikerDisplayName)&quot;)]
+               </TargetFrameworkMonikerAssemblyAttributeText>
+       </PropertyGroup>
+
+</Project>
diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets
new file mode 100644 (file)
index 0000000..d420c09
--- /dev/null
@@ -0,0 +1,922 @@
+<Project DefaultTargets="Build" InitialTargets="_ValidateEssentialProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <ImportByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCommonTargets>
+               <ImportByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportByWildcardAfterMicrosoftCommonTargets>
+       </PropertyGroup>
+
+       <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore\*"
+               Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore')"/>
+
+       <Import Project="$(MSBuildProjectFullPath).user" Condition="Exists('$(MSBuildProjectFullPath).user')"/>
+
+       <PropertyGroup>
+               <OutputType Condition="'$(OutputType)' == ''">Exe</OutputType>
+               <TargetExt Condition="'$(OutputType)' == 'Winexe'">.exe</TargetExt>
+               <TargetExt Condition="'$(OutputType)' == 'Exe'">.exe</TargetExt>
+               <TargetExt Condition="'$(OutputType)' == 'Library'">.dll</TargetExt>
+               <TargetExt Condition="'$(OutputType)' == 'Netmodule'">.netmodule</TargetExt>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <ProjectDir Condition="'$(ProjectDir)' == ''">$(MSBuildProjectDirectory)\</ProjectDir>
+       </PropertyGroup>
+
+       <!-- MSBuild defines this even outside of VS, and F# projects depend on it -->
+       <PropertyGroup>
+               <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <AssemblyName Condition="'$(AssemblyName)' == ''">$(MSBuildProjectName)</AssemblyName>
+               <OutputPath Condition="'$(OutputPath)' != '' and !HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath>
+               <OutputPath Condition=" '$(Platform)'=='' and '$(Configuration)'=='' and '$(OutputPath)'=='' ">bin\Debug\</OutputPath>
+               <WarningLevel Condition="'$(WarningLevel)' == ''" >2</WarningLevel>
+
+               <TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier>
+               <TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v4.0</TargetFrameworkVersion>
+
+               <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == '' and '$(TargetFrameworkProfile)' != ''">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion),Profile=$(TargetFrameworkProfile)</TargetFrameworkMoniker>
+               <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == ''">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)</TargetFrameworkMoniker>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <OutDir Condition="'$(OutDir)' == ''">$(OutputPath)</OutDir>
+               <OutDir Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')">$(OutDir)\</OutDir>
+
+               <_OriginalConfiguration>$(Configuration)</_OriginalConfiguration>
+               <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+               <ConfigurationName Condition="'$(ConfigurationName)' == ''">$(Configuration)</ConfigurationName>
+
+               <_OriginalPlatform>$(Platform)</_OriginalPlatform>
+               <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+               <PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
+
+               <AddAdditionalExplicitAssemblyReferences Condition="'$(AddAdditionalExplicitAssemblyReferences)' == ''">true</AddAdditionalExplicitAssemblyReferences>
+               <AdditionalExplicitAssemblyReferences Condition="'$(AddAdditionalExplicitAssemblyReferences)' == 'true' and '$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0'">System.Core;$(AdditionalExplicitAssemblyReferences)</AdditionalExplicitAssemblyReferences>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <SkipCopyUnchangedFiles Condition="'$(SkipCopyUnchangedFiles)' == ''">true</SkipCopyUnchangedFiles>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath>
+               <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' != '' and !HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
+               <CleanFile Condition="'$(CleanFile)'==''">$(MSBuildProjectFile).FilesWrittenAbsolute.txt</CleanFile>
+       </PropertyGroup>
+
+       <PropertyGroup Condition="'$(IntermediateOutputPath)' == ''">
+               <IntermediateOutputPath Condition=" '$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
+               <IntermediateOutputPath Condition=" '$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
+       </PropertyGroup>
+
+       <PropertyGroup>
+               <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' != '' and !HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
+       </PropertyGroup>
+
+       <ItemGroup>
+               <IntermediateAssembly Include="$(IntermediateOutputPath)$(AssemblyName)$(TargetExt)" />
+
+               <!-- creating this as a item to use FullPath on it, to build TargetPath -->
+               <_OutDirItem Include="$(OutDir)"/>
+       </ItemGroup>
+
+       <PropertyGroup>
+               <TargetName Condition="'$(TargetName)' == '' ">$(AssemblyName)</TargetName>
+               <TargetFileName Condition="'$(TargetFileName)' == '' ">$(TargetName)$(TargetExt)</TargetFileName>
+               <TargetDir Condition=" '$(TargetDir)' == '' ">@(_OutDirItem->'%(FullPath)')</TargetDir>
+               <TargetPath Condition=" '$(TargetPath)' == '' ">@(_OutDirItem->'%(FullPath)\$(TargetFileName)')</TargetPath>
+               <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildProjectFullPath);$(MSBuildToolsPath)\Microsoft.Common.targets</MSBuildAllProjects>
+               <KeyOriginatorFile Condition=" '$(SignAssembly)' == 'true' ">$(AssemblyOriginatorKeyFile)</KeyOriginatorFile>
+               <TargetingClr2Framework Condition="('$(TargetFrameworkIdentifier)' == '.NETFramework') and ('$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5')">true</TargetingClr2Framework>
+       </PropertyGroup>
+
+       <Target Name="_ValidateEssentialProperties">
+               <Error Condition=" '$(OutputPath)' == '' and '$(SkipInvalidConfigurations)' != 'true'"
+                       Text="'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: $(_OriginalConfiguration) Platform: $(_OriginalPlatform)."/>
+
+               <Warning Condition=" '$(OutputPath)' == '' and '$(SkipInvalidConfigurations)' == 'true'"
+                       Text="'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: $(_OriginalConfiguration) Platform: $(_OriginalPlatform)."/>
+
+               <!-- If OutDir is specified via the command line, then the earlier check
+                    to add a trailing slash won't have any affect, so error here. -->
+               <Error
+                       Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')"
+                       Text="OutDir property must end with a slash."/>
+       </Target>
+
+       <Target Name="PrepareForBuild">
+               <Message Importance="High" Text="Configuration: $(Configuration) Platform: $(Platform)"/>
+
+               <!-- Look for app.config, if $(AppConfig) is specified, then use that. Else look in
+                    @(None) and @(Content) -->
+               <CreateItem Include="$(AppConfig)" Condition="'$(AppConfig)' != ''"
+                       AdditionalMetadata="TargetPath=$(TargetFileName).config">
+                       <Output TaskParameter="Include" ItemName="AppConfigWithTargetPath" />
+               </CreateItem>
+
+               <FindAppConfigFile PrimaryList="@(None)" SecondaryList="@(Content)" TargetPath="$(TargetFileName).config"
+                       Condition="'$(AppConfig)' == ''">
+                       <Output TaskParameter="AppConfigFile" ItemName="AppConfigWithTargetPath"/>
+               </FindAppConfigFile>
+
+               <MakeDir
+                       Directories="$(OutDir);$(IntermediateOutputPath);@(DocFileItem->'%(RelativeDir)')"
+               />
+       </Target>
+
+       <PropertyGroup>
+               <GetFrameworkPathsDependsOn />
+       </PropertyGroup>
+       <Target Name="GetFrameworkPaths"
+               Condition="'$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == '.NETFramework'"
+               DependsOnTargets="$(GetFrameworkPathsDependsOn)">
+               <GetFrameworkPath>
+                       <Output Condition="'$(TargetFrameworkVersion)' == 'v4.5' and '$(TargetFrameworkVersion)' == 'v4.5.1'"
+                               TaskParameter="FrameworkVersion45Path"
+                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
+                       <Output Condition="'$(TargetFrameworkVersion)' == 'v4.0'"
+                               TaskParameter="FrameworkVersion40Path"
+                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
+                       <Output Condition="'$(TargetFrameworkVersion)' == 'v3.5'"
+                               TaskParameter="FrameworkVersion35Path"
+                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
+                       <Output Condition="'$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'"
+                               TaskParameter="FrameworkVersion30Path"
+                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
+                       <Output Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'"
+                               TaskParameter="FrameworkVersion20Path"
+                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
+               </GetFrameworkPath>
+               <CreateProperty Value="@(_CombinedTargetFrameworkDirectoriesItem)">
+                       <Output TaskParameter="Value" PropertyName="TargetFrameworkDirectory"/>
+               </CreateProperty>
+
+               <Warning Text="TargetFrameworkVersion '$(TargetFrameworkVersion)' not supported by this toolset (ToolsVersion: $(MSBuildToolsVersion))."
+                       Condition="'$(TargetFrameworkVersion)' != 'v4.5.1' and '$(TargetFrameworkVersion)' != 'v4.5' and '$(TargetFrameworkVersion)' != 'v4.0' and '$(TargetFrameworkVersion)' != 'v3.5' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v2.0'"/>
+       </Target>
+
+       <PropertyGroup>
+               <GetReferenceAssemblyPathsDependsOn />
+       </PropertyGroup>
+       <Target Name="GetReferenceAssemblyPaths" DependsOnTargets="$(GetReferenceAssemblyPathsDependsOn)">
+               <!-- in case of .NETFramework, $(TargetFrameworkDirectory) would have been set by
+               GetFrameworkPaths, if it hasn't been changed, then clear it, to avoid duplicates -->
+               <CreateProperty Value="" Condition="'@(_CombinedTargetFrameworkDirectoriesItem)' == '$(TargetFrameworkDirectory)'">
+                       <Output TaskParameter="Value" PropertyName="TargetFrameworkDirectory"/>
+               </CreateProperty>
+
+               <GetReferenceAssemblyPaths
+                       Condition="'$(TargetFrameworkMoniker)' != '' and '$(_TargetFrameworkDirectories)' == ''"
+                       TargetFrameworkMoniker="$(TargetFrameworkMoniker)"
+                       RootPath="$(TargetFrameworkRootPath)">
+
+                       <Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories"/>
+                       <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths"/>
+                       <Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName"/>
+               </GetReferenceAssemblyPaths>
+
+
+               <!-- Remove duplicates. -->
+               <ItemGroup>
+                       <_TargetFrameworkDirectories Include="$(_TargetFrameworkDirectories);$(TargetFrameworkDirectory)" KeepDuplicates="false" />
+               </ItemGroup>
+               <PropertyGroup>
+                       <TargetFrameworkDirectory>@(_TargetFrameworkDirectories)</TargetFrameworkDirectory>
+               </PropertyGroup>
+
+               <ItemGroup Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'">
+                       <DesignTimeFacadeDirectoryRoots Include="$(TargetFrameworkDirectory)" />
+                       <DesignTimeFacadeDirectories Include="%(DesignTimeFacadeDirectoryRoots.Identity)\Facades\" Condition="Exists('%(DesignTimeFacadeDirectoryRoots.Identity)\Facades\')" />
+                       <_DesignTimeFacadeAssemblies Include="%(DesignTimeFacadeDirectories.Identity)\*.dll"/>
+               </ItemGroup>
+
+               <PropertyGroup Condition="'@(DesignTimeFacadeDirectories)' != ''">
+                       <TargetFrameworkDirectory>$(TargetFrameworkDirectory);@(DesignTimeFacadeDirectories)</TargetFrameworkDirectory>
+               </PropertyGroup>
+
+       </Target>
+
+       <PropertyGroup>
+               <AllowedReferenceAssemblyFileExtensions Condition=" '$(AllowedReferenceAssemblyFileExtensions)' == '' ">
+                       .exe;
+                       .dll
+               </AllowedReferenceAssemblyFileExtensions>
+
+               <AllowedReferenceRelatedFileExtensions Condition=" '$(AllowedReferenceRelatedFileExtensions)' == '' ">
+                       .exe.mdb;
+                       .dll.mdb;
+                       .xml
+               </AllowedReferenceRelatedFileExtensions>
+
+               <AssemblySearchPaths Condition="'$(AssemblySearchPaths)' == ''">
+                       {CandidateAssemblyFiles};
+                       $(ReferencePath);
+                       @(AdditionalReferencePath);
+                       {HintPathFromItem};
+                       {TargetFrameworkDirectory};
+                       {PkgConfig};
+                       {GAC};
+                       {RawFileName};
+                       $(OutDir)
+               </AssemblySearchPaths>
+
+               <ResolveReferencesDependsOn>
+                       BeforeResolveReferences;
+                       ResolveProjectReferences;
+                       ResolveAssemblyReferences;
+                       AfterResolveReferences
+               </ResolveReferencesDependsOn>
+
+               <ResolveAssemblyReferencesDependsOn>
+                       GetFrameworkPaths;
+                       GetReferenceAssemblyPaths;
+                       PrepareForBuild
+               </ResolveAssemblyReferencesDependsOn>
+       </PropertyGroup>
+
+       <PropertyGroup Condition="'$(TargetFrameworkMoniker)' != ''">
+               <TargetFrameworkMonikerAssemblyAttributesPath Condition="'$(TargetFrameworkMonikerAssemblyAttributesPath)' == ''">$(IntermediateOutputPath)$(TargetFrameworkMoniker).AssemblyAttribute$(DefaultLanguageSourceExtension)</TargetFrameworkMonikerAssemblyAttributesPath>
+               <GenerateTargetFrameworkAttribute Condition="'$(GenerateTargetFrameworkAttribute)' == '' and '$(TargetFrameworkMoniker)'
+       != '' and '$(TargetingClr2Framework)' != 'true'">true</GenerateTargetFrameworkAttribute>
+       </PropertyGroup>
+
+       <ItemGroup Condition="'$(GenerateTargetFrameworkAttribute)' == 'true'">
+               <FileWrites Include="$(TargetFrameworkMonikerAssemblyAttributesPath)" />
+       </ItemGroup>
+
+       <Target Name="GenerateTargetFrameworkMonikerAttribute"
+               DependsOnTargets="PrepareForBuild;GetReferenceAssemblyPaths"
+               Inputs="$(MSBuildToolsPath)\Microsoft.Common.targets"
+               Outputs="$(TargetFrameworkMonikerAssemblyAttributesPath)"
+               Condition="'$(GenerateTargetFrameworkAttribute)' == 'true'">
+
+               <WriteLinesToFile
+                       File="$(TargetFrameworkMonikerAssemblyAttributesPath)"
+                       Lines="$(TargetFrameworkMonikerAssemblyAttributeText)"
+                       Overwrite="true"
+                       ContinueOnError="true"
+                       Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''"
+               />
+
+               <ItemGroup Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''">
+                       <Compile Include="$(TargetFrameworkMonikerAssemblyAttributesPath)"/>
+               </ItemGroup>
+       </Target>
+
+       <Target Name="ResolveReferences" DependsOnTargets="$(ResolveReferencesDependsOn)"/>
+
+       <Target Name="BeforeResolveReferences" />
+       <Target Name="AfterResolveReferences" />
+
+       <Target Name="ResolveAssemblyReferences" DependsOnTargets="$(ResolveAssemblyReferencesDependsOn)">
+               <CreateItem Include="@(Reference)" Exclude="$(AdditionalExplicitAssemblyReferences)">
+                       <Output TaskParameter="Include" ItemName="_Reference"/>
+               </CreateItem>
+
+               <CreateItem Include="$(AdditionalExplicitAssemblyReferences)">
+                       <Output TaskParameter="Include" ItemName="_Reference"/>
+               </CreateItem>
+
+               <ResolveAssemblyReference
+                       Assemblies="@(_Reference)"
+                       AssemblyFiles="@(ChildProjectReferences);@(_ExplicitReference)"
+                       SearchPaths="$(AssemblySearchPaths)"
+                       CandidateAssemblyFiles="@(Content);@(None)"
+                       TargetFrameworkDirectories="$(TargetFrameworkDirectory)"
+                       AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)"
+                       AllowedRelatedFileExtensions="$(AllowedReferenceRelatedFileExtensions)"
+                       FindDependencies="true"
+                       FindSatellites="true"
+                       FindRelatedFiles="true"
+                       TargetFrameworkMoniker="$(TargetFrameworkMoniker)"
+                       TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)"
+                       TargetFrameworkVersion="$(TargetFrameworkVersion)"
+               >
+                       <Output TaskParameter="ResolvedFiles" ItemName="ResolvedFiles"/>
+                       <Output TaskParameter="ResolvedFiles" ItemName="ReferencePath"/>
+                       <Output TaskParameter="ResolvedDependencyFiles" ItemName="ReferenceDependencyPaths"/>
+                       <Output TaskParameter="RelatedFiles" ItemName="_ReferenceRelatedPaths"/>
+                       <Output TaskParameter="SatelliteFiles" ItemName="ReferenceSatellitePaths"/>
+                       <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths"/>
+
+                       <!-- FIXME: backwards compatibility -->
+                       <Output TaskParameter="ResolvedDependencyFiles" ItemName="_ResolvedDependencyFiles"/>
+               </ResolveAssemblyReference>
+       </Target>
+
+       <Target
+               Name="AssignProjectConfiguration"
+               Condition="'@(ProjectReference)' != ''">
+
+               <!-- assign configs if building a solution file -->
+               <AssignProjectConfiguration
+                       ProjectReferences = "@(ProjectReference)"
+                       SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
+                       Condition="'$(BuildingSolutionFile)' == 'true'">
+
+                       <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
+               </AssignProjectConfiguration>
+
+               <!-- Else, just -->
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+                       <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
+               </CreateItem>
+
+       </Target>
+
+       <!-- Split projects into 2 lists
+               ProjectReferenceWithConfigurationExistent: Projects existent on disk
+               ProjectReferenceWithConfigurationNonExistent: Projects non-existent on disk -->
+
+       <Target Name="SplitProjectReferencesByExistent"
+               DependsOnTargets="AssignProjectConfiguration">
+
+               <CreateItem Include="@(ProjectReferenceWithConfiguration)" Condition="'@(ProjectReferenceWithConfiguration)' != ''">
+                       <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfigurationExistent"
+                               Condition="Exists ('%(ProjectReferenceWithConfiguration.Identity)')"/>
+
+                       <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfigurationNonExistent"
+                               Condition="!Exists ('%(ProjectReferenceWithConfiguration.Identity)')"/>
+               </CreateItem>
+       </Target>
+
+       <Target
+               Name="ResolveProjectReferences"
+               DependsOnTargets="SplitProjectReferencesByExistent"
+       >
+               <!-- If building from a .sln.proj or from IDE, then referenced projects have already
+                    been built, so just get the target paths -->
+               <MSBuild
+                       Projects="@(ProjectReferenceWithConfigurationExistent)"
+                       Targets="GetTargetPath"
+                       Properties="%(ProjectReferenceWithConfigurationExistent.SetConfiguration); %(ProjectReferenceWithConfigurationExistent.SetPlatform)"
+                       Condition="'@(ProjectReferenceWithConfigurationExistent)' != '' and ('$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true')">
+
+                       <Output TaskParameter="TargetOutputs" ItemName="ChildProjectReferences" Condition="'%(ProjectReferenceWithConfigurationExistent.ReferenceOutputAssembly)' != 'false'"/>
+               </MSBuild>
+
+               <!-- Building a project directly, build the referenced the projects also -->
+               <MSBuild
+                       Projects="@(ProjectReferenceWithConfigurationExistent)"
+                       Properties="%(ProjectReferenceWithConfigurationExistent.SetConfiguration); %(ProjectReferenceWithConfigurationExistent.SetPlatform)"
+                       Condition="'@(ProjectReferenceWithConfigurationExistent)' != '' and '$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true' ">
+
+                       <Output TaskParameter="TargetOutputs" ItemName="ChildProjectReferences" Condition="'%(ProjectReferenceWithConfigurationExistent.ReferenceOutputAssembly)' != 'false'"/>
+               </MSBuild>
+
+               <Warning Text="Referenced Project %(ProjectReferenceWithConfigurationNonExistent.Identity) not found, ignoring."
+                        Condition="'@(ProjectReferenceWithConfigurationNonExistent)' != ''"/>
+       </Target>
+
+       <Target Name = "CopyFilesMarkedCopyLocal">
+               <Copy
+                       SourceFiles="@(ReferenceCopyLocalPaths)"
+                       DestinationFiles="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter = "DestinationFiles" ItemName = "FileWritesShareable"/>
+               </Copy>
+       </Target>
+
+       <Target Name="_ComputeNonExistentFileProperty" Condition='false'>
+               <CreateProperty Value="__NonExistentSubDir__\__NonExistentFile__">
+                       <Output TaskParameter="Value" PropertyName="NonExistentFile"/>
+               </CreateProperty>
+       </Target>
+
+       <PropertyGroup>
+               <BuildDependsOn>
+                       BuildOnlySettings;
+                       BeforeBuild;
+                       CoreBuild;
+                       AfterBuild
+               </BuildDependsOn>
+       </PropertyGroup>
+
+       <Target Name="BuildOnlySettings"/>
+       <Target Name="BeforeBuild"/>
+       <Target Name="AfterBuild"/>
+
+       <Target Name="Build" DependsOnTargets="$(BuildDependsOn)" Outputs="$(TargetPath)"/>
+
+       <PropertyGroup>
+               <CoreBuildDependsOn>
+                       PrepareForBuild;
+                       GetFrameworkPaths;
+                       GetReferenceAssemblyPaths;
+                       PreBuildEvent;
+                       ResolveReferences;
+                       CopyFilesMarkedCopyLocal;
+                       PrepareResources;
+                       Compile;
+                       PrepareForRun;
+                       DeployOutputFiles;
+                       _RecordCleanFile;
+                       PostBuildEvent
+               </CoreBuildDependsOn>
+       </PropertyGroup>
+
+       <Target
+               Name="CoreBuild"
+               DependsOnTargets="$(CoreBuildDependsOn)"
+               Outputs="$(OutDir)$(AssemblyName)$(TargetExt)">
+
+               <OnError ExecuteTargets="_TimestampAfterCompile;PostBuildEvent"
+                       Condition=" '$(RunPostBuildEvent)' == 'Always' or '$(RunPostBuildEvent)' == 'OnOutputUpdated'"/>
+
+               <OnError ExecuteTargets="_RecordCleanFile" />
+       </Target>
+
+       <PropertyGroup>
+               <CompileDependsOn>
+                       ResolveReferences;
+                       GenerateTargetFrameworkMonikerAttribute;
+                       BeforeCompile;
+                       _TimestampBeforeCompile;
+                       CoreCompile;
+                       _TimestampAfterCompile;
+                       AfterCompile
+               </CompileDependsOn>
+       </PropertyGroup>
+
+       <Target Name="BeforeCompile" />
+       <Target Name="AfterCompile" />
+
+       <Target Name="Compile" DependsOnTargets="$(CompileDependsOn)"/>
+
+       <PropertyGroup>
+               <PrepareForRunDependsOn>
+                       DeployOutputFiles
+               </PrepareForRunDependsOn>
+       </PropertyGroup>
+       <Target Name="PrepareForRun" DependsOnTargets="$(PrepareForRunDependsOn)"/>
+
+       <PropertyGroup>
+               <PrepareResourcesDependsOn>
+                       AssignTargetPaths;
+                       SplitResourcesByCulture;
+                       CreateManifestResourceNames;
+                       CopyNonResxEmbeddedResources;
+                       GenerateResources;
+                       GenerateSatelliteAssemblies;
+                       CompileLicxFiles
+               </PrepareResourcesDependsOn>
+       </PropertyGroup>
+       <Target Name="PrepareResources" DependsOnTargets="$(PrepareResourcesDependsOn)" />
+
+       <Target Name="SplitResourcesByCulture" DependsOnTargets="AssignTargetPaths">
+               <!-- Extract .licx files into @(LicxFiles) -->
+               <CreateItem Include="@(EmbeddedResourceWithTargetPath)" Condition="'%(Extension)' == '.licx'">
+                       <Output TaskParameter="Include" ItemName="LicxFiles"/>
+               </CreateItem>
+
+               <!-- Split *remaining* resource files into various groups.. -->
+               <AssignCulture Files="@(EmbeddedResourceWithTargetPath)" Condition="'%(Extension)' != '.licx'">
+                       <Output TaskParameter="AssignedFilesWithNoCulture" ItemName="ResourcesWithNoCulture"/>
+                       <Output TaskParameter="AssignedFilesWithCulture" ItemName="ResourcesWithCulture"/>
+               </AssignCulture>
+
+               <CreateItem Include="@(ResourcesWithNoCulture)" Condition="'%(Extension)' == '.resx'">
+                       <Output TaskParameter="Include" ItemName="ResxWithNoCulture"/>
+               </CreateItem>
+
+               <CreateItem Include="@(ResourcesWithNoCulture)" Condition="'%(Extension)' != '.resx'">
+                       <Output TaskParameter="Include" ItemName="NonResxWithNoCulture"/>
+               </CreateItem>
+
+               <CreateItem Include="@(ResourcesWithCulture)" Condition="'%(Extension)' == '.resx'">
+                       <Output TaskParameter="Include" ItemName="ResxWithCulture"/>
+               </CreateItem>
+
+               <CreateItem Include="@(ResourcesWithCulture)" Condition="'%(Extension)' != '.resx'">
+                       <Output TaskParameter="Include" ItemName="NonResxWithCulture"/>
+               </CreateItem>
+       </Target>
+
+       <!-- Copy non-resx resources to their manifest resource names, this is what the compiler expects -->
+       <Target Name = "CopyNonResxEmbeddedResources"
+               Condition = "'@(NonResxWithCulture)' != '' or '@(NonResxWithNoCulture)' != '' or '@(ManifestNonResxWithCulture)' != '' or '@(ManifestNonResxWithNoCulture)' != ''">
+
+               <MakeDir Directories="$(IntermediateOutputPath)%(ManifestNonResxWithCulture.Culture)"/>
+               <Copy SourceFiles = "@(NonResxWithCulture)"
+                       DestinationFiles = "@(ManifestNonResxWithCulture->'$(IntermediateOutputPath)%(Identity)')"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter = "DestinationFiles" ItemName = "ManifestNonResxWithCultureOnDisk"/>
+                       <Output TaskParameter = "DestinationFiles" ItemName = "FileWrites"/>
+               </Copy>
+
+               <Copy SourceFiles = "@(NonResxWithNoCulture)"
+                       DestinationFiles = "@(ManifestNonResxWithNoCulture->'$(IntermediateOutputPath)%(Identity)')"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter = "DestinationFiles" ItemName = "ManifestNonResxWithNoCultureOnDisk"/>
+                       <Output TaskParameter = "DestinationFiles" ItemName = "FileWrites"/>
+               </Copy>
+       </Target>
+
+       <Target Name = "GenerateResources">
+               <GenerateResource
+                       Sources = "@(ResxWithNoCulture)"
+                       UseSourcePath = "true"
+                       OutputResources = "@(ManifestResourceWithNoCultureName->'$(IntermediateOutputPath)%(Identity).resources')"
+                       Condition = "'@(ResxWithNoCulture)' != '' ">
+
+                       <Output TaskParameter = "OutputResources" ItemName = "ManifestResourceWithNoCulture"/>
+                       <Output TaskParameter = "FilesWritten" ItemName = "FileWrites"/>
+               </GenerateResource>
+
+               <GenerateResource
+                       Sources = "@(ResxWithCulture)"
+                       UseSourcePath = "true"
+                       OutputResources = "@(ManifestResourceWithCultureName->'$(IntermediateOutputPath)%(Identity).resources')"
+                       Condition = "'@(ResxWithCulture)' != '' ">
+
+                       <Output TaskParameter = "OutputResources" ItemName = "ManifestResourceWithCulture"/>
+                       <Output TaskParameter = "FilesWritten" ItemName = "FileWrites"/>
+               </GenerateResource>
+       </Target>
+
+       <Target Name="GenerateSatelliteAssemblies"
+               Inputs="@(ManifestResourceWithCulture);@(ManifestNonResxWithCultureOnDisk)"
+               Outputs="$(IntermediateOutputPath)%(Culture)\$(AssemblyName).resources.dll" >
+               <!-- @(NonResxWithCulture) - rename files to ManifestNon.. and then use for AL -->
+               <MakeDir Directories = "$(IntermediateOutputPath)%(ManifestResourceWithCulture.Culture)" Condition = "'@(ManifestResourceWithCulture)' != ''" />
+               <MakeDir Directories = "$(IntermediateOutputPath)%(ManifestNonResxWithCultureOnDisk.Culture)" Condition = "'@(ManifestNonResxWithCultureOnDisk)' != ''" />
+
+               <AL
+                       Culture = "%(Culture)"
+                       DelaySign="$(DelaySign)"
+                       EmbedResources = "@(ManifestResourceWithCulture);@(ManifestNonResxWithCultureOnDisk)"
+                       KeyFile="$(KeyOriginatorFile)"
+                       ToolExe="$(AlToolExe)"
+                       ToolPath="$(AlToolPath)"
+                       OutputAssembly = "$(IntermediateOutputPath)%(Culture)\$(AssemblyName).resources.dll" >
+                       <Output TaskParameter="OutputAssembly" ItemName="FileWrites"/>
+               </AL>
+
+
+               <CreateItem
+                       Include = "$(IntermediateOutputPath)%(Culture)\$(AssemblyName).resources.dll"
+                       AdditionalMetadata = "Culture=%(Culture)"
+                       Condition = "'@(ManifestResourceWithCulture)' != '' or '@(ManifestNonResxWithCultureOnDisk)' != ''">
+                       <Output TaskParameter = "Include" ItemName = "IntermediateSatelliteAssemblies" />
+               </CreateItem>
+       </Target>
+
+       <PropertyGroup>
+               <CompileLicxFilesDependsOn></CompileLicxFilesDependsOn>
+       </PropertyGroup>
+
+       <Target Name = "CompileLicxFiles"
+               Condition = "'@(LicxFiles)' != ''"
+               DependsOnTargets = "$(CompileLicxFilesDependsOn)"
+               Outputs = "$(IntermediateOutputPath)$(TargetFileName).licenses">
+               <LC
+                       Sources = "@(LicxFiles)"
+                       LicenseTarget = "$(TargetFileName)"
+                       OutputDirectory = "$(IntermediateOutputPath)"
+                       OutputLicense = "$(IntermediateOutputPath)$(TargetFileName).licenses"
+                       ReferencedAssemblies = "@(ReferencePath);@(ReferenceDependencyPaths)"
+                       ToolPath = "$(LCToolPath)"
+                       ToolExe = "$(LCToolExe)">
+
+                       <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile"/>
+                       <Output TaskParameter="OutputLicense" ItemName="FileWrites"/>
+               </LC>
+       </Target>
+
+       <!-- Assign target paths to files that will need to be copied along with the project -->
+       <Target Name = "AssignTargetPaths">
+               <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)">
+                       <Output TaskParameter="AssignedFiles" ItemName="NoneWithTargetPath"/>
+               </AssignTargetPath>
+
+               <AssignTargetPath Files="@(Content)" RootFolder="$(MSBuildProjectDirectory)">
+                       <Output TaskParameter="AssignedFiles" ItemName="ContentWithTargetPath"/>
+               </AssignTargetPath>
+
+               <AssignTargetPath Files="@(EmbeddedResource)" RootFolder="$(MSBuildProjectDirectory)">
+                       <Output TaskParameter="AssignedFiles" ItemName="EmbeddedResourceWithTargetPath"/>
+               </AssignTargetPath>
+       </Target>
+
+       <Target Name="DeployOutputFiles"
+               DependsOnTargets="PrepareResources;CoreCompile;_CopyDeployFilesToOutputDirectory;_CopyAppConfigFile">
+
+               <Copy
+                       SourceFiles="$(IntermediateOutputPath)$(AssemblyName)$(TargetExt).mdb"
+                       Condition="'$(OutDir)' != '' and Exists('$(IntermediateOutputPath)$(AssemblyName)$(TargetExt).mdb')"
+                       DestinationFolder="$(OutDir)"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" >
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+
+               <Copy SourceFiles="@(IntermediateAssembly)" Condition="'$(OutDir)' != '' and Exists ('@(IntermediateAssembly)')" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+
+               <Copy
+                       SourceFiles = "@(IntermediateSatelliteAssemblies)"
+                       DestinationFiles = "@(IntermediateSatelliteAssemblies->'$(OutDir)\%(Culture)\$(AssemblyName).resources.dll')"
+                       Condition = "'@(IntermediateSatelliteAssemblies)' != ''"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+       </Target>
+
+       <Target Name="_CopyDeployFilesToOutputDirectory"
+               DependsOnTargets="GetCopyToOutputDirectoryItems;
+                       _CopyDeployFilesToOutputDirectoryAlways;
+                       _CopyDeployFilesToOutputDirectoryPreserveNewest"/>
+
+       <Target Name="_CopyDeployFilesToOutputDirectoryPreserveNewest"
+               Condition="'@(ItemsToCopyToOutputDirectoryPreserveNewest)' != ''"
+               Inputs="@(ItemsToCopyToOutputDirectoryPreserveNewest)"
+               Outputs="@(ItemsToCopyToOutputDirectoryPreserveNewest->'$(OutDir)%(TargetPath)')">
+
+               <Copy SourceFiles="@(ItemsToCopyToOutputDirectoryPreserveNewest)"
+                       DestinationFiles="@(ItemsToCopyToOutputDirectoryPreserveNewest->'$(OutDir)%(TargetPath)')"
+                       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)">
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+       </Target>
+
+       <!-- Copy if newer -->
+       <Target Name="_CopyDeployFilesToOutputDirectoryAlways"
+               Condition="'@(ItemsToCopyToOutputDirectoryAlways)' != ''">
+
+               <Copy SourceFiles="@(ItemsToCopyToOutputDirectoryAlways)"
+                       DestinationFiles="@(ItemsToCopyToOutputDirectoryAlways->'$(OutDir)%(TargetPath)')">
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+       </Target>
+
+
+       <Target Name="_CopyAppConfigFile" Condition="'@(AppConfigWithTargetPath)' != ''"
+               Inputs="@(AppConfigWithTargetPath)"
+               Outputs="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')">
+
+               <Copy SourceFiles="@(AppConfigWithTargetPath)"
+                       DestinationFiles="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')">
+                       <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
+               </Copy>
+       </Target>
+
+       <Target Name="GetTargetPath" Outputs="$(TargetPath)"/>
+
+       <Target Name="GetCopyToOutputDirectoryItems"
+               Outputs="@(AllItemsFullPathWithTargetPath)"
+               DependsOnTargets="AssignTargetPaths;SplitProjectReferencesByExistent">
+
+               <!-- FIXME: handle .vcproj
+                    FIXME: Private ProjectReferences are honored only in 3.5
+               -->
+               <MSBuild
+                       Projects="@(ProjectReferenceWithConfigurationExistent)"
+                       Targets="GetCopyToOutputDirectoryItems"
+                       Condition="'@(ProjectReferenceWithConfigurationExistent)' != '' and '%(ProjectReferenceWithConfigurationExistent.Private)' != 'false'">
+
+                       <Output TaskParameter="TargetOutputs" ItemName="AllChildProjectItemsWithTargetPath"/>
+               </MSBuild>
+
+               <!-- Process items from child project. The outputs need to have full path
+                    as they'll be used from other projects -->
+
+               <CreateItem
+                       Include="@(AllChildProjectItemsWithTargetPath->'%(FullPath)')"
+                       Condition="'%(AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)' == 'Always' or '%(AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)' == 'PreserveNewest'">
+
+                       <Output TaskParameter="Include" ItemName="AllItemsFullPathWithTargetPath"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryAlways"
+                               Condition="'%(AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryPreserveNewest"
+                               Condition="'%(AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+
+               </CreateItem>
+
+               <!-- Process _this_ project's items -->
+
+               <CreateItem
+                       Include="@(NoneWithTargetPath->'%(FullPath)')"
+                       Condition="'%(NoneWithTargetPath.CopyToOutputDirectory)' == 'Always' or '%(NoneWithTargetPath.CopyToOutputDirectory)' == 'PreserveNewest'">
+                       <Output TaskParameter="Include" ItemName="AllItemsFullPathWithTargetPath"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryAlways"
+                               Condition="'%(NoneWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryPreserveNewest"
+                               Condition="'%(NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+               </CreateItem>
+
+               <CreateItem
+                       Include="@(ContentWithTargetPath->'%(FullPath)')"
+                       Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)' == 'Always' or '%(ContentWithTargetPath.CopyToOutputDirectory)' == 'PreserveNewest'">
+                       <Output TaskParameter="Include" ItemName="AllItemsFullPathWithTargetPath"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryAlways"
+                               Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryPreserveNewest"
+                               Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+               </CreateItem>
+
+               <CreateItem
+                       Include="@(EmbeddedResourceWithTargetPath->'%(FullPath)')"
+                       Condition="'%(EmbeddedResourceWithTargetPath.CopyToOutputDirectory)' == 'Always' or '%(EmbeddedResourceWithTargetPath.CopyToOutputDirectory)' == 'PreserveNewest'">
+                       <Output TaskParameter="Include" ItemName="AllItemsFullPathWithTargetPath"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryAlways"
+                               Condition="'%(EmbeddedResourceWithTargetPath.CopyToOutputDirectory)'=='Always'"/>
+                       <Output TaskParameter="Include" ItemName="ItemsToCopyToOutputDirectoryPreserveNewest"
+                               Condition="'%(EmbeddedResourceWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'"/>
+               </CreateItem>
+
+       </Target>
+
+       <!-- Pre/Post BuildEvents -->
+       <PropertyGroup>
+               <PreBuildEventDependsOn />
+       </PropertyGroup>
+
+       <Target Name="PreBuildEvent"
+               Condition="'$(PreBuildEvent)' != ''"
+               DependsOnTargets="$(PreBuildEventDependsOn)">
+
+               <Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" />
+       </Target>
+
+       <!-- PostBuildEvent depends on $(RunPostBuildEvent)
+
+               Default: OnBuildSuccess
+               OnBuildSuccess: Run after a successful build
+               OnOutputUpdated: Run only if the output assembly got updates
+               Always: Run always
+       -->
+       <PropertyGroup>
+               <PostBuildEventDependsOn />
+       </PropertyGroup>
+
+       <!-- this gets invoked in two cases, from CoreBuildDependsOn, if the build completes
+            successfully, OR from OnError in CoreBuild, if the build failed and $(RunPostBuildEvent)
+            is 'Always' or 'OnOutputUpdated'. Invoke $(PostBuildEvent) if its either Empty (== OnBuildSuccess)
+            or OnBuildSuccess or Always OR (OnOutputUpdated and output assembly got updated) -->
+       <Target Name="PostBuildEvent"
+               Condition="'$(PostBuildEvent)' != '' and
+                       ('$(RunPostBuildEvent)' != 'OnOutputUpdated' or
+                         '$(_AssemblyModifiedTimeBeforeCompile)' != '$(_AssemblyModifiedTimeAfterCompile)')"
+               DependsOnTargets="$(PostBuildEventDependsOn)">
+
+               <Exec WorkingDirectory="$(OutDir)" Command="$(PostBuildEvent)" />
+       </Target>
+
+       <!-- Timestamp the output assemblies, required for PostBuildEvent -->
+       <Target Name="_TimestampBeforeCompile" Condition="'$(RunPostBuildEvent)' == 'OnOutputUpdated'">
+               <CreateItem Include="%(IntermediateAssembly.ModifiedTime)">
+                       <Output TaskParameter="Include" PropertyName="_AssemblyModifiedTimeBeforeCompile" />
+               </CreateItem>
+       </Target>
+       <Target Name="_TimestampAfterCompile" Condition="'$(RunPostBuildEvent)' == 'OnOutputUpdated'">
+               <CreateItem Include="%(IntermediateAssembly.ModifiedTime)">
+                       <Output TaskParameter="Include" PropertyName="_AssemblyModifiedTimeAfterCompile" />
+               </CreateItem>
+       </Target>
+
+       <!-- Rebuild -->
+       <PropertyGroup>
+               <RebuildDependsOn>
+                       BeforeRebuild;
+                       Clean;
+                       $(MSBuildProjectDefaultTargets);
+                       AfterRebuild;
+               </RebuildDependsOn>
+
+               <RebuildDependsOn Condition="'$(MSBuildProjectDefaultTargets)' == 'Rebuild'">
+                       BeforeRebuild;
+                       Clean;
+                       Build;
+                       AfterRebuild;
+               </RebuildDependsOn>
+       </PropertyGroup>
+
+       <Target Name="BeforeRebuild" />
+       <Target Name="AfterRebuild" />
+
+       <Target Name="Rebuild"
+               DependsOnTargets="$(RebuildDependsOn)"
+               Outputs="$(TargetPath)"/>
+
+       <!-- Clean -->
+       <Target Name="_RecordCleanFile"
+               DependsOnTargets="_GetCompileOutputsForClean">
+
+               <!-- add to list of previous writes for this platform/config -->
+
+               <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
+                       <Output TaskParameter="Lines" ItemName="PreviousFileWrites"/>
+               </ReadLinesFromFile>
+
+               <!-- CopyLocal files: In case all the projects build to common output
+                    directory, then other projects might depend on some of these
+                    CopyLocal files, so delete only the ones under *this* project
+                    directory -->
+               <FindUnderPath Path="$(MSBuildProjectDirectory)" Files="@(FileWritesShareable)">
+                       <Output TaskParameter="InPath" ItemName="FileWrites"/>
+               </FindUnderPath>
+
+               <RemoveDuplicates Inputs="@(PreviousFileWrites);@(FileWrites->'%(FullPath)')">
+                       <Output TaskParameter="Filtered" ItemName="CombinedFileWrites"/>
+               </RemoveDuplicates>
+
+               <WriteLinesToFile
+                       File="$(IntermediateOutputPath)$(CleanFile)"
+                       Lines="@(CombinedFileWrites)"
+                       Overwrite="true"/>
+       </Target>
+
+       <PropertyGroup>
+               <CleanDependsOn>
+                       BeforeClean;
+                       CleanReferencedProjects;
+                       CoreClean;
+                       AfterClean
+               </CleanDependsOn>
+       </PropertyGroup>
+
+       <Target Name="_GetCompileOutputsForClean">
+               <!-- assembly and debug file in the *intermediate output path* -->
+               <CreateItem Include="@(IntermediateAssembly)" Condition="Exists('@(IntermediateAssembly)')">
+                       <Output TaskParameter="Include" ItemName="FileWrites"/>
+               </CreateItem>
+
+               <CreateItem Include="$(IntermediateOutputPath)$(AssemblyName)$(TargetExt).mdb"
+                       Condition="Exists('$(IntermediateOutputPath)$(AssemblyName)$(TargetExt).mdb')">
+                       <Output TaskParameter="Include" ItemName="FileWrites"/>
+               </CreateItem>
+       </Target>
+
+       <!-- Get the list of files written, for clean -->
+       <Target Name="_GetCleanFileWrites"
+               DependsOnTargets="_GetCompileOutputsForClean">
+               <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
+                       <Output TaskParameter="Lines" ItemName="PreviousFileWrites"/>
+               </ReadLinesFromFile>
+       </Target>
+
+       <Target Name="CleanReferencedProjects"
+               DependsOnTargets="AssignProjectConfiguration">
+
+               <!-- If building from .sln.proj or from IDE, clean will get handled by them,
+                    else we are building a project directly, from the command line, so
+                    clean the referenced projects -->
+               <MSBuild Projects="@(ProjectReferenceWithConfigurationExistent)"
+                       Targets="Clean"
+                       Condition=" '$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true' and '@(ProjectReferenceWithConfigurationExistent)' != ''" />
+
+       </Target>
+
+       <Target Name="Clean" DependsOnTargets="$(CleanDependsOn)"/>
+
+       <!-- Override in project to run before/after clean tasks -->
+       <Target Name="BeforeClean" />
+       <Target Name="AfterClean" />
+
+       <Target Name="CoreClean" DependsOnTargets="_GetCleanFileWrites">
+               <Delete Files="@(PreviousFileWrites);@(FileWrites)" TreatErrorsAsWarnings="true"/>
+
+               <!-- all previous files written for this platform/config have been deleted,
+                    we can safely remove the file list now -->
+               <Delete Files="$(IntermediateOutputPath)$(CleanFile)" TreatErrorsAsWarnings="true" />
+       </Target>
+
+       <PropertyGroup>
+               <ImplicitlyExpandDesignTimeFacades>true</ImplicitlyExpandDesignTimeFacades>
+
+               <ResolveReferencesDependsOn>
+                       $(ResolveReferencesDependsOn);
+                       ImplicitlyExpandDesignTimeFacades
+               </ResolveReferencesDependsOn>
+
+               <ImplicitlyExpandDesignTimeFacadesDependsOn>
+                       $(ImplicitlyExpandDesignTimeFacadesDependsOn);
+                       GetReferenceAssemblyPaths
+               </ImplicitlyExpandDesignTimeFacadesDependsOn>
+       </PropertyGroup>
+
+       <Target Name="ImplicitlyExpandDesignTimeFacades" Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'" DependsOnTargets="$(ImplicitlyExpandDesignTimeFacadesDependsOn)">
+
+               <PropertyGroup>
+                       <_HasReferenceToSystemRuntime Condition="'%(_ResolvedDependencyFiles.Filename)' == 'System.Runtime'">true</_HasReferenceToSystemRuntime>
+               </PropertyGroup>
+
+               <ItemGroup Condition="'$(_HasReferenceToSystemRuntime)' == 'true'">
+                       <!-- If the user has manually referenced these assemblies, remove them so we don't end up with duplicates -->
+                       <ReferencePath Remove="@(_DesignTimeFacadeAssemblies)"/>
+                       <ReferencePath Include="%(_DesignTimeFacadeAssemblies.Identity)">
+                               <WinMDFile>false</WinMDFile>
+                               <CopyLocal>false</CopyLocal>
+                               <ResolvedFrom>ImplicitlyExpandDesignTimeFacades</ResolvedFrom>
+                       </ReferencePath>
+                       <_ResolveAssemblyReferenceResolvedFiles Include="@(ReferencePath)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandDesignTimeFacades'" />
+               </ItemGroup>
+
+               <Message Importance="Low" Text="Including @(ReferencePath)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandDesignTimeFacades'" />
+
+       </Target>
+
+       <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter\*"
+               Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter')"/>
+</Project>
diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.Common.tasks b/mcs/tools/xbuild/data/14.0/Microsoft.Common.tasks
new file mode 100644 (file)
index 0000000..b5cede2
--- /dev/null
@@ -0,0 +1,37 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
+       <UsingTask TaskName="Microsoft.Build.Tasks.AL"                  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.AssignTargetPath"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.AssignCulture"       AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.AssignProjectConfiguration"  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.CallTarget"          AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.CombinePath"         AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Copy"                AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.CreateCSharpManifestResourceName"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+       <UsingTask TaskName="Microsoft.Build.Tasks.CreateItem"          AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.CreateProperty"      AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Csc"                 AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Delete"              AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Error"               AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Exec"                AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.FindAppConfigFile"   AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.FindUnderPath"       AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.GenerateResource"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.GetAssemblyIdentity" AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.GetFrameworkPath"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.GetFrameworkSdkPath" AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.GetReferenceAssemblyPaths"   AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.LC"                  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.MakeDir"             AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Message"             AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.MSBuild"             AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.ReadLinesFromFile"   AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.RemoveDir"           AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.RemoveDuplicates"            AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.ResolveAssemblyReference"            AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.SignFile"            AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Touch"               AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Vbc"                 AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.Warning"             AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.WriteCodeFragment"   AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+       <UsingTask TaskName="Microsoft.Build.Tasks.WriteLinesToFile"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+</Project>
index 7cb5065f2d01270753b5d9e11d6b0a711035f790..e17dcb2b4538128157ad40dc3a9b8b4edd19ccbe 100644 (file)
@@ -2,6 +2,10 @@ ifneq (2.0, $(XBUILD_VERSION))
 NAME_SUFFIX = .v$(XBUILD_VERSION)
 endif
 
+ifeq (14.0, $(XBUILD_VERSION))
+NAME_SUFFIX = .Core
+endif
+
 XBUILD_FRAMEWORK := $(topdir)/class/lib/$(PROFILE)/Microsoft.Build.Framework.dll
 XBUILD_ENGINE := $(topdir)/class/lib/$(PROFILE)/Microsoft.Build.Engine.dll
 XBUILD_UTILITIES := $(topdir)/class/lib/$(PROFILE)/Microsoft.Build.Utilities$(NAME_SUFFIX).dll
index bddc59c6c21ea963cfddff6588093943335f4ca6..0538de0894ce06cc07b74e9d5cce06d554a53592 100644 (file)
@@ -25,22 +25,9 @@ copy-targets: copy-targets-$(XBUILD_VERSION)
 
 clean-targets: clean-targets-$(XBUILD_VERSION)
 
-XBUILD_2_0_PROFILE_DIR=$(topdir)/class/lib/net_2_0
-XBUILD_3_5_PROFILE_DIR=$(topdir)/class/lib/net_3_5
 XBUILD_4_0_PROFILE_DIR=$(topdir)/class/lib/net_4_5
 XBUILD_12_0_PROFILE_DIR=$(topdir)/class/lib/xbuild_12
-
-copy-targets-2.0:
-       cp $(XBUILD_DATA_DIR)/2.0/Microsoft.Common.targets $(XBUILD_2_0_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/2.0/Microsoft.Common.tasks $(XBUILD_2_0_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/2.0/Microsoft.CSharp.targets $(XBUILD_2_0_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/Microsoft.VisualBasic.targets $(XBUILD_2_0_PROFILE_DIR)
-
-copy-targets-3.5:
-       cp $(XBUILD_DATA_DIR)/3.5/Microsoft.Common.targets $(XBUILD_3_5_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/3.5/Microsoft.Common.tasks $(XBUILD_3_5_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/3.5/Microsoft.CSharp.targets $(XBUILD_3_5_PROFILE_DIR)
-       cp $(XBUILD_DATA_DIR)/Microsoft.VisualBasic.targets $(XBUILD_3_5_PROFILE_DIR)
+XBUILD_14_0_PROFILE_DIR=$(topdir)/class/lib/xbuild_14
 
 copy-targets-4.0:
        cp $(XBUILD_DATA_DIR)/4.0/Microsoft.Common.targets $(XBUILD_4_0_PROFILE_DIR)
@@ -54,17 +41,11 @@ copy-targets-12.0:
        cp $(XBUILD_DATA_DIR)/12.0/Microsoft.CSharp.targets $(XBUILD_12_0_PROFILE_DIR)
        cp $(XBUILD_DATA_DIR)/Microsoft.VisualBasic.targets $(XBUILD_12_0_PROFILE_DIR)
 
-clean-targets-2.0:
-       rm -f $(XBUILD_2_0_PROFILE_DIR)/Microsoft.Common.targets
-       rm -f $(XBUILD_2_0_PROFILE_DIR)/Microsoft.Common.tasks
-       rm -f $(XBUILD_2_0_PROFILE_DIR)/Microsoft.CSharp.targets
-       rm -f $(XBUILD_2_0_PROFILE_DIR)/Microsoft.VisualBasic.targets
-
-clean-targets-3.5:
-       rm -f $(XBUILD_3_5_PROFILE_DIR)/Microsoft.Common.targets
-       rm -f $(XBUILD_3_5_PROFILE_DIR)/Microsoft.Common.tasks
-       rm -f $(XBUILD_3_5_PROFILE_DIR)/Microsoft.CSharp.targets
-       rm -f $(XBUILD_3_5_PROFILE_DIR)/Microsoft.VisualBasic.targets
+copy-targets-14.0:
+       cp $(XBUILD_DATA_DIR)/14.0/Microsoft.Common.targets $(XBUILD_14_0_PROFILE_DIR)
+       cp $(XBUILD_DATA_DIR)/14.0/Microsoft.Common.tasks $(XBUILD_14_0_PROFILE_DIR)
+       cp $(XBUILD_DATA_DIR)/14.0/Microsoft.CSharp.targets $(XBUILD_14_0_PROFILE_DIR)
+       cp $(XBUILD_DATA_DIR)/Microsoft.VisualBasic.targets $(XBUILD_14_0_PROFILE_DIR)
 
 clean-targets-4.0:
        rm -f $(XBUILD_4_0_PROFILE_DIR)/Microsoft.Common.targets
@@ -78,19 +59,15 @@ clean-targets-12.0:
        rm -f $(XBUILD_12_0_PROFILE_DIR)/Microsoft.CSharp.targets
        rm -f $(XBUILD_12_0_PROFILE_DIR)/Microsoft.VisualBasic.targets
 
+clean-targets-14.0:
+       rm -f $(XBUILD_14_0_PROFILE_DIR)/Microsoft.Common.targets
+       rm -f $(XBUILD_14_0_PROFILE_DIR)/Microsoft.Common.tasks
+       rm -f $(XBUILD_14_0_PROFILE_DIR)/Microsoft.CSharp.targets
+       rm -f $(XBUILD_14_0_PROFILE_DIR)/Microsoft.VisualBasic.targets
+
 #allow tests to find older versions of libs and targets
-ifneq (2.0, $(XBUILD_VERSION))
-TEST_MONO_PATH := $(topdir)/class/lib/net_2_0
-copy-targets: copy-targets-2.0
-clean-targets: clean-targets-2.0
-ifneq (3.5, $(XBUILD_VERSION))
-TEST_MONO_PATH := $(topdir)/class/lib/net_3_5$(PLATFORM_PATH_SEPARATOR)$(TEST_MONO_PATH)
-copy-targets: copy-targets-3.5
-clean-targets: clean-targets-3.5
 ifneq (4.0, $(XBUILD_VERSION))
 TEST_MONO_PATH := $(topdir)/class/lib/net_4_5$(PLATFORM_PATH_SEPARATOR)$(TEST_MONO_PATH)
 copy-targets: copy-targets-4.0
 clean-targets: clean-targets-4.0
 endif
-endif
-endif
index a8889040a3c5f18e3dbbb8ea72b27dfed2d0728d..272d0c5990bf3957968d015c601ed503a0b394f7 100644 (file)
@@ -1,7 +1,2 @@
-
-AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
-
-noinst_LTLIBRARIES = libmonoarch-sparc.la
-
-libmonoarch_sparc_la_SOURCES = tramp.c sparc-codegen.h
+EXTRA_DIST = sparc-codegen.h
 
diff --git a/mono/arch/sparc/tramp.c b/mono/arch/sparc/tramp.c
deleted file mode 100644 (file)
index 19c0a78..0000000
+++ /dev/null
@@ -1,1080 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Create trampolines to invoke arbitrary functions.
- * 
- * Copyright (C) Ximian Inc.
- *
- * Authors: Paolo Molaro (lupus@ximian.com)
- *          Jeffrey Stedfast <fejj@ximian.com>
- *         Mark Crichton <crichton@gimp.org>
- *
- */
-
-#include "config.h"
-#include <stdlib.h>
-#include <string.h>
-#include "sparc-codegen.h"
-#include "mono/metadata/class.h"
-#include "mono/metadata/tabledefs.h"
-#include "mono/interpreter/interp.h"
-#include "mono/metadata/appdomain.h"
-#include "mono/metadata/debug-helpers.h"
-#include "mono/metadata/marshal.h"
-
-
-#define ARG_SIZE       sizeof (stackval)
-#define PROLOG_INS 1
-#define CALL_INS 3  /* Max 3.  1 for the jmpl and 1 for the nop and 1 for the possible unimp */
-#define EPILOG_INS 2
-#define FLOAT_REGS 32
-#define OUT_REGS 6
-#define LOCAL_REGS 8
-#define SLOT_SIZE sizeof(gpointer)
-#if SPARCV9
-#define MINIMAL_STACK_SIZE 22
-#define BIAS 2047
-#define FRAME_ALIGN 16
-#else
-#define MINIMAL_STACK_SIZE 23
-#define BIAS 0
-#define FRAME_ALIGN 8
-#endif
-
-#define NOT_IMPL(x) g_error("FIXME: %s", x);
-/*#define DEBUG(a) a*/
-#define DEBUG(a)
-
-/* Some assembly... */
-#ifdef __GNUC__
-#define flushi(addr)    __asm__ __volatile__ ("flush %0"::"r"(addr):"memory")
-#else
-static void flushi(void *addr)
-{
-    asm("flush %i0");
-}
-#endif
-
-static char*
-sig_to_name (MonoMethodSignature *sig, const char *prefix)
-{
-        int i;
-        char *result;
-        GString *res = g_string_new ("");
-       char *p;
-
-        if (prefix) {
-                g_string_append (res, prefix);
-                g_string_append_c (res, '_');
-        }
-
-        mono_type_get_desc (res, sig->ret, TRUE);
-
-        for (i = 0; i < sig->param_count; ++i) {
-                g_string_append_c (res, '_');
-                mono_type_get_desc (res, sig->params [i], TRUE);
-        }
-        result = res->str;
-       p = result;
-       /* remove chars Sun's asssembler doesn't like */
-       while (*p != '\0') {
-               if (*p == '.' || *p == '/')
-                       *p = '_';
-               else if (*p == '&')
-                       *p = '$';
-               else if (*p == '[' || *p == ']')
-                       *p = 'X';
-               p++;
-       }
-        g_string_free (res, FALSE);
-        return result;
-}
-
-static void
-sparc_disassemble_code (guint32 *code_buffer, guint32 *p, const char *id)
-{
-       guchar *cp;
-       FILE *ofd;
-
-       if (!(ofd = fopen ("/tmp/test.s", "w")))
-               g_assert_not_reached();
-
-       fprintf (ofd, "%s:\n", id);
-
-       for (cp = (guchar *)code_buffer; cp < (guchar *)p; cp++)
-               fprintf (ofd, ".byte %d\n", *cp);
-
-       fclose (ofd);
-
-#ifdef __GNUC__
-       system ("as /tmp/test.s -o /tmp/test.o;objdump -d /tmp/test.o");
-#else
-       /* this assumes we are using Sun tools as we aren't GCC */
-#if SPARCV9
-       system ("as -xarch=v9 /tmp/test.s -o /tmp/test.o;dis /tmp/test.o");
-#else
-       system ("as /tmp/test.s -o /tmp/test.o;dis /tmp/test.o");
-#endif
-#endif
-}
-
-
-static void
-add_general (guint *gr, guint *stack_size, guint *code_size, gboolean simple)
-{
-       if (simple) {
-               if (*gr >= OUT_REGS) {
-                       *stack_size += SLOT_SIZE;
-                       *code_size += 12;
-               } else {
-                       *code_size += 4;
-               }
-       } else {
-               if (*gr >= OUT_REGS - 1) {
-                       *stack_size += 8 + (*stack_size % 8); /* ???64 */
-                       *code_size += 16;
-               } else {
-                       *code_size += 16;
-               }
-               (*gr)++;
-       }
-       (*gr)++;
-}
-
-static void
-calculate_sizes (MonoMethodSignature *sig, guint *stack_size, guint *code_size,
-                gboolean string_ctor, gboolean *use_memcpy)
-{
-       guint i, fr, gr;
-       guint32 simpletype;
-       
-       fr = gr = 0;
-       *stack_size = MINIMAL_STACK_SIZE * SLOT_SIZE;
-       *code_size = (PROLOG_INS + CALL_INS + EPILOG_INS) * 4;
-       
-       /* function arguments */
-       if (sig->hasthis)
-               add_general (&gr, stack_size, code_size, TRUE);
-       
-       for (i = 0; i < sig->param_count; i++) {
-               if (sig->params[i]->byref) {
-                       add_general (&gr, stack_size, code_size, TRUE);
-                       continue;
-               }
-               simpletype = sig->params[i]->type;
-       enum_calc_size:
-               switch (simpletype) {
-               case MONO_TYPE_R4:
-#if SPARCV9
-                       (*code_size) += 4; /* for the fdtos */
-#else
-                       (*code_size) += 12;
-                       (*stack_size) += 4;
-#endif
-               case MONO_TYPE_BOOLEAN:
-               case MONO_TYPE_CHAR:
-               case MONO_TYPE_I1:
-               case MONO_TYPE_U1:
-               case MONO_TYPE_I2:
-               case MONO_TYPE_U2:
-               case MONO_TYPE_I4:
-               case MONO_TYPE_U4:
-               case MONO_TYPE_I:
-               case MONO_TYPE_U:
-               case MONO_TYPE_PTR:
-               case MONO_TYPE_CLASS:
-               case MONO_TYPE_OBJECT:
-               case MONO_TYPE_STRING:
-               case MONO_TYPE_SZARRAY:
-                       add_general (&gr, stack_size, code_size, TRUE);
-                       break;
-               case MONO_TYPE_VALUETYPE: {
-                       gint size;
-                       guint32 align;
-                       if (sig->params[i]->data.klass->enumtype) {
-                               simpletype = sig->params[i]->data.klass->enum_basetype->type;
-                               goto enum_calc_size;
-                       }
-                       size = mono_class_native_size (sig->params[i]->data.klass, &align);
-#if SPARCV9
-                       if (size != 4) {
-#else
-                       if (1) {
-#endif
-                               DEBUG(fprintf(stderr, "copy %d byte struct on stack\n", size));
-                               *use_memcpy = TRUE;
-                               *code_size += 8*4;
-
-                               *stack_size = (*stack_size + (align - 1)) & (~(align -1));
-                               *stack_size += (size + 3) & (~3);
-                               if (gr > OUT_REGS) {
-                                       *code_size += 4;
-                                       *stack_size += 4;
-                               }
-                       } else {
-                               add_general (&gr, stack_size, code_size, TRUE); 
-#if SPARCV9
-                               *code_size += 8;
-#else
-                               *code_size += 4;
-#endif
-                       }
-                       break;
-               }
-               case MONO_TYPE_I8:
-               case MONO_TYPE_R8:
-                       add_general (&gr, stack_size, code_size, FALSE);
-                       break;
-               default:
-                       g_error ("Can't trampoline 0x%x", sig->params[i]->type);
-               }
-       }
-       
-       /* function return value */
-       if (sig->ret->byref || string_ctor) {
-               *code_size += 8;
-       } else {
-               simpletype = sig->ret->type;
-       enum_retvalue:
-               switch (simpletype) {
-               case MONO_TYPE_BOOLEAN:
-               case MONO_TYPE_I1:
-               case MONO_TYPE_U1:
-               case MONO_TYPE_I2:
-               case MONO_TYPE_U2:
-               case MONO_TYPE_CHAR:
-               case MONO_TYPE_I4:
-               case MONO_TYPE_U4:
-               case MONO_TYPE_I:
-               case MONO_TYPE_U:
-               case MONO_TYPE_CLASS:
-               case MONO_TYPE_OBJECT:
-               case MONO_TYPE_PTR:
-               case MONO_TYPE_STRING:
-               case MONO_TYPE_R4:
-               case MONO_TYPE_R8:
-               case MONO_TYPE_SZARRAY:
-               case MONO_TYPE_ARRAY:
-                       *code_size += 8;
-                       break;
-               case MONO_TYPE_I8:
-                       *code_size += 12;
-                       break;
-               case MONO_TYPE_VALUETYPE: {
-                       gint size;
-                       if (sig->ret->data.klass->enumtype) {
-                               simpletype = sig->ret->data.klass->enum_basetype->type;
-                               goto enum_retvalue;
-                       }
-                       size = mono_class_native_size (sig->ret->data.klass, NULL);
-#if SPARCV9
-                       if (size <= 32)
-                               *code_size += 8 + (size + 7) / 2;
-                       else
-                               *code_size += 8;
-#else
-                       *code_size += 8;
-#endif
-                       break;
-               }
-               case MONO_TYPE_VOID:
-                       break;
-               default:
-                       g_error ("Can't handle as return value 0x%x", sig->ret->type);
-               }
-       }
-       
-       if (*use_memcpy) {
-               *stack_size += 8;
-               *code_size += 24;
-               if (sig->hasthis) {
-                       *stack_size += SLOT_SIZE;
-                       *code_size += 4;
-               }
-       }
-       
-       *stack_size = (*stack_size + (FRAME_ALIGN - 1)) & (~(FRAME_ALIGN -1));
-}      
-       
-static inline guint32 *
-emit_epilog (guint32 *p, MonoMethodSignature *sig, guint stack_size)
-{
-       int ret_offset = 8;
-
-       /*
-        * Standard epilog.
-        * 8 may be 12 when returning structures (to skip unimp opcode).
-        */
-#if !SPARCV9
-       if (sig != NULL && !sig->ret->byref && sig->ret->type == MONO_TYPE_VALUETYPE && !sig->ret->data.klass->enumtype)
-               ret_offset = 12;
-#endif
-       sparc_jmpl_imm (p, sparc_i7, ret_offset, sparc_zero);
-       sparc_restore (p, sparc_zero, sparc_zero, sparc_zero);
-       
-       return p;
-}
-
-static inline guint32 *
-emit_prolog (guint32 *p, MonoMethodSignature *sig, guint stack_size)
-{
-       /* yes kids, it is this simple! */
-       sparc_save_imm (p, sparc_sp, -stack_size, sparc_sp);
-       return p;
-}
-
-#if SPARCV9
-#define sparc_st_ptr(a,b,c,d) sparc_stx(a,b,c,d)
-#define sparc_st_imm_ptr(a,b,c,d) sparc_stx_imm(a,b,c,d)
-#define sparc_ld_ptr(a,b,c,d) sparc_ldx(a,b,c,d)
-#define sparc_ld_imm_ptr(a,b,c,d) sparc_ldx_imm(a,b,c,d)
-#else
-#define sparc_st_ptr(a,b,c,d) sparc_st(a,b,c,d)
-#define sparc_st_imm_ptr(a,b,c,d) sparc_st_imm(a,b,c,d)
-#define sparc_ld_ptr(a,b,c,d) sparc_ld(a,b,c,d)
-#define sparc_ld_imm_ptr(a,b,c,d) sparc_ld_imm(a,b,c,d)
-#endif
-
-/* synonyms for when values are really widened scalar values */
-#define sparc_st_imm_word sparc_st_imm_ptr
-
-#define ARG_BASE sparc_i3 /* pointer to args in i3 */
-#define SAVE_PTR_IN_GENERIC_REGISTER \
-              if (gr < OUT_REGS) { \
-                      sparc_ld_imm_ptr (p, ARG_BASE, i*ARG_SIZE, sparc_o0 + gr); \
-                      gr++; \
-              } else { \
-                     sparc_ld_imm_ptr (p, ARG_BASE, i*ARG_SIZE, sparc_l0); \
-                     sparc_st_imm_ptr (p, sparc_l0, sparc_sp, stack_par_pos); \
-                     stack_par_pos += SLOT_SIZE; \
-              }
-
-#if SPARCV9
-/* This is a half hearted attempt at coping with structs by value - the 
-   actual convention is complicated when floats & doubles are involved as
-   you end up with fields in different registers on/off the stack.
-   It will take more time to get right... */
-static guint32 *
-v9_struct_arg(guint32 *p, int arg_index, MonoClass *klass, int size, guint *p_gr)
-{
-       MonoMarshalType *info = mono_marshal_load_type_info (klass);
-       int off = 0;
-       int index = 0;
-        guint gr = *p_gr;
-       sparc_ld_imm_ptr (p, ARG_BASE, arg_index*ARG_SIZE, sparc_l0);
-       if (size > 8) {
-               if (info->fields [index].field->type->type == MONO_TYPE_R8) {
-                       sparc_lddf_imm (p, sparc_l0, 0, sparc_f0 + 2 * gr);
-                       index++;
-               }
-               else {
-                       sparc_ldx_imm (p, sparc_l0, 0, sparc_o0 + gr);
-                       index++; /* FIXME could be multiple fields in one register */
-               }
-               gr++;
-               size -= 8;
-               off = 8;
-       }
-       if (size > 0) {
-               if (info->fields [index].field->type->type == MONO_TYPE_R8) {
-                       sparc_lddf_imm (p, sparc_l0, off, sparc_f0 + 2 * gr);
-                       index++;
-               }
-               else {
-                       /* will load extra garbage off end of short structs ... */
-                       sparc_ldx_imm (p, sparc_l0, off, sparc_o0 + gr);
-               }
-               gr++;
-       } 
-        *p_gr = gr;
-       return p;
-}
-#endif
-
-static inline guint32*
-emit_save_parameters (guint32 *p, MonoMethodSignature *sig, guint stack_size,
-                     gboolean use_memcpy)
-{
-       guint i, fr, gr, stack_par_pos, struct_pos, cur_struct_pos;
-       guint32 simpletype;
-
-       fr = gr = 0;
-       stack_par_pos = MINIMAL_STACK_SIZE * SLOT_SIZE + BIAS;
-
-       if (sig->hasthis) {
-               if (use_memcpy) {
-                       /* we don't need to save a thing. */
-               } else 
-                       sparc_mov_reg_reg (p, sparc_i2, sparc_o0);
-               gr ++;
-       }
-
-       if (use_memcpy) {
-               cur_struct_pos = struct_pos = stack_par_pos;
-               for (i = 0; i < sig->param_count; i++) {
-                       if (sig->params[i]->byref)
-                               continue;
-                       if (sig->params[i]->type == MONO_TYPE_VALUETYPE &&
-                           !sig->params[i]->data.klass->enumtype) {
-                               gint size;
-                               guint32 align;
-                               
-                               size = mono_class_native_size (sig->params[i]->data.klass, &align);
-#if SPARCV9
-                               if (size != 4) {
-#else
-                               if (1) {
-#endif
-                                       /* Add alignment */
-                                       stack_par_pos = (stack_par_pos + (align - 1)) & (~(align - 1));
-                                       /* need to call memcpy here */
-                                       sparc_add_imm (p, 0, sparc_sp, stack_par_pos, sparc_o0);
-                                       sparc_ld_imm_ptr (p, sparc_i3, i*16, sparc_o1);
-                                       sparc_set (p, (guint32)size, sparc_o2);
-                                       sparc_set_ptr (p, (void *)memmove, sparc_l0);
-                                       sparc_jmpl_imm (p, sparc_l0, 0, sparc_callsite);
-                                       sparc_nop (p);
-                                       stack_par_pos += (size + (SLOT_SIZE - 1)) & (~(SLOT_SIZE - 1));
-                               }
-                       }
-               }
-       }
-
-       if (sig->ret->type == MONO_TYPE_VALUETYPE && !sig->ret->byref) {
-               MonoClass *klass = sig->ret->data.klass;
-               if (!klass->enumtype) {
-                       gint size = mono_class_native_size (klass, NULL);
-
-                       DEBUG(fprintf(stderr, "retval value type size: %d\n", size));
-#if SPARCV9
-                       if (size > 32) {
-#else
-                       {
-#endif
-                               /* pass on buffer in interp.c to called function */
-                               sparc_ld_imm_ptr (p, sparc_i1, 0, sparc_l0);
-                               sparc_st_imm_ptr (p, sparc_l0, sparc_sp, 64);
-                       }
-               }
-       }
-
-       DEBUG(fprintf(stderr, "%s\n", sig_to_name(sig, FALSE)));
-
-       for (i = 0; i < sig->param_count; i++) {
-               if (sig->params[i]->byref) {
-                       SAVE_PTR_IN_GENERIC_REGISTER;
-                       continue;
-               }
-               simpletype = sig->params[i]->type;
-       enum_calc_size:
-               switch (simpletype) {
-               case MONO_TYPE_BOOLEAN:
-                case MONO_TYPE_I1:
-                case MONO_TYPE_U1:
-                case MONO_TYPE_I2:
-                case MONO_TYPE_U2:
-                case MONO_TYPE_CHAR:
-                case MONO_TYPE_I4:
-                case MONO_TYPE_U4:
-                        if (gr < OUT_REGS) {
-                                sparc_ld_imm (p, ARG_BASE, i*ARG_SIZE, sparc_o0 + gr);
-                                gr++;
-                        } else {
-                                sparc_ld_imm (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                                sparc_st_imm_word (p, sparc_l0, sparc_sp, stack_par_pos);
-                                stack_par_pos += SLOT_SIZE;
-                        }
-                        break;
-
-               case MONO_TYPE_R4:
-#if SPARCV9
-                       sparc_lddf_imm (p, ARG_BASE, i*ARG_SIZE, sparc_f30); /* fix using this fixed reg */
-                       sparc_fdtos(p, sparc_f30, sparc_f0 + 2 * gr + 1);
-                       gr++;
-                       break;
-#else
-                       /* Convert from double to single */
-                       sparc_lddf_imm (p, ARG_BASE, i*ARG_SIZE, sparc_f0);
-                       sparc_fdtos (p, sparc_f0, sparc_f0);
-
-                       /*
-                        * FIXME: Is there an easier way to do an
-                        * freg->ireg move ?
-                        */
-                       sparc_stf_imm (p, sparc_f0, sparc_sp, stack_par_pos);
-
-                       if (gr < OUT_REGS) {
-                               sparc_ld_imm (p, sparc_sp, stack_par_pos, sparc_o0 + gr);
-                               gr++;
-                       } else {
-                               sparc_ldf_imm (p, sparc_sp, stack_par_pos, sparc_f0);
-                               sparc_stf_imm (p, sparc_f0, sparc_sp, stack_par_pos);
-                               stack_par_pos += SLOT_SIZE;
-                       }
-                       break;
-#endif
-
-                case MONO_TYPE_I:
-                case MONO_TYPE_U:
-                case MONO_TYPE_PTR:
-                case MONO_TYPE_CLASS:
-                case MONO_TYPE_OBJECT:
-                case MONO_TYPE_STRING:
-                case MONO_TYPE_SZARRAY:
-                       SAVE_PTR_IN_GENERIC_REGISTER;
-                       break;
-               case MONO_TYPE_VALUETYPE: {
-                       gint size;
-                       guint32 align;
-                       MonoClass *klass = sig->params[i]->data.klass;
-                       if (klass->enumtype) {
-                               simpletype = klass->enum_basetype->type;
-                               goto enum_calc_size;
-                       }
-                       size = mono_class_native_size (klass, &align);
-#if SPARCV9
-                       if (size <= 16) {
-                               if (gr < OUT_REGS) {
-                                       p = v9_struct_arg(p, i, klass, size, &gr);
-                               } else {
-                                       sparc_ld_imm_ptr (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                                       sparc_ld_imm (p, sparc_l0, 0, sparc_l0);
-                                       sparc_st_imm_word (p, sparc_l0, sparc_sp, stack_par_pos);
-                                       stack_par_pos += SLOT_SIZE;
-                               }
-                               break;
-                       }
-#else
-                       /* 
-                        * FIXME: The 32bit ABI docs do not mention that small
-                        * structures are passed in registers.
-                        */
-
-                       /*
-                       if (size == 4) {
-                               if (gr < OUT_REGS) {
-                                       sparc_ld_imm_ptr (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                                       sparc_ld_imm (p, sparc_l0, 0, sparc_o0 + gr);
-                                       gr++;
-                               } else {
-                                       sparc_ld_imm_ptr (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                                       sparc_ld_imm (p, sparc_l0, 0, sparc_l0);
-                                       sparc_st_imm_word (p, sparc_l0, sparc_sp, stack_par_pos);
-                                       stack_par_pos += SLOT_SIZE;
-                               }
-                               break;
-                       }
-                       */
-#endif
-
-                       cur_struct_pos = (cur_struct_pos + (align - 1)) & (~(align - 1));
-                       if (gr < OUT_REGS) {
-                               sparc_add_imm (p, 0, sparc_sp,
-                                              cur_struct_pos, sparc_o0 + gr);
-                               gr ++;
-                       } else {
-                               sparc_ld_imm_ptr (p, sparc_sp,
-                                                 cur_struct_pos,
-                                                 sparc_l1);
-                               sparc_st_imm_ptr (p, sparc_l1,
-                                                 sparc_sp,
-                                                 stack_par_pos);
-                       }
-                       cur_struct_pos += (size + (SLOT_SIZE - 1)) & (~(SLOT_SIZE - 1));
-                       break;
-               }
-
-#if SPARCV9
-               case MONO_TYPE_I8:
-                       if (gr < OUT_REGS) {
-                               sparc_ldx_imm (p, ARG_BASE, i*ARG_SIZE, sparc_o0 + gr);
-                               gr++;
-                       } else {
-                               sparc_ldx_imm (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                               sparc_stx_imm (p, sparc_l0, sparc_sp, stack_par_pos);
-                               stack_par_pos += SLOT_SIZE;
-                       }
-                       break;
-               case MONO_TYPE_R8:
-                       sparc_lddf_imm (p, ARG_BASE, i*ARG_SIZE, sparc_f0 + 2 * i);
-                       break;
-#else
-               case MONO_TYPE_I8:
-               case MONO_TYPE_R8:
-                       if (gr < (OUT_REGS - 1)) {
-                               sparc_ld_imm (p, ARG_BASE, i*ARG_SIZE, sparc_o0 + gr);
-                               gr ++;
-                               
-                               sparc_ld_imm (p, ARG_BASE, 
-                                             (i*ARG_SIZE) + 4,
-                                             sparc_o0 + gr);
-                               gr ++;
-                       } else if (gr == (OUT_REGS - 1)) {
-                               /* Split register/stack */
-                               sparc_ld_imm (p, ARG_BASE, i*ARG_SIZE, sparc_o0 + gr);
-                               gr ++;
-
-                               sparc_ld_imm (p, ARG_BASE, (i*ARG_SIZE) + 4, sparc_l0);
-                               sparc_st_imm (p, sparc_l0, sparc_sp, stack_par_pos);
-                               stack_par_pos += SLOT_SIZE;
-                       } else {
-                               sparc_ld_imm (p, ARG_BASE, i*ARG_SIZE, sparc_l0);
-                               sparc_st_imm (p, sparc_l0, sparc_sp, stack_par_pos);
-                               stack_par_pos += SLOT_SIZE;
-
-                               sparc_ld_imm (p, ARG_BASE, (i*ARG_SIZE) + 4, sparc_l0);
-                               sparc_st_imm (p, sparc_l0, sparc_sp, stack_par_pos);
-                               stack_par_pos += SLOT_SIZE;
-                       }
-                       break;
-#endif
-               default:
-                       g_error ("Can't trampoline 0x%x", sig->params[i]->type);
-               }
-       }
-
-       g_assert ((stack_par_pos - BIAS) <= stack_size);
-
-       return p;
-}
-
-static inline guint32 *
-alloc_code_memory (guint code_size)
-{
-       guint32 *p;
-
-       p = g_malloc(code_size);
-
-       return p;
-}
-
-static inline guint32 *
-emit_call_and_store_retval (guint32 *p, MonoMethodSignature *sig,
-                           guint stack_size, gboolean string_ctor)
-{
-       guint32 simpletype;
-
-       /* call "callme" */
-       sparc_jmpl_imm (p, sparc_i0, 0, sparc_callsite);
-       sparc_nop (p);
-#if !SPARCV9
-       if (sig->ret->type == MONO_TYPE_VALUETYPE && !sig->ret->data.klass->enumtype) {
-               int size = mono_class_native_size (sig->ret->data.klass, NULL);
-               sparc_unimp (p, size & 4095);
-       }
-#endif
-
-       /* get return value */
-       if (sig->ret->byref || string_ctor) {
-               sparc_st_ptr (p, sparc_o0, sparc_i1, 0);
-       } else {
-               simpletype = sig->ret->type;
-       enum_retval:
-               switch (simpletype) {
-               case MONO_TYPE_BOOLEAN:
-                case MONO_TYPE_I1:
-                case MONO_TYPE_U1:
-                        sparc_stb (p, sparc_o0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_CHAR:
-                case MONO_TYPE_I2:
-                case MONO_TYPE_U2:
-                        sparc_sth (p, sparc_o0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_I4:
-                case MONO_TYPE_U4:
-                        sparc_st (p, sparc_o0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_I:
-                case MONO_TYPE_U:
-                case MONO_TYPE_CLASS:
-                case MONO_TYPE_OBJECT:
-                case MONO_TYPE_SZARRAY:
-                case MONO_TYPE_ARRAY:
-                case MONO_TYPE_STRING:
-                case MONO_TYPE_PTR:
-                        sparc_st_ptr (p, sparc_o0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_R4:
-                        sparc_stf (p, sparc_f0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_R8:
-                        sparc_stdf (p, sparc_f0, sparc_i1, 0);
-                        break;
-                case MONO_TYPE_I8:
-#if SPARCV9
-                        sparc_stx (p, sparc_o0, sparc_i1, 0);
-#else
-                        sparc_std (p, sparc_o0, sparc_i1, 0);
-#endif
-                        break;
-                case MONO_TYPE_VALUETYPE: {
-                       gint size;
-                        if (sig->ret->data.klass->enumtype) {
-                                simpletype = sig->ret->data.klass->enum_basetype->type;
-                                goto enum_retval;
-                        }
-#if SPARCV9
-                       size = mono_class_native_size (sig->ret->data.klass, NULL);
-                       if (size <= 32) {
-                               int n_regs = size / 8;
-                               int j;
-                               sparc_ldx_imm (p, sparc_i1, 0, sparc_i1);
-                               /* wrong if there are floating values in the struct... */
-                               for (j = 0; j < n_regs; j++) {
-                                       sparc_stx_imm (p, sparc_o0 + j, sparc_i1, j * 8);
-                               }
-                               size -= n_regs * 8;
-                               if (size > 0) {
-                                       int last_reg = sparc_o0 + n_regs;
-                                       /* get value right aligned in register */
-                                       sparc_srlx_imm(p, last_reg, 64 - 8 * size, last_reg);
-                                       if ((size & 1) != 0) {
-                                               sparc_stb_imm (p, last_reg, sparc_i1, n_regs * 8 + size - 1);
-                                               size--;
-                                               if (size > 0)
-                                                       sparc_srlx_imm(p, last_reg, 8, last_reg);
-                                       }
-                                       if ((size & 2) != 0) {
-                                               sparc_sth_imm (p, last_reg, sparc_i1, n_regs * 8 + size - 2);
-                                               size -= 2;
-                                               if (size > 0)
-                                                       sparc_srlx_imm(p, last_reg, 16, last_reg);
-                                       }
-                                       if ((size & 4) != 0)
-                                               sparc_st_imm (p, last_reg, sparc_i1, n_regs * 8);
-                               }
-                       }
-#endif
-               }
-                case MONO_TYPE_VOID:
-                        break;
-                default:
-                        g_error ("Can't handle as return value 0x%x", sig->ret->type);
-               }
-       }
-       return p;
-}
-
-MonoPIFunc
-mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
-{
-       guint32 *p, *code_buffer;
-       guint stack_size, code_size, i;
-       gboolean use_memcpy = FALSE;
-       static GHashTable *cache = NULL;
-       MonoPIFunc res;
-
-       if (!cache)
-               cache = g_hash_table_new ((GHashFunc)mono_signature_hash,
-                                (GCompareFunc)mono_metadata_signature_equal);
-       
-       if ((res = (MonoPIFunc)g_hash_table_lookup(cache, sig)))
-               return res;
-
-       calculate_sizes (sig, &stack_size, &code_size, 
-                        string_ctor, &use_memcpy);
-
-       p = code_buffer = alloc_code_memory (code_size);
-       p = emit_prolog (p, sig, stack_size);
-       p = emit_save_parameters (p, sig, stack_size, use_memcpy);
-       p = emit_call_and_store_retval (p, sig, stack_size, string_ctor);
-       /* we don't return structs here so pass in NULL as signature */
-       p = emit_epilog (p, NULL, stack_size);
-
-       g_assert(p <= code_buffer + (code_size / 4));
-       
-       DEBUG(sparc_disassemble_code (code_buffer, p, sig_to_name(sig, NULL)));
-
-       /* So here's the deal...
-        * UltraSPARC will flush a whole cache line at a time
-        * BUT, older SPARCs won't.
-        * So, be compatable and flush dwords at a time...
-        */
-
-       for (i = 0; i < ((p - code_buffer)/2); i++)
-               flushi((code_buffer + (i*8)));
-
-       g_hash_table_insert(cache, sig, code_buffer);
-
-       return (MonoPIFunc)code_buffer;
-}
-
-#define MINV_POS (MINIMAL_STACK_SIZE * SLOT_SIZE + BIAS)
-
-void *
-mono_arch_create_method_pointer (MonoMethod *method)
-{
-       MonoMethodSignature *sig;
-       MonoJitInfo *ji;
-       guint stack_size, code_size, stackval_arg_pos, local_pos;
-       guint i, local_start, reg_param = 0, stack_param, cpos, vt_cur;
-       guint32 align = 0;
-       guint32 *p, *code_buffer;
-       gint *vtbuf;
-       gint32 simpletype;
-
-       code_size = 1024; /* these should be calculated... */
-       stack_size = 1024;
-       stack_param = 0;
-
-       sig = method->signature;
-
-       p = code_buffer = g_malloc (code_size);
-
-       DEBUG(fprintf(stderr, "Delegate [start emiting] %s\n", method->name));
-       DEBUG(fprintf(stderr, "%s\n", sig_to_name(sig, FALSE)));
-
-       p = emit_prolog (p, sig, stack_size);
-
-       /* fill MonoInvocation */
-       sparc_st_imm_ptr (p, sparc_g0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, ex)));
-       sparc_st_imm_ptr (p, sparc_g0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, ex_handler)));
-       sparc_st_imm_ptr (p, sparc_g0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, parent)));
-
-       sparc_set_ptr (p, (void *)method, sparc_l0);
-       sparc_st_imm_ptr (p, sparc_l0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, method)));
-
-       stackval_arg_pos = MINV_POS + sizeof (MonoInvocation);
-       local_start = local_pos = stackval_arg_pos + (sig->param_count + 1) * sizeof (stackval);
-
-       if (sig->hasthis) {
-               sparc_st_imm_ptr (p, sparc_i0, sparc_sp,
-                         (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, obj)));
-               reg_param = 1;
-       } 
-
-       if (sig->param_count) {
-               gint save_count = MIN (OUT_REGS, sig->param_count + sig->hasthis);
-               for (i = reg_param; i < save_count; i++) {
-                       sparc_st_imm_ptr (p, sparc_i0 + i, sparc_sp, local_pos);
-                       local_pos += SLOT_SIZE;
-               }
-       }
-
-       /* prepare space for valuetypes */
-        vt_cur = local_pos;
-        vtbuf = alloca (sizeof(int)*sig->param_count);
-        cpos = 0;
-        for (i = 0; i < sig->param_count; i++) {
-                MonoType *type = sig->params [i];
-                vtbuf [i] = -1;
-                if (!sig->params[i]->byref && type->type == MONO_TYPE_VALUETYPE) {
-                        MonoClass *klass = type->data.klass;
-                        gint size;
-                       
-                        if (klass->enumtype)
-                                continue;
-                        size = mono_class_native_size (klass, &align);
-                        cpos += align - 1;
-                        cpos &= ~(align - 1);
-                        vtbuf [i] = cpos;
-                        cpos += size;
-                }
-        }
-        cpos += SLOT_SIZE - 1;
-        cpos &= ~(SLOT_SIZE - 1);
-       
-       local_pos += cpos;
-       
-       /* set MonoInvocation::stack_args */
-       sparc_add_imm (p, 0, sparc_sp, stackval_arg_pos, sparc_l0);
-       sparc_st_imm_ptr (p, sparc_l0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, stack_args)));
-
-       /* add stackval arguments */
-       for (i=0; i < sig->param_count; i++) {
-               int stack_offset;
-               int type;
-               if (reg_param < OUT_REGS) {
-                       stack_offset = local_start + i * SLOT_SIZE;
-                       reg_param++;
-               } else {
-                       stack_offset = stack_size + 8 + stack_param;
-                       stack_param++;
-               }
-
-               if (!sig->params[i]->byref) {
-                       type = sig->params[i]->type;
-               enum_arg:
-                       switch (type) {
-                       case MONO_TYPE_I8:
-                       case MONO_TYPE_U8:
-                       case MONO_TYPE_I:
-                       case MONO_TYPE_U:
-                       case MONO_TYPE_STRING:
-                       case MONO_TYPE_OBJECT:
-                       case MONO_TYPE_CLASS:
-                       case MONO_TYPE_SZARRAY:
-                       case MONO_TYPE_PTR:
-                       case MONO_TYPE_R8:
-                               break;
-                       case MONO_TYPE_I4:
-                       case MONO_TYPE_U4:
-                               stack_offset += SLOT_SIZE - 4;
-                               break;
-                       case MONO_TYPE_CHAR:
-                       case MONO_TYPE_I2:
-                       case MONO_TYPE_U2:
-                               stack_offset += SLOT_SIZE - 2;
-                               break;
-                       case MONO_TYPE_I1:
-                       case MONO_TYPE_U1:
-                       case MONO_TYPE_BOOLEAN:
-                               stack_offset += SLOT_SIZE - 1;
-                               break;
-                       case MONO_TYPE_VALUETYPE:
-                               if (sig->params[i]->data.klass->enumtype) {
-                                       type = sig->params[i]->data.klass->enum_basetype->type;
-                                       goto enum_arg;
-                               }
-                               g_assert(vtbuf[i] >= 0);
-                               break;
-                       default:
-                               g_error ("can not cope with delegate arg type %d", type);
-                       }
-               }
-       
-               sparc_add_imm (p, 0, sparc_sp, stack_offset, sparc_o2);
-
-               if (vtbuf[i] >= 0) {
-                       sparc_add_imm (p, 0, sparc_sp, vt_cur, sparc_o1);
-                       sparc_st_imm_ptr (p, sparc_o1, sparc_sp, stackval_arg_pos);
-                       sparc_add_imm (p, 0, sparc_sp, stackval_arg_pos, 
-                                      sparc_o1);
-                       sparc_ld_imm_ptr (p, sparc_o2, 0, sparc_o2);
-                       vt_cur += vtbuf[i];
-               } else {
-                       sparc_add_imm (p, 0, sparc_sp, stackval_arg_pos, 
-                                      sparc_o1);
-               }
-
-               sparc_set_ptr (p, (void *)sig->params[i], sparc_o0);
-               sparc_set (p, (guint32)sig->pinvoke, sparc_o3);
-
-               /* YOU make the CALL! */
-               sparc_set_ptr (p, (void *)stackval_from_data, sparc_l0);
-               sparc_jmpl_imm (p, sparc_l0, 0, sparc_callsite);
-               sparc_nop (p);
-                stackval_arg_pos += sizeof(stackval);
-       }
-
-       /* return value storage */
-       /* Align to dword */
-       stackval_arg_pos = (stackval_arg_pos + (8 - 1)) & (~(8 -1));
-       if (sig->param_count) {
-               sparc_add_imm (p, 0, sparc_sp, stackval_arg_pos, sparc_l0);
-       }
-       if (!sig->ret->byref && sig->ret->type == MONO_TYPE_VALUETYPE && !sig->ret->data.klass->enumtype) {
-#if !SPARCV9
-               /* pass on callers buffer */
-               sparc_ld_imm_ptr (p, sparc_fp, 64, sparc_l1);
-               sparc_st_imm_ptr (p, sparc_l1, sparc_l0, 0);
-#else
-               sparc_add_imm (p, 0, sparc_l0, sizeof(stackval), sparc_l1);
-               sparc_st_imm_ptr (p, sparc_l1, sparc_l0, 0);
-#endif
-       }
-
-       sparc_st_imm_ptr (p, sparc_l0, sparc_sp,
-                 (MINV_POS + G_STRUCT_OFFSET (MonoInvocation, retval)));
-
-       /* call ves_exec_method */
-       sparc_add_imm (p, 0, sparc_sp, MINV_POS, sparc_o0);
-       sparc_set_ptr (p, (void *)ves_exec_method, sparc_l0);
-       sparc_jmpl_imm (p, sparc_l0, 0, sparc_callsite);
-       sparc_nop (p);
-
-       /* move retval from stackval to proper place (r3/r4/...) */
-        if (sig->ret->byref) {
-               sparc_ld_imm_ptr (p, sparc_sp, stackval_arg_pos, sparc_i0 );
-        } else {
-        enum_retvalue:
-                switch (sig->ret->type) {
-                case MONO_TYPE_VOID:
-                        break;
-                case MONO_TYPE_BOOLEAN:
-                case MONO_TYPE_I1:
-                case MONO_TYPE_U1:
-                case MONO_TYPE_I2:
-                case MONO_TYPE_U2:
-                case MONO_TYPE_I4:
-                case MONO_TYPE_U4:
-                        sparc_ld_imm (p, sparc_sp, stackval_arg_pos, sparc_i0);
-                        break;
-                case MONO_TYPE_I:
-                case MONO_TYPE_U:
-                case MONO_TYPE_OBJECT:
-               case MONO_TYPE_STRING:
-                case MONO_TYPE_CLASS:
-                        sparc_ld_imm_ptr (p, sparc_sp, stackval_arg_pos, sparc_i0);
-                        break;
-                case MONO_TYPE_I8:
-                case MONO_TYPE_U8:
-#if SPARCV9
-                        sparc_ldx_imm (p, sparc_sp, stackval_arg_pos, sparc_i0);
-#else
-                        sparc_ld_imm (p, sparc_sp, stackval_arg_pos, sparc_i0);
-                        sparc_ld_imm (p, sparc_sp, stackval_arg_pos + 4, sparc_i1);
-#endif
-                        break;
-                case MONO_TYPE_R4:
-                        sparc_lddf_imm (p, sparc_sp, stackval_arg_pos, sparc_f0);
-                       sparc_fdtos(p, sparc_f0, sparc_f0);
-                        break;
-                case MONO_TYPE_R8:
-                        sparc_lddf_imm (p, sparc_sp, stackval_arg_pos, sparc_f0);
-                        break;
-                case MONO_TYPE_VALUETYPE: {
-                       gint size;
-                       gint reg = sparc_i0;
-                        if (sig->ret->data.klass->enumtype) {
-                                simpletype = sig->ret->data.klass->enum_basetype->type;
-                                goto enum_retvalue;
-                        }
-#if SPARCV9
-                        size = mono_class_native_size (sig->ret->data.klass, NULL);
-                        sparc_ldx_imm (p, sparc_sp, stackval_arg_pos, sparc_l0);
-                       if (size <= 16) {
-                               gint off = 0;
-                               if (size >= 8) {
-                                       sparc_ldx_imm (p, sparc_l0, 0, reg);
-                                       size -= 8;
-                                       off += 8;
-                                       reg++;
-                               }
-                               if (size > 0)
-                                       sparc_ldx_imm (p, sparc_l0, off, reg);
-                       } else
-                               NOT_IMPL("value type as ret val from delegate");
-#endif
-                        break;
-               }
-                default: 
-                       g_error ("Type 0x%x not handled yet in thunk creation",
-                                sig->ret->type);
-                        break;
-                }
-        }
-
-       p = emit_epilog (p, sig, stack_size);
-
-       for (i = 0; i < ((p - code_buffer)/2); i++)
-               flushi((code_buffer + (i*8)));
-       
-       ji = g_new0 (MonoJitInfo, 1);
-        ji->method = method;
-        ji->code_size = p - code_buffer;
-       ji->code_start = code_buffer;
-       
-       mono_jit_info_table_add (mono_get_root_domain (), ji);
-
-       DEBUG(sparc_disassemble_code (code_buffer, p, method->name));
-
-       DEBUG(fprintf(stderr, "Delegate [end emiting] %s\n", method->name));
-
-       return ji->code_start;
-}
index 5e706fb7280252ca41d3d5c07e66274ad333a435..3173399092346a2b4fd30a5edf0fe72a898b34a8 100644 (file)
@@ -42,6 +42,7 @@
 #include <mono/io-layer/process-private.h>
 
 #include <mono/utils/mono-mutex.h>
+#include <mono/utils/mono-proclib.h>
 #undef DEBUG_REFS
 
 #if 0
@@ -286,12 +287,12 @@ wapi_init (void)
 
        wapi_processes_init ();
 
-       /* Using g_atexit here instead of an explicit function call in
+       /* Using atexit here instead of an explicit function call in
         * a cleanup routine lets us cope when a third-party library
         * calls exit (eg if an X client loses the connection to its
         * server.)
         */
-       g_atexit (handle_cleanup);
+       mono_atexit (handle_cleanup);
 }
 
 void
index 335484ae676054522cb7b99975e7a95947ba7dfc..cb83933ec1d79c7a666b0fa31d888506321853c5 100644 (file)
@@ -148,7 +148,6 @@ common_sources = \
        mono-debug.h            \
        mono-debug.c            \
        mono-debug-debugger.h   \
-       mono-debug-debugger.c   \
        mono-endian.c           \
        mono-endian.h           \
        mono-hash.h             \
@@ -174,6 +173,8 @@ common_sources = \
        profiler-private.h      \
        rand.h                  \
        rand.c                  \
+       remoting.h              \
+       remoting.c              \
        runtime.c               \
        security.c              \
        security.h              \
@@ -249,8 +250,9 @@ sgen_sources = \
        sgen-major-copy-object.h \
        sgen-minor-copy-object.h \
        sgen-copy-object.h \
-       sgen-major-scan-object.h \
+       sgen-marksweep-scan-object-concurrent.h \
        sgen-minor-scan-object.h \
+       sgen-marksweep-drain-gray-stack.h       \
        sgen-protocol.h         \
        sgen-scan-object.h      \
        sgen-nursery-allocator.c        \
index c46bdfa2db4c9b762d643ebd4d2d64c3167a300e..c40af5a98f562911e5dd024c548c7faf35504e46 100644 (file)
@@ -2321,7 +2321,7 @@ unload_thread_main (void *arg)
         * class->runtime_info.
         */
 
-       mono_loader_lock ();
+       mono_loader_lock (); //FIXME why do we need the loader lock here?
        mono_domain_lock (domain);
 #ifdef HAVE_SGEN_GC
        /*
index 090f2f7a1dc98e9296d02c829debb4cba317c11c..bbebb14a1d3b9a937e2e974717e44855d5b98ee0 100644 (file)
@@ -30,6 +30,7 @@
 #include <mono/utils/dtrace.h>
 #include <mono/utils/gc_wrapper.h>
 #include <mono/utils/mono-mutex.h>
+#include <mono/utils/mono-counters.h>
 
 #if HAVE_BOEHM_GC
 
@@ -78,6 +79,8 @@ mono_gc_base_init (void)
        if (gc_initialized)
                return;
 
+       mono_counters_init ();
+
        /*
         * Handle the case when we are called from a thread different from the main thread,
         * confusing libgc.
index 2bf904143f12df4e7d1c06810fdf907c89c91440..227d76ee12cabc8353bc9680d541117044bddd99 100644 (file)
@@ -209,7 +209,9 @@ enum {
        MONO_EXCEPTION_BAD_IMAGE = 12,
        MONO_EXCEPTION_OBJECT_SUPPLIED = 13, /*The exception object is already created.*/
        MONO_EXCEPTION_OUT_OF_MEMORY = 14,
-       MONO_EXCEPTION_INLINE_FAILED = 15
+       MONO_EXCEPTION_INLINE_FAILED = 15,
+       MONO_EXCEPTION_MONO_ERROR = 16,
+       /* add other exception type */
 };
 
 /* This struct collects the info needed for the runtime use of a class,
@@ -1394,4 +1396,7 @@ mono_class_get_and_inflate_typespec_checked (MonoImage *image, guint32 type_toke
 MonoClass *
 mono_class_from_name_case_checked (MonoImage *image, const char* name_space, const char *name, MonoError *error) MONO_INTERNAL;
 
+MonoClassField*
+mono_field_from_token_checked (MonoImage *image, uint32_t token, MonoClass **retklass, MonoGenericContext *context, MonoError *error) MONO_INTERNAL;
+
 #endif /* __MONO_METADATA_CLASS_INTERBALS_H__ */
index e9ff58249ef34610b39221c1f0cb51752a500f00..9ae7c6e3325ce9c2daef6cd44419ec3851ed5e97 100644 (file)
@@ -72,10 +72,6 @@ static guint32 mono_field_resolve_flags (MonoClassField *field);
 static void mono_class_setup_vtable_full (MonoClass *class, GList *in_setup);
 static void mono_generic_class_setup_parent (MonoClass *klass, MonoClass *gklass);
 
-
-void (*mono_debugger_class_init_func) (MonoClass *klass) = NULL;
-
-
 /*
 We use gclass recording to allow recursive system f types to be referenced by a parent.
 
@@ -1082,10 +1078,8 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
                        iresult->context.class_inst = iresult->declaring->klass->generic_class->context.class_inst;
        }
 
-       mono_loader_lock ();
        cached = mono_method_inflated_lookup (iresult, FALSE);
        if (cached) {
-               mono_loader_unlock ();
                g_free (iresult);
                return (MonoMethod*)cached;
        }
@@ -1156,12 +1150,9 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
         * is_generic_method_definition().
         */
 
-       mono_method_inflated_lookup (iresult, TRUE);
-       mono_loader_unlock ();
-       return result;
+       return (MonoMethod*)mono_method_inflated_lookup (iresult, TRUE);
 
 fail:
-       mono_loader_unlock ();
        g_free (iresult);
        return NULL;
 }
@@ -1241,7 +1232,7 @@ mono_method_get_generic_container (MonoMethod *method)
  * mono_method_set_generic_container:
  *
  *   Sets the generic container of METHOD to CONTAINER.
- * LOCKING: Acquires the loader lock.
+ * LOCKING: Acquires the image lock.
  */
 void
 mono_method_set_generic_container (MonoMethod *method, MonoGenericContainer* container)
@@ -5251,9 +5242,6 @@ mono_class_init (MonoClass *class)
 
        mono_loader_unlock ();
 
-       if (mono_debugger_class_init_func)
-               mono_debugger_class_init_func (class);
-
        return class->exception_type == MONO_EXCEPTION_NONE;
 }
 
@@ -6118,8 +6106,11 @@ make_generic_param_class (MonoGenericParam *param, MonoImage *image, gboolean is
 
 #define FAST_CACHE_SIZE 16
 
+/*
+ * LOCKING: Takes the image lock depending on @take_lock.
+ */
 static MonoClass *
-get_anon_gparam_class (MonoGenericParam *param, gboolean is_mvar)
+get_anon_gparam_class (MonoGenericParam *param, gboolean is_mvar, gboolean take_lock)
 {
        int n = mono_generic_param_num (param) | ((guint32)param->serial << 16);
        MonoImage *image = param->image;
@@ -6133,26 +6124,33 @@ get_anon_gparam_class (MonoGenericParam *param, gboolean is_mvar)
                else
                        return image->var_cache_fast ? image->var_cache_fast [n] : NULL;
        } else {
+               MonoClass *klass = NULL;
                ht = is_mvar ? image->mvar_cache_slow : image->var_cache_slow;
-               return ht ? g_hash_table_lookup (ht, GINT_TO_POINTER (n)) : NULL;
+               if (ht) {
+                       if (take_lock)
+                               mono_image_lock (image);
+                       klass = g_hash_table_lookup (ht, GINT_TO_POINTER (n));
+                       if (take_lock)
+                               mono_image_unlock (image);
+               }
+               return klass;
        }
 }
 
 /*
- * LOCKING: Acquires the loader lock.
+ * LOCKING: Image lock (param->image) must be held
  */
 static void
 set_anon_gparam_class (MonoGenericParam *param, gboolean is_mvar, MonoClass *klass)
 {
        int n = mono_generic_param_num (param) | ((guint32)param->serial << 16);
        MonoImage *image = param->image;
-       GHashTable *ht;
 
        g_assert (image);
 
        if (n < FAST_CACHE_SIZE) {
                if (is_mvar) {
-                       /* No locking needed */
+                       /* Requires locking to avoid droping an already published class */
                        if (!image->mvar_cache_fast)
                                image->mvar_cache_fast = mono_image_alloc0 (image, sizeof (MonoClass*) * FAST_CACHE_SIZE);
                        image->mvar_cache_fast [n] = klass;
@@ -6161,54 +6159,42 @@ set_anon_gparam_class (MonoGenericParam *param, gboolean is_mvar, MonoClass *kla
                                image->var_cache_fast = mono_image_alloc0 (image, sizeof (MonoClass*) * FAST_CACHE_SIZE);
                        image->var_cache_fast [n] = klass;
                }
-               return;
-       }
-       ht = is_mvar ? image->mvar_cache_slow : image->var_cache_slow;
-       if (!ht) {
-               mono_image_lock (image);
-               ht = is_mvar ? image->mvar_cache_slow : image->var_cache_slow;
+       } else {
+               GHashTable *ht = is_mvar ? image->mvar_cache_slow : image->var_cache_slow;
                if (!ht) {
-                       ht = g_hash_table_new (NULL, NULL);
-                       mono_memory_barrier ();
-                       if (is_mvar)
-                               image->mvar_cache_slow = ht;
-                       else
-                               image->var_cache_slow = ht;
+                       ht = is_mvar ? image->mvar_cache_slow : image->var_cache_slow;
+                       if (!ht) {
+                               ht = g_hash_table_new (NULL, NULL);
+                               mono_memory_barrier ();
+                               if (is_mvar)
+                                       image->mvar_cache_slow = ht;
+                               else
+                                       image->var_cache_slow = ht;
+                       }
                }
-               mono_image_unlock (image);
+               g_hash_table_insert (ht, GINT_TO_POINTER (n), klass);
        }
-
-       g_hash_table_insert (ht, GINT_TO_POINTER (n), klass);
 }
 
 /*
- * LOCKING: Acquires the loader lock.
+ * LOCKING: Acquires the image lock (@image).
  */
 MonoClass *
 mono_class_from_generic_parameter (MonoGenericParam *param, MonoImage *image, gboolean is_mvar)
 {
        MonoGenericContainer *container = mono_generic_param_owner (param);
-       MonoGenericParamInfo *pinfo;
-       MonoClass *klass;
-
-       mono_loader_lock ();
+       MonoGenericParamInfo *pinfo = NULL;
+       MonoClass *klass, *klass2;
 
        if (container) {
                pinfo = mono_generic_param_info (param);
-               if (pinfo->pklass) {
-                       mono_loader_unlock ();
-                       return pinfo->pklass;
-               }
+               klass = pinfo->pklass;
        } else {
-               pinfo = NULL;
                image = NULL;
-
-               klass = get_anon_gparam_class (param, is_mvar);
-               if (klass) {
-                       mono_loader_unlock ();
-                       return klass;
-               }
+               klass = get_anon_gparam_class (param, is_mvar, TRUE);
        }
+       if (klass)
+               return klass;
 
        if (!image && container) {
                if (is_mvar) {
@@ -6226,15 +6212,30 @@ mono_class_from_generic_parameter (MonoGenericParam *param, MonoImage *image, gb
 
        mono_memory_barrier ();
 
+       if (!image) //FIXME is this only needed by monodis? Can't we fix monodis instead of having this hack?
+               image = mono_defaults.corlib;
+
+       mono_image_lock (image);
        if (container)
-               pinfo->pklass = klass;
+               klass2 = pinfo->pklass;
        else
-               set_anon_gparam_class (param, is_mvar, klass);
+               klass2 = get_anon_gparam_class (param, is_mvar, FALSE);
 
-       mono_loader_unlock ();
+       if (klass2) {
+               klass = klass2;
+       } else {
+               if (container)
+                       pinfo->pklass = klass;
+               else
+                       set_anon_gparam_class (param, is_mvar, klass);
+       }
+       mono_image_unlock (image);
 
        /* FIXME: Should this go inside 'make_generic_param_klass'? */
-       mono_profiler_class_loaded (klass, MONO_PROFILE_OK);
+       if (klass2)
+               mono_profiler_class_loaded (klass2, MONO_PROFILE_FAILED);
+       else
+               mono_profiler_class_loaded (klass, MONO_PROFILE_OK);
 
        return klass;
 }
@@ -6250,15 +6251,15 @@ mono_ptr_class_get (MonoType *type)
        el_class = mono_class_from_mono_type (type);
        image = el_class->image;
 
-       mono_loader_lock ();
-
-       if (!image->ptr_cache)
-               image->ptr_cache = g_hash_table_new (mono_aligned_addr_hash, NULL);
-
-       if ((result = g_hash_table_lookup (image->ptr_cache, el_class))) {
-               mono_loader_unlock ();
-               return result;
+       mono_image_lock (image);
+       if (image->ptr_cache) {
+               if ((result = g_hash_table_lookup (image->ptr_cache, el_class))) {
+                       mono_image_unlock (image);
+                       return result;
+               }
        }
+       mono_image_unlock (image);
+       
        result = mono_image_alloc0 (image, sizeof (MonoClass));
 
        classes_size += sizeof (MonoClass);
@@ -6285,9 +6286,19 @@ mono_ptr_class_get (MonoType *type)
 
        mono_class_setup_supertypes (result);
 
+       mono_image_lock (image);
+       if (image->ptr_cache) {
+               MonoClass *result2;
+               if ((result2 = g_hash_table_lookup (image->ptr_cache, el_class))) {
+                       mono_image_unlock (image);
+                       mono_profiler_class_loaded (result, MONO_PROFILE_FAILED);
+                       return result2;
+               }
+       } else {
+               image->ptr_cache = g_hash_table_new (mono_aligned_addr_hash, NULL);
+       }
        g_hash_table_insert (image->ptr_cache, el_class, result);
-
-       mono_loader_unlock ();
+       mono_image_unlock (image);
 
        mono_profiler_class_loaded (result, MONO_PROFILE_OK);
 
@@ -8455,11 +8466,16 @@ mono_ldtoken (MonoImage *image, guint32 token, MonoClass **handle_class,
                sig = mono_metadata_blob_heap (image, cols [MONO_MEMBERREF_SIGNATURE]);
                mono_metadata_decode_blob_size (sig, &sig);
                if (*sig == 0x6) { /* it's a field */
+                       MonoError error;
                        MonoClass *klass;
                        MonoClassField *field;
-                       field = mono_field_from_token (image, token, &klass, context);
+                       field = mono_field_from_token_checked (image, token, &klass, context, &error);
                        if (handle_class)
                                *handle_class = mono_defaults.fieldhandle_class;
+                       if (!field) {
+                               mono_loader_set_error_from_mono_error (&error);
+                               mono_error_cleanup (&error); /* FIXME Don't swallow the error */
+                       }
                        return field;
                } else {
                        MonoMethod *meth;
index dffba190e31ed5d3113c5705f6e8dcf8d4b8f670..1de9a002e0a9f9a76717d5e013b48248bd5b6ec6 100644 (file)
@@ -35,6 +35,7 @@
 #include <mono/metadata/metadata.h>
 #include <mono/metadata/threadpool.h>
 #include <mono/utils/mono-signal-handler.h>
+#include <mono/utils/mono-proclib.h>
 
 /* On solaris, curses.h must come before both termios.h and term.h */
 #ifdef HAVE_CURSES_H
@@ -502,7 +503,7 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardow
                if (teardown != NULL)
                        teardown_str = mono_string_to_utf8 (teardown);
 
-               atexit (tty_teardown);
+               mono_atexit (tty_teardown);
        }
 
        return TRUE;
index e30c0345c0abae993f6e0394aae83b1719aedd7d..c251ff9d99c64d92c6859ae76474027da4d8f18b 100755 (executable)
@@ -130,7 +130,7 @@ static const MonoRuntimeInfo supported_runtimes[] = {
 
 
 /* The stable runtime version */
-#define DEFAULT_RUNTIME_VERSION "v2.0.50727"
+#define DEFAULT_RUNTIME_VERSION "v4.0.30319"
 
 /* Callbacks installed by the JIT */
 static MonoCreateDomainFunc create_domain_hook;
@@ -139,9 +139,6 @@ static MonoFreeDomainFunc free_domain_hook;
 /* AOT cache configuration */
 static MonoAotCacheConfig aot_cache_config;
 
-/* This is intentionally not in the header file, so people don't misuse it. */
-extern void _mono_debug_init_corlib (MonoDomain *domain);
-
 static void
 get_runtimes_from_exe (const char *exe_file, MonoImage **exe_image, const MonoRuntimeInfo** runtimes);
 
@@ -512,6 +509,7 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
 #ifndef DISABLE_PERFCOUNTERS
        mono_perfcounters_init ();
 #endif
+       mono_counters_init ();
 
        mono_counters_register ("Max native code in a domain", MONO_COUNTER_INT|MONO_COUNTER_JIT, &max_domain_code_size);
        mono_counters_register ("Max code space allocated in a domain", MONO_COUNTER_INT|MONO_COUNTER_JIT, &max_domain_code_alloc);
@@ -835,8 +833,6 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
        mono_defaults.customattribute_data_class = mono_class_from_name (
                mono_defaults.corlib, "System.Reflection", "CustomAttributeData");
 
-       /* these are initialized lazily when COM features are used */
-
        mono_class_init (mono_defaults.array_class);
        mono_defaults.generic_nullable_class = mono_class_from_name (
                mono_defaults.corlib, "System", "Nullable`1");
@@ -847,8 +843,6 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
 
        domain->friendly_name = g_path_get_basename (filename);
 
-       _mono_debug_init_corlib (domain);
-
        return domain;
 }
 
index 7b8836363f8a2a769b980d2a063e7d4567c398b2..79032578afaf8b7b5a5ffa4c2ff7f677ad7cabb7 100644 (file)
 #include <mono/utils/gc_wrapper.h>
 
 typedef struct {
-       int minor_gc_count;
-       int major_gc_count;
-       long long minor_gc_time;
-       long long major_gc_time;
-       long long major_gc_time_concurrent;
+       guint minor_gc_count;
+       guint major_gc_count;
+       guint64 minor_gc_time;
+       guint64 major_gc_time;
+       guint64 major_gc_time_concurrent;
 } GCStats;
 
 #define mono_domain_finalizers_lock(domain) mono_mutex_lock (&(domain)->finalizable_objects_hash_lock);
index 4e025385b766151c779ad1f45f1e5341234c4d5d..921898a444205a0219307176555414c0c18597fc 100644 (file)
@@ -1149,12 +1149,11 @@ mono_gc_init (void)
        MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_NORMAL].entries);
        MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_PINNED].entries);
 
-       mono_counters_register ("Created object count", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &mono_stats.new_object_count);
-       mono_counters_register ("Minor GC collections", MONO_COUNTER_GC | MONO_COUNTER_INT, &gc_stats.minor_gc_count);
-       mono_counters_register ("Major GC collections", MONO_COUNTER_GC | MONO_COUNTER_INT, &gc_stats.major_gc_count);
-       mono_counters_register ("Minor GC time", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &gc_stats.minor_gc_time);
-       mono_counters_register ("Major GC time", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &gc_stats.major_gc_time);
-       mono_counters_register ("Major GC time concurrent", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &gc_stats.major_gc_time_concurrent);
+       mono_counters_register ("Minor GC collections", MONO_COUNTER_GC | MONO_COUNTER_UINT, &gc_stats.minor_gc_count);
+       mono_counters_register ("Major GC collections", MONO_COUNTER_GC | MONO_COUNTER_UINT, &gc_stats.major_gc_count);
+       mono_counters_register ("Minor GC time", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &gc_stats.minor_gc_time);
+       mono_counters_register ("Major GC time", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &gc_stats.major_gc_time);
+       mono_counters_register ("Major GC time concurrent", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &gc_stats.major_gc_time_concurrent);
 
        mono_gc_base_init ();
 
index 763b2f638bff16a7463b9ef207bf0ce2e33a2706..e3241865924fdf0a556d48d22c0d07aed1920b10 100644 (file)
@@ -5559,19 +5559,20 @@ ves_icall_System_Reflection_Module_ResolveStringToken (MonoImage *image, guint32
 }
 
 ICALL_EXPORT MonoClassField*
-ves_icall_System_Reflection_Module_ResolveFieldToken (MonoImage *image, guint32 token, MonoArray *type_args, MonoArray *method_args, MonoResolveTokenError *error)
+ves_icall_System_Reflection_Module_ResolveFieldToken (MonoImage *image, guint32 token, MonoArray *type_args, MonoArray *method_args, MonoResolveTokenError *resolve_error)
 {
+       MonoError error;
        MonoClass *klass;
        int table = mono_metadata_token_table (token);
        int index = mono_metadata_token_index (token);
        MonoGenericContext context;
        MonoClassField *field;
 
-       *error = ResolveTokenError_Other;
+       *resolve_error = ResolveTokenError_Other;
 
        /* Validate token */
        if ((table != MONO_TABLE_FIELD) && (table != MONO_TABLE_MEMBERREF)) {
-               *error = ResolveTokenError_BadTable;
+               *resolve_error = ResolveTokenError_BadTable;
                return NULL;
        }
 
@@ -5580,7 +5581,7 @@ ves_icall_System_Reflection_Module_ResolveFieldToken (MonoImage *image, guint32
                        return mono_lookup_dynamic_token_class (image, token, FALSE, NULL, NULL);
 
                if (mono_memberref_is_method (image, token)) {
-                       *error = ResolveTokenError_BadTable;
+                       *resolve_error = ResolveTokenError_BadTable;
                        return NULL;
                }
 
@@ -5589,19 +5590,17 @@ ves_icall_System_Reflection_Module_ResolveFieldToken (MonoImage *image, guint32
        }
 
        if ((index <= 0) || (index > image->tables [table].rows)) {
-               *error = ResolveTokenError_OutOfRange;
+               *resolve_error = ResolveTokenError_OutOfRange;
                return NULL;
        }
        if ((table == MONO_TABLE_MEMBERREF) && (mono_memberref_is_method (image, token))) {
-               *error = ResolveTokenError_BadTable;
+               *resolve_error = ResolveTokenError_BadTable;
                return NULL;
        }
 
        init_generic_context_from_args (&context, type_args, method_args);
-       field = mono_field_from_token (image, token, &klass, &context);
-
-       if (mono_loader_get_last_error ())
-               mono_raise_exception (mono_loader_error_prepare_exception (mono_loader_get_last_error ()));
+       field = mono_field_from_token_checked (image, token, &klass, &context, &error);
+       mono_error_raise_exception (&error);
        
        return field;
 }
index d5c05bef527831e5190aa8f95b0a5c931dbc8671..c7c0756dc71614ce706def2d30d65e1cc5610f0d 100644 (file)
@@ -1998,21 +1998,27 @@ mono_image_load_file_for_image (MonoImage *image, int fileidx)
        if (fileidx < 1 || fileidx > t->rows)
                return NULL;
 
-       mono_loader_lock ();
+       mono_image_lock (image);
        if (image->files && image->files [fileidx - 1]) {
-               mono_loader_unlock ();
+               mono_image_unlock (image);
                return image->files [fileidx - 1];
        }
 
-       if (!image->files)
-               image->files = g_new0 (MonoImage*, t->rows);
-
        fname_id = mono_metadata_decode_row_col (t, fileidx - 1, MONO_FILE_NAME);
        fname = mono_metadata_string_heap (image, fname_id);
        base_dir = g_path_get_dirname (image->name);
        name = g_build_filename (base_dir, fname, NULL);
        res = mono_image_open (name, NULL);
-       if (res) {
+       if (!res)
+               goto done;
+
+       mono_image_lock (image);
+       if (image->files && image->files [fileidx - 1]) {
+               MonoImage *old = res;
+               res = image->files [fileidx - 1];
+               mono_loader_unlock ();
+               mono_image_close (old);
+       } else {
                int i;
                /* g_print ("loaded file %s from %s (%p)\n", name, image->name, image->assembly); */
                res->assembly = image->assembly;
@@ -2021,13 +2027,18 @@ mono_image_load_file_for_image (MonoImage *image, int fileidx)
                                res->modules [i]->assembly = image->assembly;
                }
 
+               if (!image->files)
+                       image->files = g_new0 (MonoImage*, t->rows);
                image->files [fileidx - 1] = res;
+               mono_loader_unlock ();
+               /* vtable fixup can't happen with the image lock held */
 #ifdef HOST_WIN32
                if (res->is_module_handle)
                        mono_image_fixup_vtable (res);
 #endif
        }
-       mono_loader_unlock ();
+
+done:
        g_free (name);
        g_free (base_dir);
        return res;
index f7dc1497a016f82819a51cc235f723aaa9b29327..c3c9a5288e6d1f9b3b404767e67fe54237ea2495 100644 (file)
@@ -55,7 +55,7 @@ MonoDefaults mono_defaults;
  * See domain-internals.h for locking policy in combination with the
  * domain lock.
  */
-static mono_mutex_t loader_mutex;
+static mono_mutex_t loader_mutex, global_loader_data_mutex;
 static gboolean loader_lock_inited;
 
 /* Statistics */
@@ -77,6 +77,19 @@ MonoNativeTlsKey loader_lock_nest_id;
 
 static void dllmap_cleanup (void);
 
+
+static void
+global_loader_data_lock (void)
+{
+       mono_locks_acquire (&global_loader_data_mutex, LoaderGlobalDataLock);
+}
+
+static void
+global_loader_data_unlock (void)
+{
+       mono_locks_release (&global_loader_data_mutex, LoaderGlobalDataLock);
+}
+
 void
 mono_loader_init ()
 {
@@ -84,6 +97,7 @@ mono_loader_init ()
 
        if (!inited) {
                mono_mutex_init_recursive (&loader_mutex);
+               mono_mutex_init_recursive (&global_loader_data_mutex);
                loader_lock_inited = TRUE;
 
                mono_native_tls_alloc (&loader_error_thread_id, NULL);
@@ -111,6 +125,7 @@ mono_loader_cleanup (void)
        mono_native_tls_free (loader_lock_nest_id);
 
        mono_mutex_destroy (&loader_mutex);
+       mono_mutex_destroy (&global_loader_data_mutex);
        loader_lock_inited = FALSE;     
 }
 
@@ -425,9 +440,9 @@ cache_memberref_sig (MonoImage *image, guint32 sig_idx, gpointer sig)
 
 static MonoClassField*
 field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
-                     MonoGenericContext *context)
+                     MonoGenericContext *context, MonoError *error)
 {
-       MonoClass *klass;
+       MonoClass *klass = NULL;
        MonoClassField *field;
        MonoTableInfo *tables = image->tables;
        MonoType *sig_type;
@@ -436,7 +451,8 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
        const char *fname;
        const char *ptr;
        guint32 idx = mono_metadata_token_index (token);
-       MonoError error;
+
+       mono_error_init (error);
 
        mono_metadata_decode_row (&tables [MONO_TABLE_MEMBERREF], idx-1, cols, MONO_MEMBERREF_SIZE);
        nindex = cols [MONO_MEMBERREF_CLASS] >> MONO_MEMBERREF_PARENT_BITS;
@@ -445,60 +461,39 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
        fname = mono_metadata_string_heap (image, cols [MONO_MEMBERREF_NAME]);
 
        if (!mono_verifier_verify_memberref_field_signature (image, cols [MONO_MEMBERREF_SIGNATURE], NULL)) {
-               mono_loader_set_error_bad_image (g_strdup_printf ("Bad field signature class token 0x%08x field name %s token 0x%08x on image %s", class, fname, token, image->name));
+               mono_error_set_bad_image (error, image, "Bad field '%s' signature 0x%08x", class, token);
                return NULL;
        }
 
        switch (class) {
        case MONO_MEMBERREF_PARENT_TYPEDEF:
                class_table = MONO_TOKEN_TYPE_DEF;
-               klass = mono_class_get_checked (image, MONO_TOKEN_TYPE_DEF | nindex, &error);
-               if (!mono_error_ok (&error)) {
-                       /*FIXME don't swallow the error message*/
-                       mono_error_cleanup (&error);
-               }
-
+               klass = mono_class_get_checked (image, MONO_TOKEN_TYPE_DEF | nindex, error);
                break;
        case MONO_MEMBERREF_PARENT_TYPEREF:
                class_table = MONO_TOKEN_TYPE_REF;
-               klass = mono_class_from_typeref_checked (image, MONO_TOKEN_TYPE_REF | nindex, &error);
-               if (!mono_error_ok (&error)) {
-                       /*FIXME don't swallow the error message*/
-                       mono_error_cleanup (&error);
-               }
-
+               klass = mono_class_from_typeref_checked (image, MONO_TOKEN_TYPE_REF | nindex, error);
                break;
        case MONO_MEMBERREF_PARENT_TYPESPEC:
                class_table = MONO_TOKEN_TYPE_SPEC;
-               klass = mono_class_get_and_inflate_typespec_checked (image, MONO_TOKEN_TYPE_SPEC | nindex, context, &error);
-               if (!mono_error_ok (&error)) {
-                       /*FIXME don't swallow the error message*/
-                       mono_error_cleanup (&error);
-               }
+               klass = mono_class_get_and_inflate_typespec_checked (image, MONO_TOKEN_TYPE_SPEC | nindex, context, error);
                break;
        default:
-               /*FIXME this must set a loader error!*/
-               g_warning ("field load from %x", class);
-               return NULL;
+               mono_error_set_bad_image (error, image, "Bad field field '%s' signature 0x%08x", class, token);
        }
 
-       if (!klass) {
-               char *name = mono_class_name_from_token (image, class_table | nindex);
-               g_warning ("Missing field %s in class %s (type token %d)", fname, name, class_table | nindex);
-               mono_loader_set_error_type_load (name, image->assembly_name);
-               g_free (name);
+       if (!klass)
                return NULL;
-       }
 
        ptr = mono_metadata_blob_heap (image, cols [MONO_MEMBERREF_SIGNATURE]);
        mono_metadata_decode_blob_size (ptr, &ptr);
        /* we may want to check the signature here... */
 
        if (*ptr++ != 0x6) {
-               g_warning ("Bad field signature class token %08x field name %s token %08x", class, fname, token);
-               mono_loader_set_error_field_load (klass, fname);
+               mono_error_set_field_load (error, klass, fname, "Bad field signature class token %08x field name %s token %08x", class, fname, token);
                return NULL;
        }
+
        /* FIXME: This needs a cache, especially for generic instances, since
         * mono_metadata_parse_type () allocates everything from a mempool.
         */
@@ -506,7 +501,7 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
        if (!sig_type) {
                sig_type = mono_metadata_parse_type (image, MONO_PARSE_TYPE, 0, ptr, &ptr);
                if (sig_type == NULL) {
-                       mono_loader_set_error_field_load (klass, fname);
+                       mono_error_set_field_load (error, klass, fname, "Could not parse field '%s' signature %08x", fname, token);
                        return NULL;
                }
                sig_type = cache_memberref_sig (image, cols [MONO_MEMBERREF_SIGNATURE], sig_type);
@@ -517,21 +512,40 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
                *retklass = klass;
        field = mono_class_get_field_from_name_full (klass, fname, sig_type);
 
-       if (!field)
-               mono_loader_set_error_field_load (klass, fname);
+       if (!field) {
+               g_assert (!mono_loader_get_last_error ());
+               mono_error_set_field_load (error, klass, fname, "Could not find field '%s'", fname);
+       }
 
        return field;
 }
 
+/*
+ * mono_field_from_token:
+ * @deprecated use the _checked variant
+*/
 MonoClassField*
-mono_field_from_token (MonoImage *image, guint32 token, MonoClass **retklass,
-                      MonoGenericContext *context)
+mono_field_from_token (MonoImage *image, guint32 token, MonoClass **retklass, MonoGenericContext *context)
 {
        MonoError error;
+       MonoClassField *res = mono_field_from_token_checked (image, token, retklass, context, &error);
+       g_assert (!mono_loader_get_last_error ());
+       if (!mono_error_ok (&error)) {
+               mono_loader_set_error_from_mono_error (&error);
+               mono_error_cleanup (&error);
+       }
+       return res;
+}
+
+MonoClassField*
+mono_field_from_token_checked (MonoImage *image, guint32 token, MonoClass **retklass, MonoGenericContext *context, MonoError *error)
+{
        MonoClass *k;
        guint32 type;
        MonoClassField *field;
 
+       mono_error_init (error);
+
        if (image_is_dynamic (image)) {
                MonoClassField *result;
                MonoClass *handle_class;
@@ -540,7 +554,7 @@ mono_field_from_token (MonoImage *image, guint32 token, MonoClass **retklass,
                result = mono_lookup_dynamic_token_class (image, token, TRUE, &handle_class, context);
                // This checks the memberref type as well
                if (!result || handle_class != mono_defaults.fieldhandle_class) {
-                       mono_loader_set_error_bad_image (g_strdup_printf ("Bad field token 0x%08x on image %s.", token, image->name));
+                       mono_error_set_bad_image (error, image, "Bad field token 0x%08x", token);
                        return NULL;
                }
                *retklass = result->parent;
@@ -552,27 +566,35 @@ mono_field_from_token (MonoImage *image, guint32 token, MonoClass **retklass,
                return field;
        }
 
-       if (mono_metadata_token_table (token) == MONO_TABLE_MEMBERREF)
-               field = field_from_memberref (image, token, retklass, context);
-       else {
+       if (mono_metadata_token_table (token) == MONO_TABLE_MEMBERREF) {
+               field = field_from_memberref (image, token, retklass, context, error);
+               g_assert (!mono_loader_get_last_error ());
+       } else {
                type = mono_metadata_typedef_from_field (image, mono_metadata_token_index (token));
-               if (!type)
-                       return NULL;
-               k = mono_class_get_checked (image, MONO_TOKEN_TYPE_DEF | type, &error);
-               if (!k) {
-                       mono_loader_set_error_from_mono_error (&error);
-                       mono_error_cleanup (&error); /*FIXME don't swallow the error message*/
+               if (!type) {
+                       mono_error_set_bad_image (error, image, "Invalid field token 0x%08x", token);
                        return NULL;
                }
+               k = mono_class_get_checked (image, MONO_TOKEN_TYPE_DEF | type, error);
+               if (!k)
+                       return NULL;
+
                mono_class_init (k);
                if (retklass)
                        *retklass = k;
                field = mono_class_get_field (k, token);
+               if (!field) {
+                       if (mono_loader_get_last_error ())
+                               mono_loader_set_error_from_mono_error (error);
+                       else
+                               mono_error_set_bad_image (error, image, "Could not resolve field token 0x%08x", token);
+               }
        }
 
        if (field && field->parent && !field->parent->generic_class && !field->parent->generic_container)
                mono_conc_hashtable_insert (image->field_cache, GUINT_TO_POINTER (token), field);
 
+       g_assert (!mono_loader_get_last_error ());
        return field;
 }
 
@@ -846,6 +868,22 @@ inflate_generic_header (MonoMethodHeader *header, MonoGenericContext *context)
  */
 MonoMethodSignature*
 mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 token, MonoGenericContext *context)
+{
+       MonoError error;
+       MonoMethodSignature *res = mono_method_get_signature_checked (method, image, token, context, &error);
+
+       g_assert (!mono_loader_get_last_error ());
+
+       if (!res) {
+               g_assert (!mono_error_ok (&error));
+               mono_loader_set_error_from_mono_error (&error);
+               mono_error_cleanup (&error); /* FIXME Don't swallow the error */
+       }
+       return res;
+}
+
+MonoMethodSignature*
+mono_method_get_signature_checked (MonoMethod *method, MonoImage *image, guint32 token, MonoGenericContext *context, MonoError *error)
 {
        int table = mono_metadata_token_table (token);
        int idx = mono_metadata_token_index (token);
@@ -854,23 +892,27 @@ mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 to
        MonoMethodSignature *sig;
        const char *ptr;
 
+       mono_error_init (error);
+
        /* !table is for wrappers: we should really assign their own token to them */
        if (!table || table == MONO_TABLE_METHOD)
-               return mono_method_signature (method);
+               return mono_method_signature_checked (method, error);
 
        if (table == MONO_TABLE_METHODSPEC) {
                /* the verifier (do_invoke_method) will turn the NULL into a verifier error */
                if ((method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL) || !method->is_inflated)
                        return NULL;
 
-               return mono_method_signature (method);
+               return mono_method_signature_checked (method, error);
        }
 
        if (method->klass->generic_class)
-               return mono_method_signature (method);
+               return mono_method_signature_checked (method, error);
 
        if (image_is_dynamic (image)) {
-               sig = mono_reflection_lookup_signature (image, method, token);
+               sig = mono_reflection_lookup_signature (image, method, token, error);
+               if (!sig)
+                       return NULL;
        } else {
                mono_metadata_decode_row (&image->tables [MONO_TABLE_MEMBERREF], idx-1, cols, MONO_MEMBERREF_SIZE);
                sig_idx = cols [MONO_MEMBERREF_SIGNATURE];
@@ -881,15 +923,24 @@ mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 to
                                guint32 class = cols [MONO_MEMBERREF_CLASS] & MONO_MEMBERREF_PARENT_MASK;
                                const char *fname = mono_metadata_string_heap (image, cols [MONO_MEMBERREF_NAME]);
 
-                               mono_loader_set_error_bad_image (g_strdup_printf ("Bad method signature class token 0x%08x field name %s token 0x%08x on image %s", class, fname, token, image->name));
+                               //FIXME include the verification error
+                               mono_error_set_bad_image (error, image, "Bad method signature class token 0x%08x field name %s token 0x%08x", class, fname, token);
                                return NULL;
                        }
 
                        ptr = mono_metadata_blob_heap (image, sig_idx);
                        mono_metadata_decode_blob_size (ptr, &ptr);
+                       /* FIXME make type/signature parsing not produce loader errors */
                        sig = mono_metadata_parse_method_signature (image, 0, ptr, NULL);
-                       if (!sig)
+                       g_assert (!mono_loader_get_last_error ());
+
+                       if (!sig) {
+                               guint32 class = cols [MONO_MEMBERREF_CLASS] & MONO_MEMBERREF_PARENT_MASK;
+                               const char *fname = mono_metadata_string_heap (image, cols [MONO_MEMBERREF_NAME]);
+                               //FIXME include the decoding error
+                               mono_error_set_bad_image (error, image, "Bad method signature class token 0x%08x field name %s token 0x%08x", class, fname, token);
                                return NULL;
+                       }
                        sig = cache_memberref_sig (image, sig_idx, sig);
                }
                /* FIXME: we probably should verify signature compat in the dynamic case too*/
@@ -897,22 +948,18 @@ mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 to
                        guint32 class = cols [MONO_MEMBERREF_CLASS] & MONO_MEMBERREF_PARENT_MASK;
                        const char *fname = mono_metadata_string_heap (image, cols [MONO_MEMBERREF_NAME]);
 
-                       mono_loader_set_error_bad_image (g_strdup_printf ("Incompatible method signature class token 0x%08x field name %s token 0x%08x on image %s", class, fname, token, image->name));
+                       mono_error_set_bad_image (error, image, "Incompatible method signature class token 0x%08x field name %s token 0x%08x", class, fname, token);
                        return NULL;
                }
        }
 
        if (context) {
-               MonoError error;
                MonoMethodSignature *cached;
 
                /* This signature is not owned by a MonoMethod, so need to cache */
-               sig = inflate_generic_signature_checked (image, sig, context, &error);
-               if (!mono_error_ok (&error)) {/*XXX bubble up this and kill one use of loader errors */
-                       mono_loader_set_error_bad_image (g_strdup_printf ("Could not inflate signature %s", mono_error_get_message (&error)));
-                       mono_error_cleanup (&error);
+               sig = inflate_generic_signature_checked (image, sig, context, error);
+               if (!mono_error_ok (error))
                        return NULL;
-               }
 
                cached = mono_metadata_get_inflated_signature (sig, context);
                if (cached != sig)
@@ -922,13 +969,24 @@ mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 to
                sig = cached;
        }
 
+       g_assert (mono_error_ok (error));
        return sig;
 }
 
 MonoMethodSignature*
 mono_method_get_signature (MonoMethod *method, MonoImage *image, guint32 token)
 {
-       return mono_method_get_signature_full (method, image, token, NULL);
+       MonoError error;
+       MonoMethodSignature *res = mono_method_get_signature_checked (method, image, token, NULL, &error);
+
+       g_assert (!mono_loader_get_last_error ());
+
+       if (!res) {
+               g_assert (!mono_error_ok (&error));
+               mono_loader_set_error_from_mono_error (&error);
+               mono_error_cleanup (&error); /* FIXME Don't swallow the error */
+       }
+       return res;
 }
 
 /* this is only for the typespec array methods */
@@ -1164,7 +1222,7 @@ mono_dllmap_lookup_list (MonoDllMap *dll_map, const char *dll, const char* func,
        if (!dll_map)
                return 0;
 
-       mono_loader_lock ();
+       global_loader_data_lock ();
 
        /* 
         * we use the first entry we find that matches, since entries from
@@ -1191,7 +1249,7 @@ mono_dllmap_lookup_list (MonoDllMap *dll_map, const char *dll, const char* func,
                }
        }
 
-       mono_loader_unlock ();
+       global_loader_data_unlock ();
        return found;
 }
 
@@ -1250,10 +1308,10 @@ mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, cons
                entry->func = func? g_strdup (func): NULL;
                entry->target_func = tfunc? g_strdup (tfunc): NULL;
 
-               mono_loader_lock ();
+               global_loader_data_lock ();
                entry->next = global_dll_map;
                global_dll_map = entry;
-               mono_loader_unlock ();
+               global_loader_data_unlock ();
        } else {
                entry = mono_image_alloc0 (assembly, sizeof (MonoDllMap));
                entry->dll = dll? mono_image_strdup (assembly, dll): NULL;
@@ -1299,18 +1357,18 @@ cached_module_load (const char *name, int flags, char **err)
 
        if (err)
                *err = NULL;
-       mono_loader_lock ();
+       global_loader_data_lock ();
        if (!global_module_map)
                global_module_map = g_hash_table_new (g_str_hash, g_str_equal);
        res = g_hash_table_lookup (global_module_map, name);
        if (res) {
-               mono_loader_unlock ();
+               global_loader_data_unlock ();
                return res;
        }
        res = mono_dl_open (name, flags, err);
        if (res)
                g_hash_table_insert (global_module_map, g_strdup (name), res);
-       mono_loader_unlock ();
+       global_loader_data_unlock ();
        return res;
 }
 
@@ -2278,16 +2336,49 @@ mono_stack_walk_no_il (MonoStackWalk func, gpointer user_data)
        mono_get_eh_callbacks ()->mono_walk_stack_with_ctx (stack_walk_adapter, NULL, MONO_UNWIND_DEFAULT, &ud);
 }
 
+typedef struct {
+       MonoStackWalkAsyncSafe func;
+       gpointer user_data;
+} AsyncStackWalkUserData;
+
+
+static gboolean
+async_stack_walk_adapter (MonoStackFrameInfo *frame, MonoContext *ctx, gpointer data)
+{
+       AsyncStackWalkUserData *d = data;
+
+       switch (frame->type) {
+       case FRAME_TYPE_DEBUGGER_INVOKE:
+       case FRAME_TYPE_MANAGED_TO_NATIVE:
+               return FALSE;
+       case FRAME_TYPE_MANAGED:
+               if (!frame->ji)
+                       return FALSE;
+               if (frame->ji->async)
+                       return d->func (NULL, frame->domain, frame->ji->code_start, frame->native_offset, d->user_data);
+               else
+                       return d->func (mono_jit_info_get_method (frame->ji), frame->domain, frame->ji->code_start, frame->native_offset, d->user_data);
+               break;
+       default:
+               g_assert_not_reached ();
+               return FALSE;
+       }
+}
+
+
 /*
  * mono_stack_walk_async_safe:
  *
  *   Async safe version callable from signal handlers.
  */
 void
-mono_stack_walk_async_safe (MonoStackWalk func, gpointer user_data)
+mono_stack_walk_async_safe (MonoStackWalkAsyncSafe func, void *initial_sig_context, void *user_data)
 {
-       StackWalkUserData ud = { func, user_data };
-       mono_get_eh_callbacks ()->mono_walk_stack_with_ctx (stack_walk_adapter, NULL, MONO_UNWIND_NONE, &ud);
+       MonoContext ctx;
+       AsyncStackWalkUserData ud = { func, user_data };
+
+       mono_sigctx_to_monoctx (initial_sig_context, &ctx);
+       mono_get_eh_callbacks ()->mono_walk_stack_with_ctx (async_stack_walk_adapter, NULL, MONO_UNWIND_SIGNAL_SAFE, &ud);
 }
 
 static gboolean
index ae0ca4417737da07e3487f333c08cbc8fd0eaa95..74d82817bb896c9208e4a755d2c28b0c538532ed 100644 (file)
@@ -90,8 +90,9 @@ mono_stack_walk         (MonoStackWalk func, void* user_data);
 MONO_API void
 mono_stack_walk_no_il   (MonoStackWalk func, void* user_data);
 
+typedef mono_bool (*MonoStackWalkAsyncSafe)     (MonoMethod *method, MonoDomain *domain, void *base_address, int offset, void* data);
 MONO_API void
-mono_stack_walk_async_safe   (MonoStackWalk func, void* user_data);
+mono_stack_walk_async_safe   (MonoStackWalkAsyncSafe func, void *initial_sig_context, void* user_data);
 
 MONO_END_DECLS
 
index 4069e97173fe1a355aff3aac47a22c93d5eed9f5..4130fae8f17a8348e7fa6bc9642a81172f36400e 100644 (file)
@@ -17,7 +17,8 @@ typedef enum {
        DomainJitCodeHashLock,
        IcallLock,
        AssemblyBindingLock,
-       MarshalLock
+       MarshalLock,
+       LoaderGlobalDataLock,
 } RuntimeLocks;
 
 #ifdef LOCK_TRACER
index 0c8fe33f219deadaed0965bed82c58d1a3c880ba..904e4041a68a6d6043c9088b1a3f774547aa4590 100644 (file)
@@ -36,6 +36,7 @@
 #include "mono/metadata/attrdefs.h"
 #include "mono/metadata/gc-internal.h"
 #include "mono/metadata/cominterop.h"
+#include "mono/metadata/remoting.h"
 #include "mono/metadata/reflection-internals.h"
 #include "mono/utils/mono-counters.h"
 #include "mono/utils/mono-tls.h"
 #define OPDEF(a,b,c,d,e,f,g,h,i,j) \
        a = i,
 
-typedef enum {
-       MONO_MARSHAL_NONE,                      /* No marshalling needed */
-       MONO_MARSHAL_COPY,                      /* Can be copied by value to the new domain */
-       MONO_MARSHAL_COPY_OUT,          /* out parameter that needs to be copied back to the original instance */
-       MONO_MARSHAL_SERIALIZE          /* Value needs to be serialized into the new domain */
-} MonoXDomainMarshalType;
-
 enum {
 #include "mono/cil/opcode.def"
        LAST = 0xff
 };
 #undef OPDEF
 
-struct _MonoRemotingMethods {
-       MonoMethod *invoke;
-       MonoMethod *invoke_with_check;
-       MonoMethod *xdomain_invoke;
-       MonoMethod *xdomain_dispatch;
-};
-
-typedef struct _MonoRemotingMethods MonoRemotingMethods;
-
 /* 
  * This mutex protects the various marshalling related caches in MonoImage
  * and a few other data structures static to this file.
@@ -143,27 +128,6 @@ mono_delegate_begin_invoke (MonoDelegate *delegate, gpointer *params);
 static MonoObject *
 mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params);
 
-static void
-mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst);
-
-static gint32
-mono_marshal_set_domain_by_id (gint32 id, MonoBoolean push);
-
-static gboolean
-mono_marshal_check_domain_image (gint32 domain_id, MonoImage *image);
-
-#ifndef DISABLE_REMOTING
-static MonoObject *
-mono_remoting_wrapper (MonoMethod *method, gpointer *params);
-
-MONO_API void
-mono_upgrade_remote_class_wrapper (MonoReflectionType *rtype, MonoTransparentProxy *tproxy);
-
-#endif
-
-static MonoReflectionType *
-type_from_handle (MonoType *handle);
-
 static void
 mono_marshal_set_last_error_windows (int error);
 
@@ -274,22 +238,14 @@ mono_marshal_init (void)
                register_icall (mono_struct_delete_old, "mono_struct_delete_old", "void ptr ptr", FALSE);
                register_icall (mono_delegate_begin_invoke, "mono_delegate_begin_invoke", "object object ptr", FALSE);
                register_icall (mono_delegate_end_invoke, "mono_delegate_end_invoke", "object object ptr", FALSE);
-               register_icall (mono_marshal_xdomain_copy_value, "mono_marshal_xdomain_copy_value", "object object", FALSE);
-               register_icall (mono_marshal_xdomain_copy_out_value, "mono_marshal_xdomain_copy_out_value", "void object object", FALSE);
-               register_icall (mono_marshal_set_domain_by_id, "mono_marshal_set_domain_by_id", "int32 int32 int32", FALSE);
-               register_icall (mono_marshal_check_domain_image, "mono_marshal_check_domain_image", "int32 int32 ptr", FALSE);
                register_icall (mono_compile_method, "mono_compile_method", "ptr ptr", FALSE);
                register_icall (mono_context_get, "mono_context_get", "object", FALSE);
                register_icall (mono_context_set, "mono_context_set", "void object", FALSE);
-               register_icall (type_from_handle, "type_from_handle", "object ptr", FALSE);
                register_icall (mono_gc_wbarrier_generic_nostore, "wb_generic", "void ptr", FALSE);
                register_icall (mono_gchandle_get_target, "mono_gchandle_get_target", "object int32", TRUE);
 
-#ifndef DISABLE_REMOTING
-               register_icall (mono_remoting_wrapper, "mono_remoting_wrapper", "object ptr ptr", FALSE);
-               register_icall (mono_upgrade_remote_class_wrapper, "mono_upgrade_remote_class_wrapper", "void object object", FALSE);
-#endif
                mono_cominterop_init ();
+               mono_remoting_init ();
        }
 }
 
@@ -304,42 +260,17 @@ mono_marshal_cleanup (void)
        marshal_mutex_initialized = FALSE;
 }
 
-#ifndef DISABLE_REMOTING
-static MonoClass *byte_array_class;
-static MonoMethod *method_rs_serialize, *method_rs_deserialize, *method_exc_fixexc, *method_rs_appdomain_target;
-static MonoMethod *method_set_call_context, *method_needs_context_sink, *method_rs_serialize_exc;
-
-static void
-mono_remoting_marshal_init (void)
+void
+mono_marshal_lock_internal (void)
 {
-       MonoClass *klass;
-
-       static gboolean module_initialized = FALSE;
-
-       if (!module_initialized) {
-               klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting", "RemotingServices");
-               method_rs_serialize = mono_class_get_method_from_name (klass, "SerializeCallData", -1);
-               method_rs_deserialize = mono_class_get_method_from_name (klass, "DeserializeCallData", -1);
-               method_rs_serialize_exc = mono_class_get_method_from_name (klass, "SerializeExceptionData", -1);
-       
-               klass = mono_defaults.real_proxy_class;
-               method_rs_appdomain_target = mono_class_get_method_from_name (klass, "GetAppDomainTarget", -1);
-       
-               klass = mono_defaults.exception_class;
-               method_exc_fixexc = mono_class_get_method_from_name (klass, "FixRemotingException", -1);
-       
-               byte_array_class = mono_array_class_get (mono_defaults.byte_class, 1);
-       
-               klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting.Messaging", "CallContext");
-               method_set_call_context = mono_class_get_method_from_name (klass, "SetCurrentCallContext", -1);
-       
-               klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting.Contexts", "Context");
-               method_needs_context_sink = mono_class_get_method_from_name (klass, "get_NeedsContextSink", -1);
+       mono_marshal_lock ();
+}
 
-               module_initialized = TRUE;
-       }
+void
+mono_marshal_unlock_internal (void)
+{
+       mono_marshal_unlock ();
 }
-#endif
 
 gpointer
 mono_delegate_to_ftnptr (MonoDelegate *delegate)
@@ -1082,57 +1013,6 @@ mono_string_new_len_wrapper (const char *text, guint length)
 }
 
 #ifndef DISABLE_JIT
-#ifndef DISABLE_REMOTING
-static int
-mono_mb_emit_proxy_check (MonoMethodBuilder *mb, int branch_code)
-{
-       int pos;
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoObject, vtable));
-       mono_mb_emit_byte (mb, CEE_LDIND_I);
-       mono_mb_emit_icon (mb, MONO_STRUCT_OFFSET (MonoVTable, klass));
-       mono_mb_emit_byte (mb, CEE_ADD);
-       mono_mb_emit_byte (mb, CEE_LDIND_I);
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_CLASSCONST);
-       mono_mb_emit_i4 (mb, mono_mb_add_data (mb, mono_defaults.transparent_proxy_class));
-       pos = mono_mb_emit_branch (mb, branch_code);
-       return pos;
-}
-
-static int
-mono_mb_emit_xdomain_check (MonoMethodBuilder *mb, int branch_code)
-{
-       int pos;
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, target_domain_id));
-       mono_mb_emit_byte (mb, CEE_LDIND_I4);
-       mono_mb_emit_icon (mb, -1);
-       pos = mono_mb_emit_branch (mb, branch_code);
-       return pos;
-}
-
-static int
-mono_mb_emit_contextbound_check (MonoMethodBuilder *mb, int branch_code)
-{
-       static int offset = -1;
-       static guint8 mask;
-
-       if (offset < 0)
-               mono_marshal_find_bitfield_offset (MonoClass, contextbound, &offset, &mask);
-
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, remote_class));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRemoteClass, proxy_class));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_ldflda (mb, offset);
-       mono_mb_emit_byte (mb, CEE_LDIND_U1);
-       mono_mb_emit_icon (mb, mask);
-       mono_mb_emit_byte (mb, CEE_AND);
-       mono_mb_emit_icon (mb, 0);
-       return mono_mb_emit_branch (mb, branch_code);
-}
-#endif /* DISABLE_REMOTING */
 
 /*
  * mono_mb_emit_exception_marshal_directive:
@@ -2165,6 +2045,12 @@ mono_marshal_emit_thread_interrupt_checkpoint (MonoMethodBuilder *mb)
        emit_thread_interrupt_checkpoint (mb);
 }
 
+void
+mono_marshal_emit_thread_force_interrupt_checkpoint (MonoMethodBuilder *mb)
+{
+       emit_thread_force_interrupt_checkpoint (mb);
+}
+
 #endif /* DISABLE_JIT */
 
 static MonoAsyncResult *
@@ -2229,7 +2115,7 @@ mono_delegate_begin_invoke (MonoDelegate *delegate, gpointer *params)
 
 #ifndef DISABLE_JIT
 
-static int
+int
 mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolean save_this)
 {
        int i, params_var, tmp_var;
@@ -2513,7 +2399,7 @@ mono_marshal_find_in_cache (GHashTable *cache, gpointer key)
  *
  *   Create a MonoMethod from MB, set INFO as wrapper info.
  */
-static MonoMethod*
+MonoMethod*
 mono_mb_create (MonoMethodBuilder *mb, MonoMethodSignature *sig,
                                int max_stack, WrapperInfo *info)
 {
@@ -2526,7 +2412,7 @@ mono_mb_create (MonoMethodBuilder *mb, MonoMethodSignature *sig,
 }
 
 /* Create the method from the builder and place it in the cache */
-static MonoMethod*
+MonoMethod*
 mono_mb_create_and_cache_full (GHashTable *cache, gpointer key,
                                                           MonoMethodBuilder *mb, MonoMethodSignature *sig,
                                                           int max_stack, WrapperInfo *info, gboolean *out_found)
@@ -2571,78 +2457,6 @@ mono_mb_create_and_cache (GHashTable *cache, gpointer key,
        return mono_mb_create_and_cache_full (cache, key, mb, sig, max_stack, NULL, NULL);
 }
 
-static inline MonoMethod*
-mono_marshal_remoting_find_in_cache (MonoMethod *method, int wrapper_type)
-{
-       MonoMethod *res = NULL;
-       MonoRemotingMethods *wrps;
-
-       mono_marshal_lock ();
-       if (method->klass->image->remoting_invoke_cache)
-               wrps = g_hash_table_lookup (method->klass->image->remoting_invoke_cache, method);
-       else
-               wrps = NULL;
-
-       if (wrps) {
-               switch (wrapper_type) {
-               case MONO_WRAPPER_REMOTING_INVOKE: res = wrps->invoke; break;
-               case MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK: res = wrps->invoke_with_check; break;
-               case MONO_WRAPPER_XDOMAIN_INVOKE: res = wrps->xdomain_invoke; break;
-               case MONO_WRAPPER_XDOMAIN_DISPATCH: res = wrps->xdomain_dispatch; break;
-               }
-       }
-       
-       /* it is important to do the unlock after the load from wrps, since in
-        * mono_remoting_mb_create_and_cache () we drop the marshal lock to be able
-        * to take the loader lock and some other thread may set the fields.
-        */
-       mono_marshal_unlock ();
-       return res;
-}
-
-/* Create the method from the builder and place it in the cache */
-static inline MonoMethod*
-mono_remoting_mb_create_and_cache (MonoMethod *key, MonoMethodBuilder *mb, 
-                                                               MonoMethodSignature *sig, int max_stack)
-{
-       MonoMethod **res = NULL;
-       MonoRemotingMethods *wrps;
-       GHashTable *cache = get_cache_full (&key->klass->image->remoting_invoke_cache, mono_aligned_addr_hash, NULL, NULL, g_free);
-
-       mono_marshal_lock ();
-       wrps = g_hash_table_lookup (cache, key);
-       if (!wrps) {
-               wrps = g_new0 (MonoRemotingMethods, 1);
-               g_hash_table_insert (cache, key, wrps);
-       }
-
-       switch (mb->method->wrapper_type) {
-       case MONO_WRAPPER_REMOTING_INVOKE: res = &wrps->invoke; break;
-       case MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK: res = &wrps->invoke_with_check; break;
-       case MONO_WRAPPER_XDOMAIN_INVOKE: res = &wrps->xdomain_invoke; break;
-       case MONO_WRAPPER_XDOMAIN_DISPATCH: res = &wrps->xdomain_dispatch; break;
-       default: g_assert_not_reached (); break;
-       }
-       mono_marshal_unlock ();
-
-       if (*res == NULL) {
-               MonoMethod *newm;
-               newm = mono_mb_create_method (mb, sig, max_stack);
-
-               mono_marshal_lock ();
-               if (!*res) {
-                       *res = newm;
-                       mono_marshal_set_wrapper_info (*res, key);
-                       mono_marshal_unlock ();
-               } else {
-                       mono_marshal_unlock ();
-                       mono_free_method (newm);
-               }
-       }
-
-       return *res;
-}              
-
 MonoMethod *
 mono_marshal_method_from_wrapper (MonoMethod *wrapper)
 {
@@ -2721,7 +2535,7 @@ mono_marshal_set_wrapper_info (MonoMethod *method, gpointer data)
        datav [1] = data;
 }
 
-static WrapperInfo*
+WrapperInfo*
 mono_wrapper_info_create (MonoMethodBuilder *mb, WrapperSubtype subtype)
 {
        WrapperInfo *info;
@@ -3037,7 +2851,7 @@ mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params)
 
 #ifndef DISABLE_JIT
 
-static void
+void
 mono_mb_emit_restore_result (MonoMethodBuilder *mb, MonoType *return_type)
 {
        MonoType *t = mono_type_get_underlying_type (return_type);
@@ -3178,2712 +2992,1111 @@ mono_marshal_get_delegate_end_invoke (MonoMethod *method)
        return res;
 }
 
-#ifndef DISABLE_REMOTING
-
-static MonoObject *
-mono_remoting_wrapper (MonoMethod *method, gpointer *params)
+typedef struct
 {
-       MonoMethodMessage *msg;
-       MonoTransparentProxy *this;
-       MonoObject *res, *exc;
-       MonoArray *out_args;
-
-       this = *((MonoTransparentProxy **)params [0]);
-
-       g_assert (this);
-       g_assert (((MonoObject *)this)->vtable->klass == mono_defaults.transparent_proxy_class);
-       
-       /* skip the this pointer */
-       params++;
-
-       if (mono_class_is_contextbound (this->remote_class->proxy_class) && this->rp->context == (MonoObject *) mono_context_get ())
-       {
-               int i;
-               MonoMethodSignature *sig = mono_method_signature (method);
-               int count = sig->param_count;
-               gpointer* mparams = (gpointer*) alloca(count*sizeof(gpointer));
-
-               for (i=0; i<count; i++) {
-                       MonoClass *class = mono_class_from_mono_type (sig->params [i]);
-                       if (class->valuetype) {
-                               if (sig->params [i]->byref) {
-                                       mparams[i] = *((gpointer *)params [i]);
-                               } else {
-                                       /* runtime_invoke expects a boxed instance */
-                                       if (mono_class_is_nullable (mono_class_from_mono_type (sig->params [i])))
-                                               mparams[i] = mono_nullable_box (params [i], class);
-                                       else
-                                               mparams[i] = params [i];
-                               }
-                       } else {
-                               mparams[i] = *((gpointer**)params [i]);
-                       }
-               }
+       MonoMethodSignature *sig;
+       MonoMethod *method;
+} SignatureMethodPair;
 
-               return mono_runtime_invoke (method, method->klass->valuetype? mono_object_unbox ((MonoObject*)this): this, mparams, NULL);
-       }
+static guint
+signature_method_pair_hash (gconstpointer data)
+{
+       SignatureMethodPair *pair = (SignatureMethodPair*)data;
 
-       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL);
+       return mono_signature_hash (pair->sig) ^ mono_aligned_addr_hash (pair->method);
+}
 
-       res = mono_remoting_invoke ((MonoObject *)this->rp, msg, &exc, &out_args);
+static gboolean
+signature_method_pair_equal (SignatureMethodPair *pair1, SignatureMethodPair *pair2)
+{
+       return mono_metadata_signature_equal (pair1->sig, pair2->sig) && (pair1->method == pair2->method);
+}
 
-       if (exc)
-               mono_raise_exception ((MonoException *)exc);
+static gboolean
+signature_method_pair_matches_method (gpointer key, gpointer value, gpointer user_data)
+{
+       SignatureMethodPair *pair = (SignatureMethodPair*)key;
+       MonoMethod *method = (MonoMethod*)user_data;
 
-       mono_method_return_message_restore (method, params, out_args);
+       return pair->method == method;
+}
 
-       return res;
-} 
+static void
+free_signature_method_pair (SignatureMethodPair *pair)
+{
+       g_free (pair);
+}
 
-MonoMethod *
-mono_marshal_get_remoting_invoke (MonoMethod *method)
+static MonoMethod *
+mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt, gboolean static_method_with_first_arg_bound, MonoMethod *target_method)
 {
-       MonoMethodSignature *sig;
+       MonoMethodSignature *sig, *static_sig, *invoke_sig;
+       int i;
        MonoMethodBuilder *mb;
        MonoMethod *res;
-       int params_var;
+       GHashTable *cache;
+       gpointer cache_key = NULL;
+       SignatureMethodPair key;
+       SignatureMethodPair *new_key;
+       int local_prev, local_target;
+       int pos0;
+       char *name;
+       MonoClass *target_class = NULL;
+       gboolean closed_over_null = FALSE;
+       MonoGenericContext *ctx = NULL;
+       MonoGenericContainer *container = NULL;
+       MonoMethod *orig_method = NULL;
+       WrapperInfo *info;
+       WrapperSubtype subtype = WRAPPER_SUBTYPE_NONE;
+       gboolean found;
 
-       g_assert (method);
+       g_assert (method && method->klass->parent == mono_defaults.multicastdelegate_class &&
+                 !strcmp (method->name, "Invoke"));
 
-       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE || method->wrapper_type == MONO_WRAPPER_XDOMAIN_INVOKE)
-               return method;
+       invoke_sig = sig = mono_signature_no_pinvoke (method);
 
-       /* this seems to be the best plase to put this, as all remoting invokes seem to get filtered through here */
-#ifndef DISABLE_COM
-       if (mono_class_is_com_object (method->klass) || method->klass == mono_class_get_com_object_class ()) {
-               MonoVTable *vtable = mono_class_vtable (mono_domain_get (), method->klass);
-               g_assert (vtable); /*FIXME do proper error handling*/
+       /*
+        * If the delegate target is null, and the target method is not static, a virtual 
+        * call is made to that method with the first delegate argument as this. This is 
+        * a non-documented .NET feature.
+        */
+       if (callvirt) {
+               subtype = WRAPPER_SUBTYPE_DELEGATE_INVOKE_VIRTUAL;
+               if (target_method->is_inflated) {
+                       MonoType *target_type;
 
-               if (!mono_vtable_is_remote (vtable)) {
-                       return mono_cominterop_get_invoke (method);
+                       g_assert (method->signature->hasthis);
+                       target_type = mono_class_inflate_generic_type (method->signature->params [0],
+                               mono_method_get_context (method));
+                       target_class = mono_class_from_mono_type (target_type);
+               } else {
+                       target_class = target_method->klass;
                }
-       }
-#endif
-
-       sig = mono_signature_no_pinvoke (method);
-
-       /* we cant remote methods without this pointer */
-       if (!sig->hasthis)
-               return method;
-
-       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_REMOTING_INVOKE)))
-               return res;
-
-       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_REMOTING_INVOKE);
-
-#ifndef DISABLE_JIT
-       mb->method->save_lmf = 1;
-
-       params_var = mono_mb_emit_save_args (mb, sig, TRUE);
-
-       mono_mb_emit_ptr (mb, method);
-       mono_mb_emit_ldloc (mb, params_var);
-       mono_mb_emit_icall (mb, mono_remoting_wrapper);
-       emit_thread_interrupt_checkpoint (mb);
 
-       if (sig->ret->type == MONO_TYPE_VOID) {
-               mono_mb_emit_byte (mb, CEE_POP);
-               mono_mb_emit_byte (mb, CEE_RET);
-       } else {
-                mono_mb_emit_restore_result (mb, sig->ret);
+               closed_over_null = sig->param_count == mono_method_signature (target_method)->param_count;
        }
-#endif
 
-       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
-       mono_mb_free (mb);
+       if (static_method_with_first_arg_bound) {
+               subtype = WRAPPER_SUBTYPE_DELEGATE_INVOKE_BOUND;
+               g_assert (!callvirt);
+               invoke_sig = mono_method_signature (target_method);
+       }
 
-       return res;
-}
+       /*
+        * For generic delegates, create a generic wrapper, and return an instance to help AOT.
+        */
+       if (method->is_inflated && subtype == WRAPPER_SUBTYPE_NONE) {
+               orig_method = method;
+               ctx = &((MonoMethodInflated*)method)->context;
+               method = ((MonoMethodInflated*)method)->declaring;
 
-#endif /* DISABLE_REMOTING */
+               container = mono_method_get_generic_container (method);
+               if (!container)
+                       container = method->klass->generic_container;
+               g_assert (container);
 
+               invoke_sig = sig = mono_signature_no_pinvoke (method);
+       }
 
-/* mono_get_xdomain_marshal_type()
- * Returns the kind of marshalling that a type needs for cross domain calls.
- */
-static MonoXDomainMarshalType
-mono_get_xdomain_marshal_type (MonoType *t)
-{
-       switch (t->type) {
-       case MONO_TYPE_VOID:
-               g_assert_not_reached ();
-               break;
-       case MONO_TYPE_U1:
-       case MONO_TYPE_I1:
-       case MONO_TYPE_BOOLEAN:
-       case MONO_TYPE_U2:
-       case MONO_TYPE_I2:
-       case MONO_TYPE_CHAR:
-       case MONO_TYPE_U4:
-       case MONO_TYPE_I4:
-       case MONO_TYPE_I8:
-       case MONO_TYPE_U8:
-       case MONO_TYPE_R4:
-       case MONO_TYPE_R8:
-               return MONO_MARSHAL_NONE;
-       case MONO_TYPE_STRING:
-               return MONO_MARSHAL_COPY;
-       case MONO_TYPE_ARRAY:
-       case MONO_TYPE_SZARRAY: {
-               MonoClass *elem_class = mono_class_from_mono_type (t)->element_class;
-               if (mono_get_xdomain_marshal_type (&(elem_class->byval_arg)) != MONO_MARSHAL_SERIALIZE)
-                       return MONO_MARSHAL_COPY;
-               break;
-       }
-       }
-
-       return MONO_MARSHAL_SERIALIZE;
-}
-
-
-/* mono_marshal_xdomain_copy_value
- * Makes a copy of "val" suitable for the current domain.
- */
-MonoObject *
-mono_marshal_xdomain_copy_value (MonoObject *val)
-{
-       MonoDomain *domain;
-       if (val == NULL) return NULL;
-
-       domain = mono_domain_get ();
-
-       switch (mono_object_class (val)->byval_arg.type) {
-       case MONO_TYPE_VOID:
-               g_assert_not_reached ();
-               break;
-       case MONO_TYPE_U1:
-       case MONO_TYPE_I1:
-       case MONO_TYPE_BOOLEAN:
-       case MONO_TYPE_U2:
-       case MONO_TYPE_I2:
-       case MONO_TYPE_CHAR:
-       case MONO_TYPE_U4:
-       case MONO_TYPE_I4:
-       case MONO_TYPE_I8:
-       case MONO_TYPE_U8:
-       case MONO_TYPE_R4:
-       case MONO_TYPE_R8: {
-               return mono_value_box (domain, mono_object_class (val), ((char*)val) + sizeof(MonoObject));
-       }
-       case MONO_TYPE_STRING: {
-               MonoString *str = (MonoString *) val;
-               return (MonoObject *) mono_string_new_utf16 (domain, mono_string_chars (str), mono_string_length (str));
-       }
-       case MONO_TYPE_ARRAY:
-       case MONO_TYPE_SZARRAY: {
-               MonoArray *acopy;
-               MonoXDomainMarshalType mt = mono_get_xdomain_marshal_type (&(mono_object_class (val)->element_class->byval_arg));
-               if (mt == MONO_MARSHAL_SERIALIZE) return NULL;
-               acopy = mono_array_clone_in_domain (domain, (MonoArray *) val);
-               if (mt == MONO_MARSHAL_COPY) {
-                       int i, len = mono_array_length (acopy);
-                       for (i = 0; i < len; i++) {
-                               MonoObject *item = mono_array_get (acopy, gpointer, i);
-                               mono_array_setref (acopy, i, mono_marshal_xdomain_copy_value (item));
-                       }
-               }
-               return (MonoObject *) acopy;
-       }
-       }
-
-       if (mono_object_class (val) == mono_defaults.stringbuilder_class) {
-               MonoStringBuilder *oldsb = (MonoStringBuilder *) val;
-               MonoStringBuilder *newsb = (MonoStringBuilder *) mono_object_new (domain, mono_defaults.stringbuilder_class);
-               MONO_OBJECT_SETREF (newsb, str, mono_string_new_utf16 (domain, mono_string_chars (oldsb->str), mono_string_length (oldsb->str)));
-               newsb->length = oldsb->length;
-               newsb->max_capacity = (gint32)0x7fffffff;
-               return (MonoObject *) newsb;
-       }
-       return NULL;
-}
-
-/* mono_marshal_xdomain_copy_out_value()
- * Copies the contents of the src instance into the dst instance. src and dst
- * must have the same type, and if they are arrays, the same size.
- */
-static void
-mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
-{
-       if (src == NULL || dst == NULL) return;
-       
-       g_assert (mono_object_class (src) == mono_object_class (dst));
+       /*
+        * Check cache
+        */
+       if (ctx) {
+               cache = get_cache (&method->klass->image->delegate_invoke_generic_cache, mono_aligned_addr_hash, NULL);
+               res = check_generic_delegate_wrapper_cache (cache, orig_method, method, ctx);
+               if (res)
+                       return res;
+               cache_key = method->klass;
+       } else if (static_method_with_first_arg_bound) {
+               cache = get_cache (&method->klass->image->delegate_bound_static_invoke_cache,
+                                                  (GHashFunc)mono_signature_hash, 
+                                                  (GCompareFunc)mono_metadata_signature_equal);
+               /*
+                * The wrapper is based on sig+invoke_sig, but sig can be derived from invoke_sig.
+                */
+               res = mono_marshal_find_in_cache (cache, invoke_sig);
+               if (res)
+                       return res;
+               cache_key = invoke_sig;
+       } else if (callvirt) {
+               GHashTable **cache_ptr;
 
-       switch (mono_object_class (src)->byval_arg.type) {
-       case MONO_TYPE_ARRAY:
-       case MONO_TYPE_SZARRAY: {
-               int mt = mono_get_xdomain_marshal_type (&(mono_object_class (src)->element_class->byval_arg));
-               if (mt == MONO_MARSHAL_SERIALIZE) return;
-               if (mt == MONO_MARSHAL_COPY) {
-                       int i, len = mono_array_length ((MonoArray *)dst);
-                       for (i = 0; i < len; i++) {
-                               MonoObject *item = mono_array_get ((MonoArray *)src, gpointer, i);
-                               mono_array_setref ((MonoArray *)dst, i, mono_marshal_xdomain_copy_value (item));
-                       }
-               } else {
-                       mono_array_full_copy ((MonoArray *)src, (MonoArray *)dst);
-               }
-               return;
-       }
-       }
+               cache_ptr = &method->klass->image->delegate_abstract_invoke_cache;
 
-       if (mono_object_class (src) == mono_defaults.stringbuilder_class) {
-               MonoStringBuilder *src_sb = (MonoStringBuilder *) src;
-               MonoStringBuilder *dst_sb = (MonoStringBuilder *) dst;
-       
-               MONO_OBJECT_SETREF (dst_sb, str, mono_string_new_utf16 (mono_object_domain (dst), mono_string_chars (src_sb->str), mono_string_length (src_sb->str)));
-               dst_sb->cached_str = NULL;
-               dst_sb->length = src_sb->length;
+               /* We need to cache the signature+method pair */
+               mono_marshal_lock ();
+               if (!*cache_ptr)
+                       *cache_ptr = g_hash_table_new_full (signature_method_pair_hash, (GEqualFunc)signature_method_pair_equal, (GDestroyNotify)free_signature_method_pair, NULL);
+               cache = *cache_ptr;
+               key.sig = invoke_sig;
+               key.method = target_method;
+               res = g_hash_table_lookup (cache, &key);
+               mono_marshal_unlock ();
+               if (res)
+                       return res;
+       } else {
+               cache = get_cache (&method->klass->image->delegate_invoke_cache,
+                                                  (GHashFunc)mono_signature_hash, 
+                                                  (GCompareFunc)mono_metadata_signature_equal);
+               res = mono_marshal_find_in_cache (cache, sig);
+               if (res)
+                       return res;
+               cache_key = sig;
        }
-}
-
-
-#if !(defined (DISABLE_JIT) || defined (DISABLE_REMOTING))
-
-static void
-mono_marshal_emit_xdomain_copy_value (MonoMethodBuilder *mb, MonoClass *pclass)
-{
-       mono_mb_emit_icall (mb, mono_marshal_xdomain_copy_value);
-       mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
-}
-
-static void
-mono_marshal_emit_xdomain_copy_out_value (MonoMethodBuilder *mb, MonoClass *pclass)
-{
-       mono_mb_emit_icall (mb, mono_marshal_xdomain_copy_out_value);
-}
-#endif
-
-#ifndef DISABLE_REMOTING
-/* mono_marshal_supports_fast_xdomain()
- * Returns TRUE if the method can use the fast xdomain wrapper.
- */
-static gboolean
-mono_marshal_supports_fast_xdomain (MonoMethod *method)
-{
-       return !mono_class_is_contextbound (method->klass) &&
-                  !((method->flags & METHOD_ATTRIBUTE_SPECIAL_NAME) && (strcmp (".ctor", method->name) == 0));
-}
-#endif
-
-static gint32
-mono_marshal_set_domain_by_id (gint32 id, MonoBoolean push)
-{
-       MonoDomain *current_domain = mono_domain_get ();
-       MonoDomain *domain = mono_domain_get_by_id (id);
 
-       if (!domain || !mono_domain_set (domain, FALSE))        
-               mono_raise_exception (mono_get_exception_appdomain_unloaded ());
+       static_sig = signature_dup (method->klass->image, sig);
+       static_sig->hasthis = 0;
+       if (!static_method_with_first_arg_bound)
+               invoke_sig = static_sig;
 
-       if (push)
-               mono_thread_push_appdomain_ref (domain);
+       if (static_method_with_first_arg_bound)
+               name = mono_signature_to_name (invoke_sig, "invoke_bound");
+       else if (closed_over_null)
+               name = mono_signature_to_name (invoke_sig, "invoke_closed_over_null");
+       else if (callvirt)
+               name = mono_signature_to_name (invoke_sig, "invoke_callvirt");
        else
-               mono_thread_pop_appdomain_ref ();
-
-       return current_domain->domain_id;
-}
-
-#if !(defined (DISABLE_JIT) || defined (DISABLE_REMOTING))
-static void
-mono_marshal_emit_switch_domain (MonoMethodBuilder *mb)
-{
-       mono_mb_emit_icall (mb, mono_marshal_set_domain_by_id);
-}
+               name = mono_signature_to_name (invoke_sig, "invoke");
+       if (ctx)
+               mb = mono_mb_new (method->klass, name, MONO_WRAPPER_DELEGATE_INVOKE);
+       else
+               mb = mono_mb_new (get_wrapper_target_class (method->klass->image), name, MONO_WRAPPER_DELEGATE_INVOKE);
+       g_free (name);
 
-/* mono_marshal_emit_load_domain_method ()
- * Loads into the stack a pointer to the code of the provided method for
- * the current domain.
- */
-static void
-mono_marshal_emit_load_domain_method (MonoMethodBuilder *mb, MonoMethod *method)
-{
-       /* We need a pointer to the method for the running domain (not the domain
-        * that compiles the method).
-        */
-       mono_mb_emit_ptr (mb, method);
-       mono_mb_emit_icall (mb, mono_compile_method);
-}
-#endif
+#ifndef DISABLE_JIT
+       /* allocate local 0 (object) */
+       local_target = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       local_prev = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
 
-/* mono_marshal_check_domain_image ()
- * Returns TRUE if the image is loaded in the specified
- * application domain.
- */
-static gboolean
-mono_marshal_check_domain_image (gint32 domain_id, MonoImage *image)
-{
-       MonoAssembly* ass;
-       GSList *tmp;
+       g_assert (sig->hasthis);
        
-       MonoDomain *domain = mono_domain_get_by_id (domain_id);
-       if (!domain)
-               return FALSE;
+       /*
+        * if (prev != null)
+         *     prev.Invoke( args .. );
+        * return this.<target>( args .. );
+         */
        
-       mono_domain_assemblies_lock (domain);
-       for (tmp = domain->domain_assemblies; tmp; tmp = tmp->next) {
-               ass = tmp->data;
-               if (ass->image == image)
-                       break;
-       }
-       mono_domain_assemblies_unlock (domain);
+       /* this wrapper can be used in unmanaged-managed transitions */
+       emit_thread_interrupt_checkpoint (mb);
        
-       return tmp != NULL;
-}
+       /* get this->prev */
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoMulticastDelegate, prev));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_stloc (mb, local_prev);
+       mono_mb_emit_ldloc (mb, local_prev);
 
-#ifndef DISABLE_REMOTING
+       /* if prev != null */
+       pos0 = mono_mb_emit_branch (mb, CEE_BRFALSE);
 
-/* mono_marshal_get_xappdomain_dispatch ()
- * Generates a method that dispatches a method call from another domain into
- * the current domain.
- */
-static MonoMethod *
-mono_marshal_get_xappdomain_dispatch (MonoMethod *method, int *marshal_types, int complex_count, int complex_out_count, int ret_marshal_type)
-{
-       MonoMethodSignature *sig, *csig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       int i, j, param_index, copy_locals_base;
-       MonoClass *ret_class = NULL;
-       int loc_array=0, loc_return=0, loc_serialized_exc=0;
-       MonoExceptionClause *main_clause;
-       int pos, pos_leave;
-       gboolean copy_return;
-
-       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_XDOMAIN_DISPATCH)))
-               return res;
+       /* then recurse */
 
-       sig = mono_method_signature (method);
-       copy_return = (sig->ret->type != MONO_TYPE_VOID && ret_marshal_type != MONO_MARSHAL_SERIALIZE);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_NOT_TAKEN);
 
-       j = 0;
-       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3 + sig->param_count - complex_count);
-       csig->params [j++] = &mono_defaults.object_class->byval_arg;
-       csig->params [j++] = &byte_array_class->this_arg;
-       csig->params [j++] = &byte_array_class->this_arg;
-       for (i = 0; i < sig->param_count; i++) {
-               if (marshal_types [i] != MONO_MARSHAL_SERIALIZE)
-                       csig->params [j++] = sig->params [i];
-       }
-       if (copy_return)
-               csig->ret = sig->ret;
+       mono_mb_emit_ldloc (mb, local_prev);
+       for (i = 0; i < sig->param_count; i++)
+               mono_mb_emit_ldarg (mb, i + 1);
+       if (ctx)
+               mono_mb_emit_op (mb, CEE_CALLVIRT, mono_class_inflate_generic_method (method, &container->context));
        else
-               csig->ret = &mono_defaults.void_class->byval_arg;
-       csig->pinvoke = 1;
-       csig->hasthis = FALSE;
-
-       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_XDOMAIN_DISPATCH);
-       mb->method->save_lmf = 1;
-
-#ifndef DISABLE_JIT
-       /* Locals */
-
-       loc_serialized_exc = mono_mb_add_local (mb, &byte_array_class->byval_arg);
-       if (complex_count > 0)
-               loc_array = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       if (sig->ret->type != MONO_TYPE_VOID) {
-               loc_return = mono_mb_add_local (mb, sig->ret);
-               ret_class = mono_class_from_mono_type (sig->ret);
-       }
-
-       /* try */
-
-       main_clause = mono_image_alloc0 (method->klass->image, sizeof (MonoExceptionClause));
-       main_clause->try_offset = mono_mb_get_label (mb);
-
-       /* Clean the call context */
-
-       mono_mb_emit_byte (mb, CEE_LDNULL);
-       mono_mb_emit_managed_call (mb, method_set_call_context, NULL);
-       mono_mb_emit_byte (mb, CEE_POP);
+               mono_mb_emit_op (mb, CEE_CALLVIRT, method);
+       if (sig->ret->type != MONO_TYPE_VOID)
+               mono_mb_emit_byte (mb, CEE_POP);
 
-       /* Deserialize call data */
+       /* continued or prev == null */
+       mono_mb_patch_branch (mb, pos0);
 
-       mono_mb_emit_ldarg (mb, 1);
+       /* get this->target */
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, target));
        mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_byte (mb, CEE_DUP);
-       pos = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
-       
-       mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
-       mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
-       
-       if (complex_count > 0)
-               mono_mb_emit_stloc (mb, loc_array);
-       else
-               mono_mb_emit_byte (mb, CEE_POP);
+       mono_mb_emit_stloc (mb, local_target);
 
-       mono_mb_patch_short_branch (mb, pos);
+       /*static methods with bound first arg can have null target and still be bound*/
+       if (!static_method_with_first_arg_bound) {
+               /* if target != null */
+               mono_mb_emit_ldloc (mb, local_target);
+               pos0 = mono_mb_emit_branch (mb, CEE_BRFALSE);
 
-       /* Get the target object */
-       
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_managed_call (mb, method_rs_appdomain_target, NULL);
+               /* then call this->method_ptr nonstatic */
+               if (callvirt) {
+                       // FIXME:
+                       mono_mb_emit_exception_full (mb, "System", "NotImplementedException", "");
+               } else {
+                       mono_mb_emit_ldloc (mb, local_target);
+                       for (i = 0; i < sig->param_count; ++i)
+                               mono_mb_emit_ldarg (mb, i + 1);
+                       mono_mb_emit_ldarg (mb, 0);
+                       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, method_ptr));
+                       mono_mb_emit_byte (mb, CEE_LDIND_I );
+                       mono_mb_emit_op (mb, CEE_CALLI, sig);
 
-       /* Load the arguments */
+                       mono_mb_emit_byte (mb, CEE_RET);
+               }
        
-       copy_locals_base = mb->locals;
-       param_index = 3;        // Index of the first non-serialized parameter of this wrapper
-       j = 0;
-       for (i = 0; i < sig->param_count; i++) {
-               MonoType *pt = sig->params [i];
-               MonoClass *pclass = mono_class_from_mono_type (pt);
-               switch (marshal_types [i]) {
-               case MONO_MARSHAL_SERIALIZE: {
-                       /* take the value from the serialized array */
-                       mono_mb_emit_ldloc (mb, loc_array);
-                       mono_mb_emit_icon (mb, j++);
-                       if (pt->byref) {
-                               if (pclass->valuetype) {
-                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
-                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
-                               } else {
-                                       mono_mb_emit_op (mb, CEE_LDELEMA, pclass);
-                               }
-                       } else {
-                               if (pclass->valuetype) {
-                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
-                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
-                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
-                               } else {
-                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
-                                       if (pclass != mono_defaults.object_class) {
-                                               mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
-                                       }
-                               }
-                       }
-                       break;
-               }
-               case MONO_MARSHAL_COPY_OUT: {
-                       /* Keep a local copy of the value since we need to copy it back after the call */
-                       int copy_local = mono_mb_add_local (mb, &(pclass->byval_arg));
-                       mono_mb_emit_ldarg (mb, param_index++);
-                       mono_marshal_emit_xdomain_copy_value (mb, pclass);
-                       mono_mb_emit_byte (mb, CEE_DUP);
-                       mono_mb_emit_stloc (mb, copy_local);
-                       break;
-               }
-               case MONO_MARSHAL_COPY: {
-                       mono_mb_emit_ldarg (mb, param_index);
-                       if (pt->byref) {
-                               mono_mb_emit_byte (mb, CEE_DUP);
-                               mono_mb_emit_byte (mb, CEE_DUP);
-                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
-                               mono_marshal_emit_xdomain_copy_value (mb, pclass);
-                               mono_mb_emit_byte (mb, CEE_STIND_REF);
-                       } else {
-                               mono_marshal_emit_xdomain_copy_value (mb, pclass);
-                       }
-                       param_index++;
-                       break;
-               }
-               case MONO_MARSHAL_NONE:
-                       mono_mb_emit_ldarg (mb, param_index++);
-                       break;
-               }
-       }
-
-       /* Make the call to the real object */
-
-       emit_thread_force_interrupt_checkpoint (mb);
-       
-       mono_mb_emit_op (mb, CEE_CALLVIRT, method);
-
-       if (sig->ret->type != MONO_TYPE_VOID)
-               mono_mb_emit_stloc (mb, loc_return);
-
-       /* copy back MONO_MARSHAL_COPY_OUT parameters */
-
-       j = 0;
-       param_index = 3;
-       for (i = 0; i < sig->param_count; i++) {
-               if (marshal_types [i] == MONO_MARSHAL_SERIALIZE) continue;
-               if (marshal_types [i] == MONO_MARSHAL_COPY_OUT) {
-                       mono_mb_emit_ldloc (mb, copy_locals_base + (j++));
-                       mono_mb_emit_ldarg (mb, param_index);
-                       mono_marshal_emit_xdomain_copy_out_value (mb, mono_class_from_mono_type (sig->params [i]));
-               }
-               param_index++;
-       }
-
-       /* Serialize the return values */
-       
-       if (complex_out_count > 0) {
-               /* Reset parameters in the array that don't need to be serialized back */
-               j = 0;
-               for (i = 0; i < sig->param_count; i++) {
-                       if (marshal_types[i] != MONO_MARSHAL_SERIALIZE) continue;
-                       if (!sig->params [i]->byref) {
-                               mono_mb_emit_ldloc (mb, loc_array);
-                               mono_mb_emit_icon (mb, j);
-                               mono_mb_emit_byte (mb, CEE_LDNULL);
-                               mono_mb_emit_byte (mb, CEE_STELEM_REF);
-                       }
-                       j++;
-               }
-       
-               /* Add the return value to the array */
-       
-               if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
-                       mono_mb_emit_ldloc (mb, loc_array);
-                       mono_mb_emit_icon (mb, complex_count);  /* The array has an additional slot to hold the ret value */
-                       mono_mb_emit_ldloc (mb, loc_return);
-
-                       g_assert (ret_class); /*FIXME properly fail here*/
-                       if (ret_class->valuetype) {
-                               mono_mb_emit_op (mb, CEE_BOX, ret_class);
-                       }
-                       mono_mb_emit_byte (mb, CEE_STELEM_REF);
-               }
-       
-               /* Serialize */
-       
-               mono_mb_emit_ldarg (mb, 1);
-               mono_mb_emit_ldloc (mb, loc_array);
-               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
-               mono_mb_emit_byte (mb, CEE_STIND_REF);
-       } else if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
-               mono_mb_emit_ldarg (mb, 1);
-               mono_mb_emit_ldloc (mb, loc_return);
-               if (ret_class->valuetype) {
-                       mono_mb_emit_op (mb, CEE_BOX, ret_class);
-               }
-               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
-               mono_mb_emit_byte (mb, CEE_STIND_REF);
-       } else {
-               mono_mb_emit_ldarg (mb, 1);
-               mono_mb_emit_byte (mb, CEE_LDNULL);
-               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
-               mono_mb_emit_byte (mb, CEE_STIND_REF);
-       }
-
-       mono_mb_emit_ldarg (mb, 2);
-       mono_mb_emit_byte (mb, CEE_LDNULL);
-       mono_mb_emit_byte (mb, CEE_STIND_REF);
-       pos_leave = mono_mb_emit_branch (mb, CEE_LEAVE);
-
-       /* Main exception catch */
-       main_clause->flags = MONO_EXCEPTION_CLAUSE_NONE;
-       main_clause->try_len = mono_mb_get_pos (mb) - main_clause->try_offset;
-       main_clause->data.catch_class = mono_defaults.object_class;
-       
-       /* handler code */
-       main_clause->handler_offset = mono_mb_get_label (mb);
-       mono_mb_emit_managed_call (mb, method_rs_serialize_exc, NULL);
-       mono_mb_emit_stloc (mb, loc_serialized_exc);
-       mono_mb_emit_ldarg (mb, 2);
-       mono_mb_emit_ldloc (mb, loc_serialized_exc);
-       mono_mb_emit_byte (mb, CEE_STIND_REF);
-       mono_mb_emit_branch (mb, CEE_LEAVE);
-       main_clause->handler_len = mono_mb_get_pos (mb) - main_clause->handler_offset;
-       /* end catch */
-
-       mono_mb_patch_branch (mb, pos_leave);
-       
-       if (copy_return)
-               mono_mb_emit_ldloc (mb, loc_return);
-
-       mono_mb_emit_byte (mb, CEE_RET);
-
-       mono_mb_set_clauses (mb, 1, main_clause);
-#endif
-
-       res = mono_remoting_mb_create_and_cache (method, mb, csig, csig->param_count + 16);
-       mono_mb_free (mb);
-
-       return res;
-}
-
-/* mono_marshal_get_xappdomain_invoke ()
- * Generates a fast remoting wrapper for cross app domain calls.
- */
-MonoMethod *
-mono_marshal_get_xappdomain_invoke (MonoMethod *method)
-{
-       MonoMethodSignature *sig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       int i, j, complex_count, complex_out_count, copy_locals_base;
-       int *marshal_types;
-       MonoClass *ret_class = NULL;
-       MonoMethod *xdomain_method;
-       int ret_marshal_type = MONO_MARSHAL_NONE;
-       int loc_array=0, loc_serialized_data=-1, loc_real_proxy;
-       int loc_old_domainid, loc_domainid, loc_return=0, loc_serialized_exc=0, loc_context;
-       int pos, pos_dispatch, pos_noex;
-       gboolean copy_return = FALSE;
-
-       g_assert (method);
-       
-       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE || method->wrapper_type == MONO_WRAPPER_XDOMAIN_INVOKE)
-               return method;
-
-       /* we cant remote methods without this pointer */
-       if (!mono_method_signature (method)->hasthis)
-               return method;
-
-       if (!mono_marshal_supports_fast_xdomain (method))
-               return mono_marshal_get_remoting_invoke (method);
-       
-       mono_remoting_marshal_init ();
-
-       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_XDOMAIN_INVOKE)))
-               return res;
-       
-       sig = mono_signature_no_pinvoke (method);
-
-       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_XDOMAIN_INVOKE);
-       mb->method->save_lmf = 1;
-
-       /* Count the number of parameters that need to be serialized */
-
-       marshal_types = alloca (sizeof (int) * sig->param_count);
-       complex_count = complex_out_count = 0;
-       for (i = 0; i < sig->param_count; i++) {
-               MonoType *ptype = sig->params[i];
-               int mt = mono_get_xdomain_marshal_type (ptype);
-               
-               /* If the [Out] attribute is applied to a parameter that can be internally copied,
-                * the copy will be made by reusing the original object instance
-                */
-               if ((ptype->attrs & PARAM_ATTRIBUTE_OUT) != 0 && mt == MONO_MARSHAL_COPY && !ptype->byref)
-                       mt = MONO_MARSHAL_COPY_OUT;
-               else if (mt == MONO_MARSHAL_SERIALIZE) {
-                       complex_count++;
-                       if (ptype->byref) complex_out_count++;
-               }
-               marshal_types [i] = mt;
-       }
-
-       if (sig->ret->type != MONO_TYPE_VOID) {
-               ret_marshal_type = mono_get_xdomain_marshal_type (sig->ret);
-               ret_class = mono_class_from_mono_type (sig->ret);
-               copy_return = ret_marshal_type != MONO_MARSHAL_SERIALIZE;
-       }
-       
-       /* Locals */
-
-#ifndef DISABLE_JIT
-       if (complex_count > 0)
-               loc_array = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       loc_serialized_data = mono_mb_add_local (mb, &byte_array_class->byval_arg);
-       loc_real_proxy = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       if (copy_return)
-               loc_return = mono_mb_add_local (mb, sig->ret);
-       loc_old_domainid = mono_mb_add_local (mb, &mono_defaults.int32_class->byval_arg);
-       loc_domainid = mono_mb_add_local (mb, &mono_defaults.int32_class->byval_arg);
-       loc_serialized_exc = mono_mb_add_local (mb, &byte_array_class->byval_arg);
-       loc_context = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-
-       /* Save thread domain data */
-
-       mono_mb_emit_icall (mb, mono_context_get);
-       mono_mb_emit_byte (mb, CEE_DUP);
-       mono_mb_emit_stloc (mb, loc_context);
-
-       /* If the thread is not running in the default context, it needs to go
-        * through the whole remoting sink, since the context is going to change
-        */
-       mono_mb_emit_managed_call (mb, method_needs_context_sink, NULL);
-       pos = mono_mb_emit_short_branch (mb, CEE_BRTRUE_S);
-       
-       /* Another case in which the fast path can't be used: when the target domain
-        * has a different image for the same assembly.
-        */
-
-       /* Get the target domain id */
-
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_byte (mb, CEE_DUP);
-       mono_mb_emit_stloc (mb, loc_real_proxy);
-
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, target_domain_id));
-       mono_mb_emit_byte (mb, CEE_LDIND_I4);
-       mono_mb_emit_stloc (mb, loc_domainid);
-
-       /* Check if the target domain has the same image for the required assembly */
-
-       mono_mb_emit_ldloc (mb, loc_domainid);
-       mono_mb_emit_ptr (mb, method->klass->image);
-       mono_mb_emit_icall (mb, mono_marshal_check_domain_image);
-       pos_dispatch = mono_mb_emit_short_branch (mb, CEE_BRTRUE_S);
-
-       /* Use the whole remoting sink to dispatch this message */
-
-       mono_mb_patch_short_branch (mb, pos);
-
-       mono_mb_emit_ldarg (mb, 0);
-       for (i = 0; i < sig->param_count; i++)
-               mono_mb_emit_ldarg (mb, i + 1);
-       
-       mono_mb_emit_managed_call (mb, mono_marshal_get_remoting_invoke (method), NULL);
-       mono_mb_emit_byte (mb, CEE_RET);
-       mono_mb_patch_short_branch (mb, pos_dispatch);
-
-       /* Create the array that will hold the parameters to be serialized */
-
-       if (complex_count > 0) {
-               mono_mb_emit_icon (mb, (ret_marshal_type == MONO_MARSHAL_SERIALIZE && complex_out_count > 0) ? complex_count + 1 : complex_count);      /* +1 for the return type */
-               mono_mb_emit_op (mb, CEE_NEWARR, mono_defaults.object_class);
-       
-               j = 0;
-               for (i = 0; i < sig->param_count; i++) {
-                       MonoClass *pclass;
-                       if (marshal_types [i] != MONO_MARSHAL_SERIALIZE) continue;
-                       pclass = mono_class_from_mono_type (sig->params[i]);
-                       mono_mb_emit_byte (mb, CEE_DUP);
-                       mono_mb_emit_icon (mb, j);
-                       mono_mb_emit_ldarg (mb, i + 1);         /* 0=this */
-                       if (sig->params[i]->byref) {
-                               if (pclass->valuetype)
-                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
-                               else
-                                       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-                       }
-                       if (pclass->valuetype)
-                               mono_mb_emit_op (mb, CEE_BOX, pclass);
-                       mono_mb_emit_byte (mb, CEE_STELEM_REF);
-                       j++;
-               }
-               mono_mb_emit_stloc (mb, loc_array);
-
-               /* Serialize parameters */
-       
-               mono_mb_emit_ldloc (mb, loc_array);
-               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
-               mono_mb_emit_stloc (mb, loc_serialized_data);
-       } else {
-               mono_mb_emit_byte (mb, CEE_LDNULL);
-               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
-               mono_mb_emit_stloc (mb, loc_serialized_data);
-       }
-
-       /* switch domain */
-
-       mono_mb_emit_ldloc (mb, loc_domainid);
-       mono_mb_emit_byte (mb, CEE_LDC_I4_1);
-       mono_marshal_emit_switch_domain (mb);
-       mono_mb_emit_stloc (mb, loc_old_domainid);
-
-       /* Load the arguments */
-       
-       mono_mb_emit_ldloc (mb, loc_real_proxy);
-       mono_mb_emit_ldloc_addr (mb, loc_serialized_data);
-       mono_mb_emit_ldloc_addr (mb, loc_serialized_exc);
-
-       copy_locals_base = mb->locals;
-       for (i = 0; i < sig->param_count; i++) {
-               switch (marshal_types [i]) {
-               case MONO_MARSHAL_SERIALIZE:
-                       continue;
-               case MONO_MARSHAL_COPY: {
-                       mono_mb_emit_ldarg (mb, i+1);
-                       if (sig->params [i]->byref) {
-                               /* make a local copy of the byref parameter. The real parameter
-                                * will be updated after the xdomain call
-                                */
-                               MonoClass *pclass = mono_class_from_mono_type (sig->params [i]);
-                               int copy_local = mono_mb_add_local (mb, &(pclass->byval_arg));
-                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
-                               mono_mb_emit_stloc (mb, copy_local);
-                               mono_mb_emit_ldloc_addr (mb, copy_local);
-                       }
-                       break;
-               }
-               case MONO_MARSHAL_COPY_OUT:
-               case MONO_MARSHAL_NONE:
-                       mono_mb_emit_ldarg (mb, i+1);
-                       break;
-               }
-       }
-
-       /* Make the call to the invoke wrapper in the target domain */
-
-       xdomain_method = mono_marshal_get_xappdomain_dispatch (method, marshal_types, complex_count, complex_out_count, ret_marshal_type);
-       mono_marshal_emit_load_domain_method (mb, xdomain_method);
-       mono_mb_emit_calli (mb, mono_method_signature (xdomain_method));
-
-       if (copy_return)
-               mono_mb_emit_stloc (mb, loc_return);
-
-       /* Switch domain */
-
-       mono_mb_emit_ldloc (mb, loc_old_domainid);
-       mono_mb_emit_byte (mb, CEE_LDC_I4_0);
-       mono_marshal_emit_switch_domain (mb);
-       mono_mb_emit_byte (mb, CEE_POP);
-       
-       /* Restore thread domain data */
-       
-       mono_mb_emit_ldloc (mb, loc_context);
-       mono_mb_emit_icall (mb, mono_context_set);
-       
-       /* if (loc_serialized_exc != null) ... */
-
-       mono_mb_emit_ldloc (mb, loc_serialized_exc);
-       pos_noex = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
-
-       mono_mb_emit_ldloc (mb, loc_serialized_exc);
-       mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
-       mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
-       mono_mb_emit_op (mb, CEE_CASTCLASS, mono_defaults.exception_class);
-       mono_mb_emit_managed_call (mb, method_exc_fixexc, NULL);
-       mono_mb_emit_byte (mb, CEE_THROW);
-       mono_mb_patch_short_branch (mb, pos_noex);
-
-       /* copy back non-serialized output parameters */
-
-       j = 0;
-       for (i = 0; i < sig->param_count; i++) {
-               if (!sig->params [i]->byref || marshal_types [i] != MONO_MARSHAL_COPY) continue;
-               mono_mb_emit_ldarg (mb, i + 1);
-               mono_mb_emit_ldloc (mb, copy_locals_base + (j++));
-               mono_marshal_emit_xdomain_copy_value (mb, mono_class_from_mono_type (sig->params [i]));
-               mono_mb_emit_byte (mb, CEE_STIND_REF);
+               /* else [target == null] call this->method_ptr static */
+               mono_mb_patch_branch (mb, pos0);
        }
 
-       /* Deserialize out parameters */
-
-       if (complex_out_count > 0) {
-               mono_mb_emit_ldloc (mb, loc_serialized_data);
-               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
-               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
-               mono_mb_emit_stloc (mb, loc_array);
-       
-               /* Copy back output parameters and return type */
-               
-               j = 0;
-               for (i = 0; i < sig->param_count; i++) {
-                       if (marshal_types [i] != MONO_MARSHAL_SERIALIZE) continue;
-                       if (sig->params[i]->byref) {
-                               MonoClass *pclass = mono_class_from_mono_type (sig->params [i]);
+       if (callvirt) {
+               if (!closed_over_null) {
+                       mono_mb_emit_ldarg (mb, 1);
+                       mono_mb_emit_op (mb, CEE_CASTCLASS, target_class);
+                       for (i = 1; i < sig->param_count; ++i)
                                mono_mb_emit_ldarg (mb, i + 1);
-                               mono_mb_emit_ldloc (mb, loc_array);
-                               mono_mb_emit_icon (mb, j);
-                               mono_mb_emit_byte (mb, CEE_LDELEM_REF);
-                               if (pclass->valuetype) {
-                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
-                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
-                                       mono_mb_emit_op (mb, CEE_STOBJ, pclass);
-                               } else {
-                                       if (pclass != mono_defaults.object_class)
-                                               mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
-                                       mono_mb_emit_byte (mb, CEE_STIND_REF);
-                               }
-                       }
-                       j++;
-               }
-       
-               if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
-                       mono_mb_emit_ldloc (mb, loc_array);
-                       mono_mb_emit_icon (mb, complex_count);
-                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
-                       if (ret_class->valuetype) {
-                               mono_mb_emit_op (mb, CEE_UNBOX, ret_class);
-                               mono_mb_emit_op (mb, CEE_LDOBJ, ret_class);
-                       }
-               }
-       } else if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
-               mono_mb_emit_ldloc (mb, loc_serialized_data);
-               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
-               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
-               if (ret_class->valuetype) {
-                       mono_mb_emit_op (mb, CEE_UNBOX, ret_class);
-                       mono_mb_emit_op (mb, CEE_LDOBJ, ret_class);
-               } else if (ret_class != mono_defaults.object_class) {
-                       mono_mb_emit_op (mb, CEE_CASTCLASS, ret_class);
+                       mono_mb_emit_op (mb, CEE_CALLVIRT, target_method);
+               } else {
+                       mono_mb_emit_byte (mb, CEE_LDNULL);
+                       for (i = 0; i < sig->param_count; ++i)
+                               mono_mb_emit_ldarg (mb, i + 1);
+                       mono_mb_emit_op (mb, CEE_CALL, target_method);
                }
-       } else {
-               mono_mb_emit_ldloc (mb, loc_serialized_data);
-               mono_mb_emit_byte (mb, CEE_DUP);
-               pos = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
-               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
-       
-               mono_mb_patch_short_branch (mb, pos);
-               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
-               mono_mb_emit_byte (mb, CEE_POP);
-       }
-
-       if (copy_return) {
-               mono_mb_emit_ldloc (mb, loc_return);
-               if (ret_marshal_type == MONO_MARSHAL_COPY)
-                       mono_marshal_emit_xdomain_copy_value (mb, ret_class);
-       }
-
-       mono_mb_emit_byte (mb, CEE_RET);
-#endif /* DISABLE_JIT */
-
-       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
-       mono_mb_free (mb);
-
-       return res;
-}
-
-MonoMethod *
-mono_marshal_get_remoting_invoke_for_target (MonoMethod *method, MonoRemotingTarget target_type)
-{
-       if (target_type == MONO_REMOTING_TARGET_APPDOMAIN) {
-               return mono_marshal_get_xappdomain_invoke (method);
-       } else if (target_type == MONO_REMOTING_TARGET_COMINTEROP) {
-#ifndef DISABLE_COM
-               return mono_cominterop_get_invoke (method);
-#else
-               g_assert_not_reached ();
-#endif
-       } else {
-               return mono_marshal_get_remoting_invoke (method);
-       }
-       /* Not erached */
-       return NULL;
-}
-
-G_GNUC_UNUSED static gpointer
-mono_marshal_load_remoting_wrapper (MonoRealProxy *rp, MonoMethod *method)
-{
-       if (rp->target_domain_id != -1)
-               return mono_compile_method (mono_marshal_get_xappdomain_invoke (method));
-       else
-               return mono_compile_method (mono_marshal_get_remoting_invoke (method));
-}
-
-MonoMethod *
-mono_marshal_get_remoting_invoke_with_check (MonoMethod *method)
-{
-       MonoMethodSignature *sig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res, *native;
-       int i, pos, pos_rem;
-
-       g_assert (method);
-
-       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK)
-               return method;
-
-       /* we cant remote methods without this pointer */
-       g_assert (mono_method_signature (method)->hasthis);
-
-       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK)))
-               return res;
-
-       sig = mono_signature_no_pinvoke (method);
-       
-       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK);
-
-#ifndef DISABLE_JIT
-       for (i = 0; i <= sig->param_count; i++)
-               mono_mb_emit_ldarg (mb, i);
-       
-       mono_mb_emit_ldarg (mb, 0);
-       pos = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
-
-       if (mono_marshal_supports_fast_xdomain (method)) {
-               mono_mb_emit_ldarg (mb, 0);
-               pos_rem = mono_mb_emit_xdomain_check (mb, CEE_BEQ);
-               
-               /* wrapper for cross app domain calls */
-               native = mono_marshal_get_xappdomain_invoke (method);
-               mono_mb_emit_managed_call (mb, native, mono_method_signature (native));
-               mono_mb_emit_byte (mb, CEE_RET);
-               
-               mono_mb_patch_branch (mb, pos_rem);
-       }
-       /* wrapper for normal remote calls */
-       native = mono_marshal_get_remoting_invoke (method);
-       mono_mb_emit_managed_call (mb, native, mono_method_signature (native));
-       mono_mb_emit_byte (mb, CEE_RET);
-
-       /* not a proxy */
-       mono_mb_patch_branch (mb, pos);
-       mono_mb_emit_managed_call (mb, method, mono_method_signature (method));
-       mono_mb_emit_byte (mb, CEE_RET);
-#endif
-
-       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
-       mono_mb_free (mb);
-
-       return res;
-}
-
-#endif /* DISABLE_REMOTING */
-
-typedef struct
-{
-       MonoMethodSignature *sig;
-       MonoMethod *method;
-} SignatureMethodPair;
-
-static guint
-signature_method_pair_hash (gconstpointer data)
-{
-       SignatureMethodPair *pair = (SignatureMethodPair*)data;
-
-       return mono_signature_hash (pair->sig) ^ mono_aligned_addr_hash (pair->method);
-}
-
-static gboolean
-signature_method_pair_equal (SignatureMethodPair *pair1, SignatureMethodPair *pair2)
-{
-       return mono_metadata_signature_equal (pair1->sig, pair2->sig) && (pair1->method == pair2->method);
-}
-
-static gboolean
-signature_method_pair_matches_method (gpointer key, gpointer value, gpointer user_data)
-{
-       SignatureMethodPair *pair = (SignatureMethodPair*)key;
-       MonoMethod *method = (MonoMethod*)user_data;
-
-       return pair->method == method;
-}
-
-static void
-free_signature_method_pair (SignatureMethodPair *pair)
-{
-       g_free (pair);
-}
-
-static MonoMethod *
-mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt, gboolean static_method_with_first_arg_bound, MonoMethod *target_method)
-{
-       MonoMethodSignature *sig, *static_sig, *invoke_sig;
-       int i;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       GHashTable *cache;
-       gpointer cache_key = NULL;
-       SignatureMethodPair key;
-       SignatureMethodPair *new_key;
-       int local_prev, local_target;
-       int pos0;
-       char *name;
-       MonoClass *target_class = NULL;
-       gboolean closed_over_null = FALSE;
-       MonoGenericContext *ctx = NULL;
-       MonoGenericContainer *container = NULL;
-       MonoMethod *orig_method = NULL;
-       WrapperInfo *info;
-       WrapperSubtype subtype = WRAPPER_SUBTYPE_NONE;
-       gboolean found;
-
-       g_assert (method && method->klass->parent == mono_defaults.multicastdelegate_class &&
-                 !strcmp (method->name, "Invoke"));
-
-       invoke_sig = sig = mono_signature_no_pinvoke (method);
-
-       /*
-        * If the delegate target is null, and the target method is not static, a virtual 
-        * call is made to that method with the first delegate argument as this. This is 
-        * a non-documented .NET feature.
-        */
-       if (callvirt) {
-               subtype = WRAPPER_SUBTYPE_DELEGATE_INVOKE_VIRTUAL;
-               if (target_method->is_inflated) {
-                       MonoType *target_type;
-
-                       g_assert (method->signature->hasthis);
-                       target_type = mono_class_inflate_generic_type (method->signature->params [0],
-                               mono_method_get_context (method));
-                       target_class = mono_class_from_mono_type (target_type);
-               } else {
-                       target_class = target_method->klass;
-               }
-
-               closed_over_null = sig->param_count == mono_method_signature (target_method)->param_count;
-       }
-
-       if (static_method_with_first_arg_bound) {
-               subtype = WRAPPER_SUBTYPE_DELEGATE_INVOKE_BOUND;
-               g_assert (!callvirt);
-               invoke_sig = mono_method_signature (target_method);
-       }
-
-       /*
-        * For generic delegates, create a generic wrapper, and return an instance to help AOT.
-        */
-       if (method->is_inflated && subtype == WRAPPER_SUBTYPE_NONE) {
-               orig_method = method;
-               ctx = &((MonoMethodInflated*)method)->context;
-               method = ((MonoMethodInflated*)method)->declaring;
-
-               container = mono_method_get_generic_container (method);
-               if (!container)
-                       container = method->klass->generic_container;
-               g_assert (container);
-
-               invoke_sig = sig = mono_signature_no_pinvoke (method);
-       }
-
-       /*
-        * Check cache
-        */
-       if (ctx) {
-               cache = get_cache (&method->klass->image->delegate_invoke_generic_cache, mono_aligned_addr_hash, NULL);
-               res = check_generic_delegate_wrapper_cache (cache, orig_method, method, ctx);
-               if (res)
-                       return res;
-               cache_key = method->klass;
-       } else if (static_method_with_first_arg_bound) {
-               cache = get_cache (&method->klass->image->delegate_bound_static_invoke_cache,
-                                                  (GHashFunc)mono_signature_hash, 
-                                                  (GCompareFunc)mono_metadata_signature_equal);
-               /*
-                * The wrapper is based on sig+invoke_sig, but sig can be derived from invoke_sig.
-                */
-               res = mono_marshal_find_in_cache (cache, invoke_sig);
-               if (res)
-                       return res;
-               cache_key = invoke_sig;
-       } else if (callvirt) {
-               GHashTable **cache_ptr;
-
-               cache_ptr = &method->klass->image->delegate_abstract_invoke_cache;
-
-               /* We need to cache the signature+method pair */
-               mono_marshal_lock ();
-               if (!*cache_ptr)
-                       *cache_ptr = g_hash_table_new_full (signature_method_pair_hash, (GEqualFunc)signature_method_pair_equal, (GDestroyNotify)free_signature_method_pair, NULL);
-               cache = *cache_ptr;
-               key.sig = invoke_sig;
-               key.method = target_method;
-               res = g_hash_table_lookup (cache, &key);
-               mono_marshal_unlock ();
-               if (res)
-                       return res;
-       } else {
-               cache = get_cache (&method->klass->image->delegate_invoke_cache,
-                                                  (GHashFunc)mono_signature_hash, 
-                                                  (GCompareFunc)mono_metadata_signature_equal);
-               res = mono_marshal_find_in_cache (cache, sig);
-               if (res)
-                       return res;
-               cache_key = sig;
-       }
-
-       static_sig = signature_dup (method->klass->image, sig);
-       static_sig->hasthis = 0;
-       if (!static_method_with_first_arg_bound)
-               invoke_sig = static_sig;
-
-       if (static_method_with_first_arg_bound)
-               name = mono_signature_to_name (invoke_sig, "invoke_bound");
-       else if (closed_over_null)
-               name = mono_signature_to_name (invoke_sig, "invoke_closed_over_null");
-       else if (callvirt)
-               name = mono_signature_to_name (invoke_sig, "invoke_callvirt");
-       else
-               name = mono_signature_to_name (invoke_sig, "invoke");
-       if (ctx)
-               mb = mono_mb_new (method->klass, name, MONO_WRAPPER_DELEGATE_INVOKE);
-       else
-               mb = mono_mb_new (get_wrapper_target_class (method->klass->image), name, MONO_WRAPPER_DELEGATE_INVOKE);
-       g_free (name);
-
-#ifndef DISABLE_JIT
-       /* allocate local 0 (object) */
-       local_target = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       local_prev = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-
-       g_assert (sig->hasthis);
-       
-       /*
-        * if (prev != null)
-         *     prev.Invoke( args .. );
-        * return this.<target>( args .. );
-         */
-       
-       /* this wrapper can be used in unmanaged-managed transitions */
-       emit_thread_interrupt_checkpoint (mb);
-       
-       /* get this->prev */
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoMulticastDelegate, prev));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_stloc (mb, local_prev);
-       mono_mb_emit_ldloc (mb, local_prev);
-
-       /* if prev != null */
-       pos0 = mono_mb_emit_branch (mb, CEE_BRFALSE);
-
-       /* then recurse */
-
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_NOT_TAKEN);
-
-       mono_mb_emit_ldloc (mb, local_prev);
-       for (i = 0; i < sig->param_count; i++)
-               mono_mb_emit_ldarg (mb, i + 1);
-       if (ctx)
-               mono_mb_emit_op (mb, CEE_CALLVIRT, mono_class_inflate_generic_method (method, &container->context));
-       else
-               mono_mb_emit_op (mb, CEE_CALLVIRT, method);
-       if (sig->ret->type != MONO_TYPE_VOID)
-               mono_mb_emit_byte (mb, CEE_POP);
-
-       /* continued or prev == null */
-       mono_mb_patch_branch (mb, pos0);
-
-       /* get this->target */
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, target));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_stloc (mb, local_target);
-
-       /*static methods with bound first arg can have null target and still be bound*/
-       if (!static_method_with_first_arg_bound) {
-               /* if target != null */
-               mono_mb_emit_ldloc (mb, local_target);
-               pos0 = mono_mb_emit_branch (mb, CEE_BRFALSE);
-
-               /* then call this->method_ptr nonstatic */
-               if (callvirt) {
-                       // FIXME:
-                       mono_mb_emit_exception_full (mb, "System", "NotImplementedException", "");
-               } else {
-                       mono_mb_emit_ldloc (mb, local_target);
-                       for (i = 0; i < sig->param_count; ++i)
-                               mono_mb_emit_ldarg (mb, i + 1);
-                       mono_mb_emit_ldarg (mb, 0);
-                       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, method_ptr));
-                       mono_mb_emit_byte (mb, CEE_LDIND_I );
-                       mono_mb_emit_op (mb, CEE_CALLI, sig);
-
-                       mono_mb_emit_byte (mb, CEE_RET);
-               }
-       
-               /* else [target == null] call this->method_ptr static */
-               mono_mb_patch_branch (mb, pos0);
-       }
-
-       if (callvirt) {
-               if (!closed_over_null) {
-                       mono_mb_emit_ldarg (mb, 1);
-                       mono_mb_emit_op (mb, CEE_CASTCLASS, target_class);
-                       for (i = 1; i < sig->param_count; ++i)
-                               mono_mb_emit_ldarg (mb, i + 1);
-                       mono_mb_emit_op (mb, CEE_CALLVIRT, target_method);
-               } else {
-                       mono_mb_emit_byte (mb, CEE_LDNULL);
-                       for (i = 0; i < sig->param_count; ++i)
-                               mono_mb_emit_ldarg (mb, i + 1);
-                       mono_mb_emit_op (mb, CEE_CALL, target_method);
-               }
-       } else {
-               if (static_method_with_first_arg_bound) {
-                       mono_mb_emit_ldloc (mb, local_target);
-                       if (!MONO_TYPE_IS_REFERENCE (invoke_sig->params[0]))
-                               mono_mb_emit_op (mb, CEE_UNBOX_ANY, mono_class_from_mono_type (invoke_sig->params[0]));
-               }
-               for (i = 0; i < sig->param_count; ++i)
-                       mono_mb_emit_ldarg (mb, i + 1);
-               mono_mb_emit_ldarg (mb, 0);
-               mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, method_ptr));
-               mono_mb_emit_byte (mb, CEE_LDIND_I );
-               mono_mb_emit_op (mb, CEE_CALLI, invoke_sig);
-       }
-
-       mono_mb_emit_byte (mb, CEE_RET);
-
-       mb->skip_visibility = 1;
-#endif /* DISABLE_JIT */
-
-       if (ctx) {
-               MonoMethod *def;
-
-               def = mono_mb_create_and_cache (cache, cache_key, mb, sig, sig->param_count + 16);
-               res = cache_generic_delegate_wrapper (cache, orig_method, def, ctx);
-       } else if (callvirt) {
-               new_key = g_new0 (SignatureMethodPair, 1);
-               *new_key = key;
-
-               info = mono_wrapper_info_create (mb, subtype);
-
-               res = mono_mb_create_and_cache_full (cache, new_key, mb, sig, sig->param_count + 16, info, &found);
-               if (found)
-                       g_free (new_key);
-       } else {
-               info = mono_wrapper_info_create (mb, subtype);
-
-               res = mono_mb_create_and_cache_full (cache, cache_key, mb, sig, sig->param_count + 16, info, NULL);
-       }
-       mono_mb_free (mb);
-
-       return res;     
-}
-
-/*
- * the returned method invokes all methods in a multicast delegate.
- */
-MonoMethod *
-mono_marshal_get_delegate_invoke (MonoMethod *method, MonoDelegate *del)
-{
-       gboolean callvirt = FALSE;
-       gboolean static_method_with_first_arg_bound = FALSE;
-       MonoMethod *target_method = NULL;
-       MonoMethodSignature *sig;
-
-       sig = mono_signature_no_pinvoke (method);
-
-       if (del && !del->target && del->method && mono_method_signature (del->method)->hasthis) {
-               callvirt = TRUE;
-               target_method = del->method;
-       }
-
-       if (del && del->method && mono_method_signature (del->method)->param_count == sig->param_count + 1 && (del->method->flags & METHOD_ATTRIBUTE_STATIC)) {
-               static_method_with_first_arg_bound = TRUE;
-               target_method = del->method;
-       }
-
-       return mono_marshal_get_delegate_invoke_internal (method, callvirt, static_method_with_first_arg_bound, target_method);
-}
-
-/*
- * signature_dup_add_this:
- *
- *  Make a copy of @sig, adding an explicit this argument.
- */
-static MonoMethodSignature*
-signature_dup_add_this (MonoImage *image, MonoMethodSignature *sig, MonoClass *klass)
-{
-       MonoMethodSignature *res;
-       int i;
-
-       res = mono_metadata_signature_alloc (image, sig->param_count + 1);
-       memcpy (res, sig, MONO_SIZEOF_METHOD_SIGNATURE);
-       res->param_count = sig->param_count + 1;
-       res->hasthis = FALSE;
-       for (i = sig->param_count - 1; i >= 0; i --)
-               res->params [i + 1] = sig->params [i];
-       res->params [0] = klass->valuetype ? &klass->this_arg : &klass->byval_arg;
-
-       return res;
-}
-
-typedef struct {
-       MonoMethodSignature *ctor_sig;
-       MonoMethodSignature *sig;
-} CtorSigPair;
-
-/* protected by the marshal lock, contains CtorSigPair pointers */
-static GSList *strsig_list = NULL;
-
-static MonoMethodSignature *
-lookup_string_ctor_signature (MonoMethodSignature *sig)
-{
-       MonoMethodSignature *callsig;
-       CtorSigPair *cs;
-       GSList *item;
-
-       mono_marshal_lock ();
-       callsig = NULL;
-       for (item = strsig_list; item; item = item->next) {
-               cs = item->data;
-               /* mono_metadata_signature_equal () is safe to call with the marshal lock
-                * because it is lock-free.
-                */
-               if (mono_metadata_signature_equal (sig, cs->ctor_sig)) {
-                       callsig = cs->sig;
-                       break;
-               }
-       }
-       mono_marshal_unlock ();
-       return callsig;
-}
-
-static MonoMethodSignature *
-add_string_ctor_signature (MonoMethod *method)
-{
-       MonoMethodSignature *callsig;
-       CtorSigPair *cs;
-
-       callsig = signature_dup (method->klass->image, mono_method_signature (method));
-       callsig->ret = &mono_defaults.string_class->byval_arg;
-       cs = g_new (CtorSigPair, 1);
-       cs->sig = callsig;
-       cs->ctor_sig = mono_method_signature (method);
-
-       mono_marshal_lock ();
-       strsig_list = g_slist_prepend (strsig_list, cs);
-       mono_marshal_unlock ();
-       return callsig;
-}
-
-/*
- * mono_marshal_get_string_ctor_signature:
- *
- *   Return the modified signature used by string ctors (they return the newly created
- * string).
- */
-MonoMethodSignature*
-mono_marshal_get_string_ctor_signature (MonoMethod *method)
-{
-       MonoMethodSignature *sig = lookup_string_ctor_signature (mono_method_signature (method));
-       if (!sig)
-               sig = add_string_ctor_signature (method);
-
-       return sig;
-}
-
-static MonoType*
-get_runtime_invoke_type (MonoType *t, gboolean ret)
-{
-       if (t->byref) {
-               if (t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t)))
-                       return t;
-               /* Can't share this with 'I' as that needs another indirection */
-               return &mono_defaults.int_class->this_arg;
-       }
-
-       if (MONO_TYPE_IS_REFERENCE (t))
-               return &mono_defaults.object_class->byval_arg;
-
-       if (ret)
-               /* The result needs to be boxed */
-               return t;
-
-handle_enum:
-       switch (t->type) {
-               /* Can't share these as the argument needs to be loaded using sign/zero extension */
-               /*
-       case MONO_TYPE_U1:
-               return &mono_defaults.sbyte_class->byval_arg;
-       case MONO_TYPE_U2:
-               return &mono_defaults.int16_class->byval_arg;
-       case MONO_TYPE_U4:
-               return &mono_defaults.int32_class->byval_arg;
-               */
-       case MONO_TYPE_U8:
-               return &mono_defaults.int64_class->byval_arg;
-       case MONO_TYPE_BOOLEAN:
-               return &mono_defaults.byte_class->byval_arg;
-       case MONO_TYPE_CHAR:
-               return &mono_defaults.uint16_class->byval_arg;
-       case MONO_TYPE_U:
-       case MONO_TYPE_PTR:
-               return &mono_defaults.int_class->byval_arg;
-       case MONO_TYPE_VALUETYPE:
-               if (t->data.klass->enumtype) {
-                       t = mono_class_enum_basetype (t->data.klass);
-                       goto handle_enum;
-               }
-               return t;
-       default:
-               return t;
-       }
-}
-
-/*
- * mono_marshal_get_runtime_invoke_sig:
- *
- *   Return a common signature used for sharing runtime invoke wrappers.
- */
-static MonoMethodSignature*
-mono_marshal_get_runtime_invoke_sig (MonoMethodSignature *sig)
-{
-       MonoMethodSignature *res = mono_metadata_signature_dup (sig);
-       int i;
-
-       res->generic_param_count = 0;
-       res->ret = get_runtime_invoke_type (sig->ret, TRUE);
-       for (i = 0; i < res->param_count; ++i)
-               res->params [i] = get_runtime_invoke_type (sig->params [i], FALSE);
-
-       return res;
-}
-
-static gboolean
-runtime_invoke_signature_equal (MonoMethodSignature *sig1, MonoMethodSignature *sig2)
-{
-       /* Can't share wrappers which return a vtype since it needs to be boxed */
-       if (sig1->ret != sig2->ret && !(MONO_TYPE_IS_REFERENCE (sig1->ret) && MONO_TYPE_IS_REFERENCE (sig2->ret)) && !mono_metadata_type_equal (sig1->ret, sig2->ret))
-               return FALSE;
-       else
-               return mono_metadata_signature_equal (sig1, sig2);
-}
-
-#ifndef DISABLE_JIT
-
-/*
- * emit_invoke_call:
- *
- *   Emit the call to the wrapper method from a runtime invoke wrapper.
- */
-static void
-emit_invoke_call (MonoMethodBuilder *mb, MonoMethod *method,
-                                 MonoMethodSignature *sig, MonoMethodSignature *callsig,
-                                 int loc_res,
-                                 gboolean virtual, gboolean need_direct_wrapper)
-{
-       static MonoString *string_dummy = NULL;
-       int i;
-       int *tmp_nullable_locals;
-       gboolean void_ret = FALSE;
-
-       /* to make it work with our special string constructors */
-       if (!string_dummy) {
-               MONO_GC_REGISTER_ROOT_SINGLE (string_dummy);
-               string_dummy = mono_string_new_wrapper ("dummy");
-       }
-
-       if (virtual) {
-               g_assert (sig->hasthis);
-               g_assert (method->flags & METHOD_ATTRIBUTE_VIRTUAL);
-       }
-
-       if (sig->hasthis) {
-               if (method->string_ctor) {
-                       if (mono_gc_is_moving ()) {
-                               mono_mb_emit_ptr (mb, &string_dummy);
-                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
-                       } else {
-                               mono_mb_emit_ptr (mb, string_dummy);
-                       }
-               } else {
-                       mono_mb_emit_ldarg (mb, 0);
-               }
-       }
-
-       tmp_nullable_locals = g_new0 (int, sig->param_count);
-
-       for (i = 0; i < sig->param_count; i++) {
-               MonoType *t = sig->params [i];
-               int type;
-
-               mono_mb_emit_ldarg (mb, 1);
-               if (i) {
-                       mono_mb_emit_icon (mb, sizeof (gpointer) * i);
-                       mono_mb_emit_byte (mb, CEE_ADD);
-               }
-
-               if (t->byref) {
-                       mono_mb_emit_byte (mb, CEE_LDIND_I);
-                       /* A Nullable<T> type don't have a boxed form, it's either null or a boxed T.
-                        * So to make this work we unbox it to a local variablee and push a reference to that.
-                        */
-                       if (t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t))) {
-                               tmp_nullable_locals [i] = mono_mb_add_local (mb, &mono_class_from_mono_type (t)->byval_arg);
-
-                               mono_mb_emit_op (mb, CEE_UNBOX_ANY, mono_class_from_mono_type (t));
-                               mono_mb_emit_stloc (mb, tmp_nullable_locals [i]);
-                               mono_mb_emit_ldloc_addr (mb, tmp_nullable_locals [i]);
-                       }
-                       continue;
-               }
-
-               /*FIXME 'this doesn't handle generic enums. Shouldn't we?*/
-               type = sig->params [i]->type;
-handle_enum:
-               switch (type) {
-               case MONO_TYPE_I1:
-               case MONO_TYPE_BOOLEAN:
-               case MONO_TYPE_U1:
-               case MONO_TYPE_I2:
-               case MONO_TYPE_U2:
-               case MONO_TYPE_CHAR:
-               case MONO_TYPE_I:
-               case MONO_TYPE_U:
-               case MONO_TYPE_I4:
-               case MONO_TYPE_U4:
-               case MONO_TYPE_R4:
-               case MONO_TYPE_R8:
-               case MONO_TYPE_I8:
-               case MONO_TYPE_U8:
-                       mono_mb_emit_byte (mb, CEE_LDIND_I);
-                       mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
-                       break;
-               case MONO_TYPE_STRING:
-               case MONO_TYPE_CLASS:  
-               case MONO_TYPE_ARRAY:
-               case MONO_TYPE_PTR:
-               case MONO_TYPE_SZARRAY:
-               case MONO_TYPE_OBJECT:
-                       mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
-                       break;
-               case MONO_TYPE_GENERICINST:
-                       if (!mono_type_generic_inst_is_valuetype (sig->params [i])) {
-                               mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
-                               break;
-                       }
-
-                       /* fall through */
-               case MONO_TYPE_VALUETYPE:
-                       if (type == MONO_TYPE_VALUETYPE && t->data.klass->enumtype) {
-                               type = mono_class_enum_basetype (t->data.klass)->type;
-                               goto handle_enum;
-                       }
-                       mono_mb_emit_byte (mb, CEE_LDIND_I);
-                       if (mono_class_is_nullable (mono_class_from_mono_type (sig->params [i]))) {
-                               /* Need to convert a boxed vtype to an mp to a Nullable struct */
-                               mono_mb_emit_op (mb, CEE_UNBOX, mono_class_from_mono_type (sig->params [i]));
-                               mono_mb_emit_op (mb, CEE_LDOBJ, mono_class_from_mono_type (sig->params [i]));
-                       } else {
-                               mono_mb_emit_op (mb, CEE_LDOBJ, mono_class_from_mono_type (sig->params [i]));
-                       }
-                       break;
-               default:
-                       g_assert_not_reached ();
-               }
-       }
-       
-       if (virtual) {
-               mono_mb_emit_op (mb, CEE_CALLVIRT, method);
-       } else if (need_direct_wrapper) {
-               mono_mb_emit_op (mb, CEE_CALL, method);
-       } else {
-               mono_mb_emit_ldarg (mb, 3);
-               mono_mb_emit_calli (mb, callsig);
-       }
-
-       if (sig->ret->byref) {
-               /* fixme: */
-               g_assert_not_reached ();
-       }
-
-       switch (sig->ret->type) {
-       case MONO_TYPE_VOID:
-               if (!method->string_ctor)
-                       void_ret = TRUE;
-               break;
-       case MONO_TYPE_BOOLEAN:
-       case MONO_TYPE_CHAR:
-       case MONO_TYPE_I1:
-       case MONO_TYPE_U1:
-       case MONO_TYPE_I2:
-       case MONO_TYPE_U2:
-       case MONO_TYPE_I4:
-       case MONO_TYPE_U4:
-       case MONO_TYPE_I:
-       case MONO_TYPE_U:
-       case MONO_TYPE_R4:
-       case MONO_TYPE_R8:
-       case MONO_TYPE_I8:
-       case MONO_TYPE_U8:
-       case MONO_TYPE_VALUETYPE:
-       case MONO_TYPE_TYPEDBYREF:
-       case MONO_TYPE_GENERICINST:
-               /* box value types */
-               mono_mb_emit_op (mb, CEE_BOX, mono_class_from_mono_type (sig->ret));
-               break;
-       case MONO_TYPE_STRING:
-       case MONO_TYPE_CLASS:  
-       case MONO_TYPE_ARRAY:
-       case MONO_TYPE_SZARRAY:
-       case MONO_TYPE_OBJECT:
-               /* nothing to do */
-               break;
-       case MONO_TYPE_PTR:
-               /* The result is an IntPtr */
-               mono_mb_emit_op (mb, CEE_BOX, mono_defaults.int_class);
-               break;
-       default:
-               g_assert_not_reached ();
-       }
-
-       if (!void_ret)
-               mono_mb_emit_stloc (mb, loc_res);
-
-       /* Convert back nullable-byref arguments */
-       for (i = 0; i < sig->param_count; i++) {
-               MonoType *t = sig->params [i];
-
-               /* 
-                * Box the result and put it back into the array, the caller will have
-                * to obtain it from there.
-                */
-               if (t->byref && t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t))) {
-                       mono_mb_emit_ldarg (mb, 1);                     
-                       mono_mb_emit_icon (mb, sizeof (gpointer) * i);
-                       mono_mb_emit_byte (mb, CEE_ADD);
-
-                       mono_mb_emit_ldloc (mb, tmp_nullable_locals [i]);
-                       mono_mb_emit_op (mb, CEE_BOX, mono_class_from_mono_type (t));
-
-                       mono_mb_emit_byte (mb, CEE_STIND_REF);
-               }
-       }
-
-       g_free (tmp_nullable_locals);
-}
-
-static void
-emit_runtime_invoke_body (MonoMethodBuilder *mb, MonoClass *target_klass, MonoMethod *method,
-                                                 MonoMethodSignature *sig, MonoMethodSignature *callsig,
-                                                 gboolean virtual, gboolean need_direct_wrapper)
-{
-       gint32 labels [16];
-       MonoExceptionClause *clause;
-       int loc_res, loc_exc;
-
-       /* The wrapper looks like this:
-        *
-        * <interrupt check>
-        * if (exc) {
-        *       try {
-        *         return <call>
-        *       } catch (Exception e) {
-        *     *exc = e;
-        *   }
-        * } else {
-        *     return <call>
-        * }
-        */
-
-       /* allocate local 0 (object) tmp */
-       loc_res = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       /* allocate local 1 (object) exc */
-       loc_exc = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-
-       /* *exc is assumed to be initialized to NULL by the caller */
-
-       mono_mb_emit_byte (mb, CEE_LDARG_2);
-       labels [0] = mono_mb_emit_branch (mb, CEE_BRFALSE);
-
-       /*
-        * if (exc) case
-        */
-       labels [1] = mono_mb_get_label (mb);
-       emit_thread_force_interrupt_checkpoint (mb);
-       emit_invoke_call (mb, method, sig, callsig, loc_res, virtual, need_direct_wrapper);
-
-       labels [2] = mono_mb_emit_branch (mb, CEE_LEAVE);
-
-       /* Add a try clause around the call */
-       clause = mono_image_alloc0 (target_klass->image, sizeof (MonoExceptionClause));
-       clause->flags = MONO_EXCEPTION_CLAUSE_NONE;
-       clause->data.catch_class = mono_defaults.exception_class;
-       clause->try_offset = labels [1];
-       clause->try_len = mono_mb_get_label (mb) - labels [1];
-
-       clause->handler_offset = mono_mb_get_label (mb);
-
-       /* handler code */
-       mono_mb_emit_stloc (mb, loc_exc);       
-       mono_mb_emit_byte (mb, CEE_LDARG_2);
-       mono_mb_emit_ldloc (mb, loc_exc);
-       mono_mb_emit_byte (mb, CEE_STIND_REF);
-
-       mono_mb_emit_branch (mb, CEE_LEAVE);
-
-       clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset;
-
-       mono_mb_set_clauses (mb, 1, clause);
-
-       mono_mb_patch_branch (mb, labels [2]);
-       mono_mb_emit_ldloc (mb, loc_res);
-       mono_mb_emit_byte (mb, CEE_RET);
-
-       /*
-        * if (!exc) case
-        */
-       mono_mb_patch_branch (mb, labels [0]);
-       emit_thread_force_interrupt_checkpoint (mb);
-       emit_invoke_call (mb, method, sig, callsig, loc_res, virtual, need_direct_wrapper);
-
-       mono_mb_emit_ldloc (mb, 0);
-       mono_mb_emit_byte (mb, CEE_RET);
-}
-#endif
-
-/*
- * generates IL code for the runtime invoke function 
- * MonoObject *runtime_invoke (MonoObject *this, void **params, MonoObject **exc, void* method)
- *
- * we also catch exceptions if exc != null
- * If VIRTUAL is TRUE, then METHOD is invoked virtually on THIS. This is useful since
- * it means that the compiled code for METHOD does not have to be looked up 
- * before calling the runtime invoke wrapper. In this case, the wrapper ignores
- * its METHOD argument.
- */
-MonoMethod *
-mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
-{
-       MonoMethodSignature *sig, *csig, *callsig;
-       MonoMethodBuilder *mb;
-       GHashTable *cache = NULL;
-       MonoClass *target_klass;
-       MonoMethod *res = NULL;
-       static MonoMethodSignature *cctor_signature = NULL;
-       static MonoMethodSignature *finalize_signature = NULL;
-       char *name;
-       const char *param_names [16];
-       gboolean need_direct_wrapper = FALSE;
-       WrapperInfo *info;
-
-       g_assert (method);
-
-       if (!cctor_signature) {
-               cctor_signature = mono_metadata_signature_alloc (mono_defaults.corlib, 0);
-               cctor_signature->ret = &mono_defaults.void_class->byval_arg;
-       }
-       if (!finalize_signature) {
-               finalize_signature = mono_metadata_signature_alloc (mono_defaults.corlib, 0);
-               finalize_signature->ret = &mono_defaults.void_class->byval_arg;
-               finalize_signature->hasthis = 1;
-       }
-
-       if (virtual)
-               need_direct_wrapper = TRUE;
-
-       /* 
-        * Use a separate cache indexed by methods to speed things up and to avoid the
-        * boundless mempool growth caused by the signature_dup stuff below.
-        */
-       if (virtual)
-               cache = get_cache (&method->klass->image->runtime_invoke_vcall_cache, mono_aligned_addr_hash, NULL);
-       else
-               cache = get_cache (&method->klass->image->runtime_invoke_direct_cache, mono_aligned_addr_hash, NULL);
-       res = mono_marshal_find_in_cache (cache, method);
-       if (res)
-               return res;
-               
-       if (method->klass->rank && (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) &&
-               (method->iflags & METHOD_IMPL_ATTRIBUTE_NATIVE)) {
-               /* 
-                * Array Get/Set/Address methods. The JIT implements them using inline code
-                * so we need to create an invoke wrapper which calls the method directly.
-                */
-               need_direct_wrapper = TRUE;
-       }
-               
-       if (method->string_ctor) {
-               callsig = lookup_string_ctor_signature (mono_method_signature (method));
-               if (!callsig)
-                       callsig = add_string_ctor_signature (method);
-               /* Can't share this as we push a string as this */
-               need_direct_wrapper = TRUE;
-       } else {
-               if (method_is_dynamic (method))
-                       callsig = signature_dup (method->klass->image, mono_method_signature (method));
-               else
-                       callsig = mono_method_signature (method);
-       }
-
-       target_klass = get_wrapper_target_class (method->klass->image);
-
-       /* Try to share wrappers for non-corlib methods with simple signatures */
-       if (mono_metadata_signature_equal (callsig, cctor_signature)) {
-               callsig = cctor_signature;
-               target_klass = mono_defaults.object_class;
-       } else if (mono_metadata_signature_equal (callsig, finalize_signature)) {
-               callsig = finalize_signature;
-               target_klass = mono_defaults.object_class;
-       }
-
-       if (need_direct_wrapper) {
-               /* Already searched at the start */
-       } else {
-               MonoMethodSignature *tmp_sig;
-
-               callsig = mono_marshal_get_runtime_invoke_sig (callsig);
-
-               if (method->klass->valuetype && mono_method_signature (method)->hasthis)
-                       /* These have a different csig */
-                       cache = get_cache (&target_klass->image->runtime_invoke_vtype_cache,
-                                                          (GHashFunc)mono_signature_hash,
-                                                          (GCompareFunc)runtime_invoke_signature_equal);
-               else
-                       cache = get_cache (&target_klass->image->runtime_invoke_cache,
-                                                          (GHashFunc)mono_signature_hash,
-                                                          (GCompareFunc)runtime_invoke_signature_equal);
-
-               /* from mono_marshal_find_in_cache */
-               mono_marshal_lock ();
-               res = g_hash_table_lookup (cache, callsig);
-               mono_marshal_unlock ();
-
-               if (res) {
-                       g_free (callsig);
-                       return res;
-               }
-
-               /* Make a copy of the signature from the image mempool */
-               tmp_sig = callsig;
-               callsig = mono_metadata_signature_dup_full (target_klass->image, callsig);
-               g_free (tmp_sig);
-       }
-       
-       sig = mono_method_signature (method);
-
-       csig = mono_metadata_signature_alloc (target_klass->image, 4);
-
-       csig->ret = &mono_defaults.object_class->byval_arg;
-       if (method->klass->valuetype && mono_method_signature (method)->hasthis)
-               csig->params [0] = get_runtime_invoke_type (&method->klass->this_arg, FALSE);
-       else
-               csig->params [0] = &mono_defaults.object_class->byval_arg;
-       csig->params [1] = &mono_defaults.int_class->byval_arg;
-       csig->params [2] = &mono_defaults.int_class->byval_arg;
-       csig->params [3] = &mono_defaults.int_class->byval_arg;
-       csig->pinvoke = 1;
-#if TARGET_WIN32
-       /* This is called from runtime code so it has to be cdecl */
-       csig->call_convention = MONO_CALL_C;
-#endif
-
-       name = mono_signature_to_name (callsig, virtual ? "runtime_invoke_virtual" : "runtime_invoke");
-       mb = mono_mb_new (target_klass, name,  MONO_WRAPPER_RUNTIME_INVOKE);
-       g_free (name);
-
-#ifndef DISABLE_JIT
-       param_names [0] = "this";
-       param_names [1] = "params";
-       param_names [2] = "exc";
-       param_names [3] = "method";
-       mono_mb_set_param_names (mb, param_names);
-
-       emit_runtime_invoke_body (mb, target_klass, method, sig, callsig, virtual, need_direct_wrapper);
-#endif
-
-       if (need_direct_wrapper) {
-#ifndef DISABLE_JIT
-               mb->skip_visibility = 1;
-#endif
-               info = mono_wrapper_info_create (mb, virtual ? WRAPPER_SUBTYPE_RUNTIME_INVOKE_VIRTUAL : WRAPPER_SUBTYPE_RUNTIME_INVOKE_DIRECT);
-               info->d.runtime_invoke.method = method;
-               res = mono_mb_create_and_cache_full (cache, method, mb, csig, sig->param_count + 16, info, NULL);
-       } else {
-               /* taken from mono_mb_create_and_cache */
-               mono_marshal_lock ();
-               res = g_hash_table_lookup (cache, callsig);
-               mono_marshal_unlock ();
-
-               info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_RUNTIME_INVOKE_NORMAL);
-               info->d.runtime_invoke.sig = callsig;
-
-               /* Somebody may have created it before us */
-               if (!res) {
-                       MonoMethod *newm;
-                       newm = mono_mb_create (mb, csig, sig->param_count + 16, info);
-
-                       mono_marshal_lock ();
-                       res = g_hash_table_lookup (cache, callsig);
-                       if (!res) {
-                               res = newm;
-                               g_hash_table_insert (cache, callsig, res);
-                               /* Can't insert it into wrapper_hash since the key is a signature */
-                               g_hash_table_insert (method->klass->image->runtime_invoke_direct_cache, method, res);
-                       } else {
-                               mono_free_method (newm);
-                       }
-                       mono_marshal_unlock ();
-               }
-
-               /* end mono_mb_create_and_cache */
-       }
-
-       mono_mb_free (mb);
-
-       return res;     
-}
-
-/*
- * mono_marshal_get_runtime_invoke_dynamic:
- *
- *   Return a method which can be used to invoke managed methods from native code
- * dynamically.
- * The signature of the returned method is given by RuntimeInvokeDynamicFunction:
- * void runtime_invoke (void *args, MonoObject **exc, void *compiled_method)
- * ARGS should point to an architecture specific structure containing 
- * the arguments and space for the return value.
- * The other arguments are the same as for runtime_invoke (), except that
- * ARGS should contain the this argument too.
- * This wrapper serves the same purpose as the runtime-invoke wrappers, but there
- * is only one copy of it, which is useful in full-aot.
- * The wrapper info for the wrapper is a WrapperInfo structure.
- */
-MonoMethod*
-mono_marshal_get_runtime_invoke_dynamic (void)
-{
-       static MonoMethod *method;
-       MonoMethodSignature *csig;
-       MonoExceptionClause *clause;
-       MonoMethodBuilder *mb;
-       int pos, posna;
-       char *name;
-       WrapperInfo *info;
-
-       if (method)
-               return method;
-
-       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
-
-       csig->ret = &mono_defaults.void_class->byval_arg;
-       csig->params [0] = &mono_defaults.int_class->byval_arg;
-       csig->params [1] = &mono_defaults.int_class->byval_arg;
-       csig->params [2] = &mono_defaults.int_class->byval_arg;
-       csig->params [3] = &mono_defaults.int_class->byval_arg;
-
-       name = g_strdup ("runtime_invoke_dynamic");
-       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_RUNTIME_INVOKE);
-       g_free (name);
-
-#ifndef DISABLE_JIT
-       /* allocate local 0 (object) tmp */
-       mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-       /* allocate local 1 (object) exc */
-       mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
-
-       /* cond set *exc to null */
-       mono_mb_emit_byte (mb, CEE_LDARG_1);
-       mono_mb_emit_byte (mb, CEE_BRFALSE_S);
-       mono_mb_emit_byte (mb, 3);      
-       mono_mb_emit_byte (mb, CEE_LDARG_1);
-       mono_mb_emit_byte (mb, CEE_LDNULL);
-       mono_mb_emit_byte (mb, CEE_STIND_REF);
-
-       emit_thread_force_interrupt_checkpoint (mb);
-
-       mono_mb_emit_byte (mb, CEE_LDARG_0);
-       mono_mb_emit_byte (mb, CEE_LDARG_2);
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_DYN_CALL);
-
-       pos = mono_mb_emit_branch (mb, CEE_LEAVE);
-
-       clause = mono_image_alloc0 (mono_defaults.corlib, sizeof (MonoExceptionClause));
-       clause->flags = MONO_EXCEPTION_CLAUSE_FILTER;
-       clause->try_len = mono_mb_get_label (mb);
-
-       /* filter code */
-       clause->data.filter_offset = mono_mb_get_label (mb);
-       
-       mono_mb_emit_byte (mb, CEE_POP);
-       mono_mb_emit_byte (mb, CEE_LDARG_1);
-       mono_mb_emit_byte (mb, CEE_LDC_I4_0);
-       mono_mb_emit_byte (mb, CEE_PREFIX1);
-       mono_mb_emit_byte (mb, CEE_CGT_UN);
-       mono_mb_emit_byte (mb, CEE_PREFIX1);
-       mono_mb_emit_byte (mb, CEE_ENDFILTER);
-
-       clause->handler_offset = mono_mb_get_label (mb);
-
-       /* handler code */
-       /* store exception */
-       mono_mb_emit_stloc (mb, 1);
-       
-       mono_mb_emit_byte (mb, CEE_LDARG_1);
-       mono_mb_emit_ldloc (mb, 1);
-       mono_mb_emit_byte (mb, CEE_STIND_REF);
-
-       mono_mb_emit_byte (mb, CEE_LDNULL);
-       mono_mb_emit_stloc (mb, 0);
-
-       /* Check for the abort exception */
-       mono_mb_emit_ldloc (mb, 1);
-       mono_mb_emit_op (mb, CEE_ISINST, mono_defaults.threadabortexception_class);
-       posna = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
-
-       /* Delay the abort exception */
-       mono_mb_emit_icall (mb, ves_icall_System_Threading_Thread_ResetAbort);
-
-       mono_mb_patch_short_branch (mb, posna);
-       mono_mb_emit_branch (mb, CEE_LEAVE);
-
-       clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset;
-
-       mono_mb_set_clauses (mb, 1, clause);
+       } else {
+               if (static_method_with_first_arg_bound) {
+                       mono_mb_emit_ldloc (mb, local_target);
+                       if (!MONO_TYPE_IS_REFERENCE (invoke_sig->params[0]))
+                               mono_mb_emit_op (mb, CEE_UNBOX_ANY, mono_class_from_mono_type (invoke_sig->params[0]));
+               }
+               for (i = 0; i < sig->param_count; ++i)
+                       mono_mb_emit_ldarg (mb, i + 1);
+               mono_mb_emit_ldarg (mb, 0);
+               mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoDelegate, method_ptr));
+               mono_mb_emit_byte (mb, CEE_LDIND_I );
+               mono_mb_emit_op (mb, CEE_CALLI, invoke_sig);
+       }
 
-       /* return result */
-       mono_mb_patch_branch (mb, pos);
-       //mono_mb_emit_ldloc (mb, 0);
        mono_mb_emit_byte (mb, CEE_RET);
+
+       mb->skip_visibility = 1;
 #endif /* DISABLE_JIT */
 
-       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_RUNTIME_INVOKE_DYNAMIC);
+       if (ctx) {
+               MonoMethod *def;
 
-       mono_marshal_lock ();
-       /* double-checked locking */
-       if (!method)
-               method = mono_mb_create (mb, csig, 16, info);
+               def = mono_mb_create_and_cache (cache, cache_key, mb, sig, sig->param_count + 16);
+               res = cache_generic_delegate_wrapper (cache, orig_method, def, ctx);
+       } else if (callvirt) {
+               new_key = g_new0 (SignatureMethodPair, 1);
+               *new_key = key;
 
-       mono_marshal_unlock ();
+               info = mono_wrapper_info_create (mb, subtype);
 
+               res = mono_mb_create_and_cache_full (cache, new_key, mb, sig, sig->param_count + 16, info, &found);
+               if (found)
+                       g_free (new_key);
+       } else {
+               info = mono_wrapper_info_create (mb, subtype);
+
+               res = mono_mb_create_and_cache_full (cache, cache_key, mb, sig, sig->param_count + 16, info, NULL);
+       }
        mono_mb_free (mb);
 
-       return method;
+       return res;     
 }
 
-#ifndef DISABLE_JIT
-static void
-mono_mb_emit_auto_layout_exception (MonoMethodBuilder *mb, MonoClass *klass)
+/*
+ * the returned method invokes all methods in a multicast delegate.
+ */
+MonoMethod *
+mono_marshal_get_delegate_invoke (MonoMethod *method, MonoDelegate *del)
 {
-       char *msg = g_strdup_printf ("The type `%s.%s' layout needs to be Sequential or Explicit",
-                                    klass->name_space, klass->name);
+       gboolean callvirt = FALSE;
+       gboolean static_method_with_first_arg_bound = FALSE;
+       MonoMethod *target_method = NULL;
+       MonoMethodSignature *sig;
 
-       mono_mb_emit_exception_marshal_directive (mb, msg);
+       sig = mono_signature_no_pinvoke (method);
+
+       if (del && !del->target && del->method && mono_method_signature (del->method)->hasthis) {
+               callvirt = TRUE;
+               target_method = del->method;
+       }
+
+       if (del && del->method && mono_method_signature (del->method)->param_count == sig->param_count + 1 && (del->method->flags & METHOD_ATTRIBUTE_STATIC)) {
+               static_method_with_first_arg_bound = TRUE;
+               target_method = del->method;
+       }
+
+       return mono_marshal_get_delegate_invoke_internal (method, callvirt, static_method_with_first_arg_bound, target_method);
 }
-#endif
 
-#ifndef DISABLE_REMOTING
 /*
- * mono_marshal_get_ldfld_remote_wrapper:
- * @klass: The return type
+ * signature_dup_add_this:
  *
- * This method generates a wrapper for calling mono_load_remote_field_new.
- * The return type is ignored for now, as mono_load_remote_field_new () always
- * returns an object. In the future, to optimize some codepaths, we might
- * call a different function that takes a pointer to a valuetype, instead.
+ *  Make a copy of @sig, adding an explicit this argument.
  */
-MonoMethod *
-mono_marshal_get_ldfld_remote_wrapper (MonoClass *klass)
+static MonoMethodSignature*
+signature_dup_add_this (MonoImage *image, MonoMethodSignature *sig, MonoClass *klass)
 {
-       MonoMethodSignature *sig, *csig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       static MonoMethod* cached = NULL;
+       MonoMethodSignature *res;
+       int i;
+
+       res = mono_metadata_signature_alloc (image, sig->param_count + 1);
+       memcpy (res, sig, MONO_SIZEOF_METHOD_SIGNATURE);
+       res->param_count = sig->param_count + 1;
+       res->hasthis = FALSE;
+       for (i = sig->param_count - 1; i >= 0; i --)
+               res->params [i + 1] = sig->params [i];
+       res->params [0] = klass->valuetype ? &klass->this_arg : &klass->byval_arg;
+
+       return res;
+}
+
+typedef struct {
+       MonoMethodSignature *ctor_sig;
+       MonoMethodSignature *sig;
+} CtorSigPair;
+
+/* protected by the marshal lock, contains CtorSigPair pointers */
+static GSList *strsig_list = NULL;
+
+static MonoMethodSignature *
+lookup_string_ctor_signature (MonoMethodSignature *sig)
+{
+       MonoMethodSignature *callsig;
+       CtorSigPair *cs;
+       GSList *item;
 
        mono_marshal_lock ();
-       if (cached) {
-               mono_marshal_unlock ();
-               return cached;
+       callsig = NULL;
+       for (item = strsig_list; item; item = item->next) {
+               cs = item->data;
+               /* mono_metadata_signature_equal () is safe to call with the marshal lock
+                * because it is lock-free.
+                */
+               if (mono_metadata_signature_equal (sig, cs->ctor_sig)) {
+                       callsig = cs->sig;
+                       break;
+               }
        }
        mono_marshal_unlock ();
+       return callsig;
+}
 
-       mb = mono_mb_new_no_dup_name (mono_defaults.object_class, "__mono_load_remote_field_new_wrapper", MONO_WRAPPER_LDFLD_REMOTE);
+static MonoMethodSignature *
+add_string_ctor_signature (MonoMethod *method)
+{
+       MonoMethodSignature *callsig;
+       CtorSigPair *cs;
 
-       mb->method->save_lmf = 1;
+       callsig = signature_dup (method->klass->image, mono_method_signature (method));
+       callsig->ret = &mono_defaults.string_class->byval_arg;
+       cs = g_new (CtorSigPair, 1);
+       cs->sig = callsig;
+       cs->ctor_sig = mono_method_signature (method);
 
-       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
-       sig->params [0] = &mono_defaults.object_class->byval_arg;
-       sig->params [1] = &mono_defaults.int_class->byval_arg;
-       sig->params [2] = &mono_defaults.int_class->byval_arg;
-       sig->ret = &mono_defaults.object_class->byval_arg;
+       mono_marshal_lock ();
+       strsig_list = g_slist_prepend (strsig_list, cs);
+       mono_marshal_unlock ();
+       return callsig;
+}
 
-#ifndef DISABLE_JIT
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldarg (mb, 1);
-       mono_mb_emit_ldarg (mb, 2);
+/*
+ * mono_marshal_get_string_ctor_signature:
+ *
+ *   Return the modified signature used by string ctors (they return the newly created
+ * string).
+ */
+MonoMethodSignature*
+mono_marshal_get_string_ctor_signature (MonoMethod *method)
+{
+       MonoMethodSignature *sig = lookup_string_ctor_signature (mono_method_signature (method));
+       if (!sig)
+               sig = add_string_ctor_signature (method);
 
-       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
-       csig->params [0] = &mono_defaults.object_class->byval_arg;
-       csig->params [1] = &mono_defaults.int_class->byval_arg;
-       csig->params [2] = &mono_defaults.int_class->byval_arg;
-       csig->ret = &mono_defaults.object_class->byval_arg;
-       csig->pinvoke = 1;
+       return sig;
+}
 
-       mono_mb_emit_native_call (mb, csig, mono_load_remote_field_new);
-       emit_thread_interrupt_checkpoint (mb);
+static MonoType*
+get_runtime_invoke_type (MonoType *t, gboolean ret)
+{
+       if (t->byref) {
+               if (t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t)))
+                       return t;
+               /* Can't share this with 'I' as that needs another indirection */
+               return &mono_defaults.int_class->this_arg;
+       }
 
-       mono_mb_emit_byte (mb, CEE_RET);
-#endif
+       if (MONO_TYPE_IS_REFERENCE (t))
+               return &mono_defaults.object_class->byval_arg;
 
-       mono_marshal_lock ();
-       res = cached;
-       mono_marshal_unlock ();
-       if (!res) {
-               MonoMethod *newm;
-               newm = mono_mb_create (mb, sig, 4, NULL);
-               mono_marshal_lock ();
-               res = cached;
-               if (!res) {
-                       res = newm;
-                       cached = res;
-                       mono_marshal_unlock ();
-               } else {
-                       mono_marshal_unlock ();
-                       mono_free_method (newm);
+       if (ret)
+               /* The result needs to be boxed */
+               return t;
+
+handle_enum:
+       switch (t->type) {
+               /* Can't share these as the argument needs to be loaded using sign/zero extension */
+               /*
+       case MONO_TYPE_U1:
+               return &mono_defaults.sbyte_class->byval_arg;
+       case MONO_TYPE_U2:
+               return &mono_defaults.int16_class->byval_arg;
+       case MONO_TYPE_U4:
+               return &mono_defaults.int32_class->byval_arg;
+               */
+       case MONO_TYPE_U8:
+               return &mono_defaults.int64_class->byval_arg;
+       case MONO_TYPE_BOOLEAN:
+               return &mono_defaults.byte_class->byval_arg;
+       case MONO_TYPE_CHAR:
+               return &mono_defaults.uint16_class->byval_arg;
+       case MONO_TYPE_U:
+       case MONO_TYPE_PTR:
+               return &mono_defaults.int_class->byval_arg;
+       case MONO_TYPE_VALUETYPE:
+               if (t->data.klass->enumtype) {
+                       t = mono_class_enum_basetype (t->data.klass);
+                       goto handle_enum;
                }
+               return t;
+       default:
+               return t;
        }
-       mono_mb_free (mb);
+}
+
+/*
+ * mono_marshal_get_runtime_invoke_sig:
+ *
+ *   Return a common signature used for sharing runtime invoke wrappers.
+ */
+static MonoMethodSignature*
+mono_marshal_get_runtime_invoke_sig (MonoMethodSignature *sig)
+{
+       MonoMethodSignature *res = mono_metadata_signature_dup (sig);
+       int i;
+
+       res->generic_param_count = 0;
+       res->ret = get_runtime_invoke_type (sig->ret, TRUE);
+       for (i = 0; i < res->param_count; ++i)
+               res->params [i] = get_runtime_invoke_type (sig->params [i], FALSE);
 
        return res;
 }
 
+static gboolean
+runtime_invoke_signature_equal (MonoMethodSignature *sig1, MonoMethodSignature *sig2)
+{
+       /* Can't share wrappers which return a vtype since it needs to be boxed */
+       if (sig1->ret != sig2->ret && !(MONO_TYPE_IS_REFERENCE (sig1->ret) && MONO_TYPE_IS_REFERENCE (sig2->ret)) && !mono_metadata_type_equal (sig1->ret, sig2->ret))
+               return FALSE;
+       else
+               return mono_metadata_signature_equal (sig1, sig2);
+}
+
+#ifndef DISABLE_JIT
+
 /*
- * mono_marshal_get_ldfld_wrapper:
- * @type: the type of the field
+ * emit_invoke_call:
  *
- * This method generates a function which can be use to load a field with type
- * @type from an object. The generated function has the following signature:
- * <@type> ldfld_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset)
+ *   Emit the call to the wrapper method from a runtime invoke wrapper.
  */
-MonoMethod *
-mono_marshal_get_ldfld_wrapper (MonoType *type)
+static void
+emit_invoke_call (MonoMethodBuilder *mb, MonoMethod *method,
+                                 MonoMethodSignature *sig, MonoMethodSignature *callsig,
+                                 int loc_res,
+                                 gboolean virtual, gboolean need_direct_wrapper)
 {
-       MonoMethodSignature *sig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       MonoClass *klass;
-       GHashTable *cache;
-       WrapperInfo *info;
-       char *name;
-       int t, pos0, pos1 = 0;
+       static MonoString *string_dummy = NULL;
+       int i;
+       int *tmp_nullable_locals;
+       gboolean void_ret = FALSE;
 
-       type = mono_type_get_underlying_type (type);
+       /* to make it work with our special string constructors */
+       if (!string_dummy) {
+               MONO_GC_REGISTER_ROOT_SINGLE (string_dummy);
+               string_dummy = mono_string_new_wrapper ("dummy");
+       }
 
-       t = type->type;
+       if (virtual) {
+               g_assert (sig->hasthis);
+               g_assert (method->flags & METHOD_ATTRIBUTE_VIRTUAL);
+       }
 
-       if (!type->byref) {
-               if (type->type == MONO_TYPE_SZARRAY) {
-                       klass = mono_defaults.array_class;
-               } else if (type->type == MONO_TYPE_VALUETYPE) {
-                       klass = type->data.klass;
-               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING) {
-                       klass = mono_defaults.object_class;
-               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
-                       klass = mono_defaults.int_class;
-               } else if (t == MONO_TYPE_GENERICINST) {
-                       if (mono_type_generic_inst_is_valuetype (type))
-                               klass = mono_class_from_mono_type (type);
-                       else
-                               klass = mono_defaults.object_class;
+       if (sig->hasthis) {
+               if (method->string_ctor) {
+                       if (mono_gc_is_moving ()) {
+                               mono_mb_emit_ptr (mb, &string_dummy);
+                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
+                       } else {
+                               mono_mb_emit_ptr (mb, string_dummy);
+                       }
                } else {
-                       klass = mono_class_from_mono_type (type);                       
+                       mono_mb_emit_ldarg (mb, 0);
                }
-       } else {
-               klass = mono_defaults.int_class;
        }
 
-       cache = get_cache (&klass->image->ldfld_wrapper_cache, mono_aligned_addr_hash, NULL);
-       if ((res = mono_marshal_find_in_cache (cache, klass)))
-               return res;
-
-       /* we add the %p pointer value of klass because class names are not unique */
-       name = g_strdup_printf ("__ldfld_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
-       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_LDFLD);
-       g_free (name);
-
-       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
-       sig->params [0] = &mono_defaults.object_class->byval_arg;
-       sig->params [1] = &mono_defaults.int_class->byval_arg;
-       sig->params [2] = &mono_defaults.int_class->byval_arg;
-       sig->params [3] = &mono_defaults.int_class->byval_arg;
-       sig->ret = &klass->byval_arg;
+       tmp_nullable_locals = g_new0 (int, sig->param_count);
 
-#ifndef DISABLE_JIT
-       mono_mb_emit_ldarg (mb, 0);
-       pos0 = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+       for (i = 0; i < sig->param_count; i++) {
+               MonoType *t = sig->params [i];
+               int type;
 
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldarg (mb, 1);
-       mono_mb_emit_ldarg (mb, 2);
+               mono_mb_emit_ldarg (mb, 1);
+               if (i) {
+                       mono_mb_emit_icon (mb, sizeof (gpointer) * i);
+                       mono_mb_emit_byte (mb, CEE_ADD);
+               }
 
-       mono_mb_emit_managed_call (mb, mono_marshal_get_ldfld_remote_wrapper (klass), NULL);
+               if (t->byref) {
+                       mono_mb_emit_byte (mb, CEE_LDIND_I);
+                       /* A Nullable<T> type don't have a boxed form, it's either null or a boxed T.
+                        * So to make this work we unbox it to a local variablee and push a reference to that.
+                        */
+                       if (t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t))) {
+                               tmp_nullable_locals [i] = mono_mb_add_local (mb, &mono_class_from_mono_type (t)->byval_arg);
 
-       /*
-       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
-       csig->params [0] = &mono_defaults.object_class->byval_arg;
-       csig->params [1] = &mono_defaults.int_class->byval_arg;
-       csig->params [2] = &mono_defaults.int_class->byval_arg;
-       csig->ret = &klass->this_arg;
-       csig->pinvoke = 1;
+                               mono_mb_emit_op (mb, CEE_UNBOX_ANY, mono_class_from_mono_type (t));
+                               mono_mb_emit_stloc (mb, tmp_nullable_locals [i]);
+                               mono_mb_emit_ldloc_addr (mb, tmp_nullable_locals [i]);
+                       }
+                       continue;
+               }
 
-       mono_mb_emit_native_call (mb, csig, mono_load_remote_field_new);
-       emit_thread_interrupt_checkpoint (mb);
-       */
+               /*FIXME 'this doesn't handle generic enums. Shouldn't we?*/
+               type = sig->params [i]->type;
+handle_enum:
+               switch (type) {
+               case MONO_TYPE_I1:
+               case MONO_TYPE_BOOLEAN:
+               case MONO_TYPE_U1:
+               case MONO_TYPE_I2:
+               case MONO_TYPE_U2:
+               case MONO_TYPE_CHAR:
+               case MONO_TYPE_I:
+               case MONO_TYPE_U:
+               case MONO_TYPE_I4:
+               case MONO_TYPE_U4:
+               case MONO_TYPE_R4:
+               case MONO_TYPE_R8:
+               case MONO_TYPE_I8:
+               case MONO_TYPE_U8:
+                       mono_mb_emit_byte (mb, CEE_LDIND_I);
+                       mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
+                       break;
+               case MONO_TYPE_STRING:
+               case MONO_TYPE_CLASS:  
+               case MONO_TYPE_ARRAY:
+               case MONO_TYPE_PTR:
+               case MONO_TYPE_SZARRAY:
+               case MONO_TYPE_OBJECT:
+                       mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
+                       break;
+               case MONO_TYPE_GENERICINST:
+                       if (!mono_type_generic_inst_is_valuetype (sig->params [i])) {
+                               mono_mb_emit_byte (mb, mono_type_to_ldind (sig->params [i]));
+                               break;
+                       }
 
-       if (klass->valuetype) {
-               mono_mb_emit_op (mb, CEE_UNBOX, klass);
-               pos1 = mono_mb_emit_branch (mb, CEE_BR);
+                       /* fall through */
+               case MONO_TYPE_VALUETYPE:
+                       if (type == MONO_TYPE_VALUETYPE && t->data.klass->enumtype) {
+                               type = mono_class_enum_basetype (t->data.klass)->type;
+                               goto handle_enum;
+                       }
+                       mono_mb_emit_byte (mb, CEE_LDIND_I);
+                       if (mono_class_is_nullable (mono_class_from_mono_type (sig->params [i]))) {
+                               /* Need to convert a boxed vtype to an mp to a Nullable struct */
+                               mono_mb_emit_op (mb, CEE_UNBOX, mono_class_from_mono_type (sig->params [i]));
+                               mono_mb_emit_op (mb, CEE_LDOBJ, mono_class_from_mono_type (sig->params [i]));
+                       } else {
+                               mono_mb_emit_op (mb, CEE_LDOBJ, mono_class_from_mono_type (sig->params [i]));
+                       }
+                       break;
+               default:
+                       g_assert_not_reached ();
+               }
+       }
+       
+       if (virtual) {
+               mono_mb_emit_op (mb, CEE_CALLVIRT, method);
+       } else if (need_direct_wrapper) {
+               mono_mb_emit_op (mb, CEE_CALL, method);
        } else {
-               mono_mb_emit_byte (mb, CEE_RET);
+               mono_mb_emit_ldarg (mb, 3);
+               mono_mb_emit_calli (mb, callsig);
        }
 
+       if (sig->ret->byref) {
+               /* fixme: */
+               g_assert_not_reached ();
+       }
 
-       mono_mb_patch_branch (mb, pos0);
-
-       mono_mb_emit_ldarg (mb, 0);
-        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
-       mono_mb_emit_ldarg (mb, 3);
-       mono_mb_emit_byte (mb, CEE_ADD);
-
-       if (klass->valuetype)
-               mono_mb_patch_branch (mb, pos1);
-
-       switch (t) {
-       case MONO_TYPE_I1:
-       case MONO_TYPE_U1:
+       switch (sig->ret->type) {
+       case MONO_TYPE_VOID:
+               if (!method->string_ctor)
+                       void_ret = TRUE;
+               break;
        case MONO_TYPE_BOOLEAN:
        case MONO_TYPE_CHAR:
+       case MONO_TYPE_I1:
+       case MONO_TYPE_U1:
        case MONO_TYPE_I2:
        case MONO_TYPE_U2:
        case MONO_TYPE_I4:
        case MONO_TYPE_U4:
-       case MONO_TYPE_I8:
-       case MONO_TYPE_U8:
+       case MONO_TYPE_I:
+       case MONO_TYPE_U:
        case MONO_TYPE_R4:
        case MONO_TYPE_R8:
+       case MONO_TYPE_I8:
+       case MONO_TYPE_U8:
+       case MONO_TYPE_VALUETYPE:
+       case MONO_TYPE_TYPEDBYREF:
+       case MONO_TYPE_GENERICINST:
+               /* box value types */
+               mono_mb_emit_op (mb, CEE_BOX, mono_class_from_mono_type (sig->ret));
+               break;
+       case MONO_TYPE_STRING:
+       case MONO_TYPE_CLASS:  
        case MONO_TYPE_ARRAY:
        case MONO_TYPE_SZARRAY:
        case MONO_TYPE_OBJECT:
-       case MONO_TYPE_CLASS:
-       case MONO_TYPE_STRING:
-       case MONO_TYPE_I:
-       case MONO_TYPE_U:
-       case MONO_TYPE_PTR:
-       case MONO_TYPE_FNPTR:
-               mono_mb_emit_byte (mb, mono_type_to_ldind (type));
-               break;
-       case MONO_TYPE_VALUETYPE:
-               g_assert (!klass->enumtype);
-               mono_mb_emit_op (mb, CEE_LDOBJ, klass);
-               break;
-       case MONO_TYPE_GENERICINST:
-               if (mono_type_generic_inst_is_valuetype (type)) {
-                       mono_mb_emit_op (mb, CEE_LDOBJ, klass);
-               } else {
-                       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-               }
+               /* nothing to do */
                break;
-       case MONO_TYPE_VAR:
-       case MONO_TYPE_MVAR:
-               mono_mb_emit_op (mb, CEE_LDOBJ, klass);
+       case MONO_TYPE_PTR:
+               /* The result is an IntPtr */
+               mono_mb_emit_op (mb, CEE_BOX, mono_defaults.int_class);
                break;
        default:
-               g_warning ("type %x not implemented", type->type);
                g_assert_not_reached ();
        }
 
-       mono_mb_emit_byte (mb, CEE_RET);
-#endif /* DISABLE_JIT */
+       if (!void_ret)
+               mono_mb_emit_stloc (mb, loc_res);
 
-       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
-       info->d.proxy.klass = klass;
-       res = mono_mb_create_and_cache_full (cache, klass,
-                                                                                mb, sig, sig->param_count + 16, info, NULL);
-       mono_mb_free (mb);
-       
-       return res;
-}
+       /* Convert back nullable-byref arguments */
+       for (i = 0; i < sig->param_count; i++) {
+               MonoType *t = sig->params [i];
 
-/*
- * mono_marshal_get_ldflda_wrapper:
- * @type: the type of the field
- *
- * This method generates a function which can be used to load a field address
- * from an object. The generated function has the following signature:
- * gpointer ldflda_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset);
- */
-MonoMethod *
-mono_marshal_get_ldflda_wrapper (MonoType *type)
-{
-       MonoMethodSignature *sig;
-       MonoMethodBuilder *mb;
-       MonoMethod *res;
-       MonoClass *klass;
-       GHashTable *cache;
-       WrapperInfo *info;
-       char *name;
-       int t, pos0, pos1, pos2, pos3;
+               /* 
+                * Box the result and put it back into the array, the caller will have
+                * to obtain it from there.
+                */
+               if (t->byref && t->type == MONO_TYPE_GENERICINST && mono_class_is_nullable (mono_class_from_mono_type (t))) {
+                       mono_mb_emit_ldarg (mb, 1);                     
+                       mono_mb_emit_icon (mb, sizeof (gpointer) * i);
+                       mono_mb_emit_byte (mb, CEE_ADD);
 
-       type = mono_type_get_underlying_type (type);
-       t = type->type;
+                       mono_mb_emit_ldloc (mb, tmp_nullable_locals [i]);
+                       mono_mb_emit_op (mb, CEE_BOX, mono_class_from_mono_type (t));
 
-       if (!type->byref) {
-               if (type->type == MONO_TYPE_SZARRAY) {
-                       klass = mono_defaults.array_class;
-               } else if (type->type == MONO_TYPE_VALUETYPE) {
-                       klass = type->data.klass;
-               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING ||
-                          t == MONO_TYPE_CLASS) { 
-                       klass = mono_defaults.object_class;
-               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
-                       klass = mono_defaults.int_class;
-               } else if (t == MONO_TYPE_GENERICINST) {
-                       if (mono_type_generic_inst_is_valuetype (type))
-                               klass = mono_class_from_mono_type (type);
-                       else
-                               klass = mono_defaults.object_class;
-               } else {
-                       klass = mono_class_from_mono_type (type);                       
+                       mono_mb_emit_byte (mb, CEE_STIND_REF);
                }
-       } else {
-               klass = mono_defaults.int_class;
        }
 
-       cache = get_cache (&klass->image->ldflda_wrapper_cache, mono_aligned_addr_hash, NULL);
-       if ((res = mono_marshal_find_in_cache (cache, klass)))
-               return res;
+       g_free (tmp_nullable_locals);
+}
+
+static void
+emit_runtime_invoke_body (MonoMethodBuilder *mb, MonoClass *target_klass, MonoMethod *method,
+                                                 MonoMethodSignature *sig, MonoMethodSignature *callsig,
+                                                 gboolean virtual, gboolean need_direct_wrapper)
+{
+       gint32 labels [16];
+       MonoExceptionClause *clause;
+       int loc_res, loc_exc;
+
+       /* The wrapper looks like this:
+        *
+        * <interrupt check>
+        * if (exc) {
+        *       try {
+        *         return <call>
+        *       } catch (Exception e) {
+        *     *exc = e;
+        *   }
+        * } else {
+        *     return <call>
+        * }
+        */
+
+       /* allocate local 0 (object) tmp */
+       loc_res = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       /* allocate local 1 (object) exc */
+       loc_exc = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
 
-       /* we add the %p pointer value of klass because class names are not unique */
-       name = g_strdup_printf ("__ldflda_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
-       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_LDFLDA);
-       g_free (name);
+       /* *exc is assumed to be initialized to NULL by the caller */
 
-       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
-       sig->params [0] = &mono_defaults.object_class->byval_arg;
-       sig->params [1] = &mono_defaults.int_class->byval_arg;
-       sig->params [2] = &mono_defaults.int_class->byval_arg;
-       sig->params [3] = &mono_defaults.int_class->byval_arg;
-       sig->ret = &mono_defaults.int_class->byval_arg;
+       mono_mb_emit_byte (mb, CEE_LDARG_2);
+       labels [0] = mono_mb_emit_branch (mb, CEE_BRFALSE);
 
-#ifndef DISABLE_JIT
-       /* if typeof (this) != transparent_proxy goto pos0 */
-       mono_mb_emit_ldarg (mb, 0);
-       pos0 = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+       /*
+        * if (exc) case
+        */
+       labels [1] = mono_mb_get_label (mb);
+       emit_thread_force_interrupt_checkpoint (mb);
+       emit_invoke_call (mb, method, sig, callsig, loc_res, virtual, need_direct_wrapper);
 
-       /* if same_appdomain goto pos1 */
-       mono_mb_emit_ldarg (mb, 0);
-       pos1 = mono_mb_emit_xdomain_check (mb, CEE_BEQ);
+       labels [2] = mono_mb_emit_branch (mb, CEE_LEAVE);
 
-       mono_mb_emit_exception_full (mb, "System", "InvalidOperationException", "Attempt to load field address from object in another appdomain.");
+       /* Add a try clause around the call */
+       clause = mono_image_alloc0 (target_klass->image, sizeof (MonoExceptionClause));
+       clause->flags = MONO_EXCEPTION_CLAUSE_NONE;
+       clause->data.catch_class = mono_defaults.exception_class;
+       clause->try_offset = labels [1];
+       clause->try_len = mono_mb_get_label (mb) - labels [1];
 
-       /* same app domain */
-       mono_mb_patch_branch (mb, pos1);
+       clause->handler_offset = mono_mb_get_label (mb);
 
-       /* if typeof (this) != contextbound goto pos2 */
-       mono_mb_emit_ldarg (mb, 0);
-       pos2 = mono_mb_emit_contextbound_check (mb, CEE_BEQ);
+       /* handler code */
+       mono_mb_emit_stloc (mb, loc_exc);       
+       mono_mb_emit_byte (mb, CEE_LDARG_2);
+       mono_mb_emit_ldloc (mb, loc_exc);
+       mono_mb_emit_byte (mb, CEE_STIND_REF);
 
-       /* if this->rp->context == mono_context_get goto pos3 */
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, context));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_icall (mb, mono_context_get);
-       pos3 = mono_mb_emit_branch (mb, CEE_BEQ);
+       mono_mb_emit_branch (mb, CEE_LEAVE);
 
-       mono_mb_emit_exception_full (mb, "System", "InvalidOperationException", "Attempt to load field address from object in another context.");
+       clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset;
 
-       mono_mb_patch_branch (mb, pos2);
-       mono_mb_patch_branch (mb, pos3);
+       mono_mb_set_clauses (mb, 1, clause);
 
-       /* return the address of the field from this->rp->unwrapped_server */
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, unwrapped_server));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
-       mono_mb_emit_ldarg (mb, 3);
-       mono_mb_emit_byte (mb, CEE_ADD);
+       mono_mb_patch_branch (mb, labels [2]);
+       mono_mb_emit_ldloc (mb, loc_res);
        mono_mb_emit_byte (mb, CEE_RET);
 
-       /* not a proxy: return the address of the field directly */
-       mono_mb_patch_branch (mb, pos0);
-
-       mono_mb_emit_ldarg (mb, 0);
-        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
-       mono_mb_emit_ldarg (mb, 3);
-       mono_mb_emit_byte (mb, CEE_ADD);
+       /*
+        * if (!exc) case
+        */
+       mono_mb_patch_branch (mb, labels [0]);
+       emit_thread_force_interrupt_checkpoint (mb);
+       emit_invoke_call (mb, method, sig, callsig, loc_res, virtual, need_direct_wrapper);
 
+       mono_mb_emit_ldloc (mb, 0);
        mono_mb_emit_byte (mb, CEE_RET);
-#endif
-
-       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
-       info->d.proxy.klass = klass;
-       res = mono_mb_create_and_cache_full (cache, klass,
-                                                                                mb, sig, sig->param_count + 16,
-                                                                                info, NULL);
-       mono_mb_free (mb);
-       
-       return res;
 }
+#endif
 
 /*
- * mono_marshal_get_stfld_remote_wrapper:
- * klass: The type of the field
+ * generates IL code for the runtime invoke function 
+ * MonoObject *runtime_invoke (MonoObject *this, void **params, MonoObject **exc, void* method)
  *
- *  This function generates a wrapper for calling mono_store_remote_field_new
- * with the appropriate signature.
- * Similarly to mono_marshal_get_ldfld_remote_wrapper () this doesn't depend on the
- * klass argument anymore.
+ * we also catch exceptions if exc != null
+ * If VIRTUAL is TRUE, then METHOD is invoked virtually on THIS. This is useful since
+ * it means that the compiled code for METHOD does not have to be looked up 
+ * before calling the runtime invoke wrapper. In this case, the wrapper ignores
+ * its METHOD argument.
  */
 MonoMethod *
-mono_marshal_get_stfld_remote_wrapper (MonoClass *klass)
+mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
 {
-       MonoMethodSignature *sig, *csig;
+       MonoMethodSignature *sig, *csig, *callsig;
        MonoMethodBuilder *mb;
-       MonoMethod *res;
-       static MonoMethod *cached = NULL;
+       GHashTable *cache = NULL;
+       MonoClass *target_klass;
+       MonoMethod *res = NULL;
+       static MonoMethodSignature *cctor_signature = NULL;
+       static MonoMethodSignature *finalize_signature = NULL;
+       char *name;
+       const char *param_names [16];
+       gboolean need_direct_wrapper = FALSE;
+       WrapperInfo *info;
 
-       mono_marshal_lock ();
-       if (cached) {
-               mono_marshal_unlock ();
-               return cached;
+       g_assert (method);
+
+       if (!cctor_signature) {
+               cctor_signature = mono_metadata_signature_alloc (mono_defaults.corlib, 0);
+               cctor_signature->ret = &mono_defaults.void_class->byval_arg;
+       }
+       if (!finalize_signature) {
+               finalize_signature = mono_metadata_signature_alloc (mono_defaults.corlib, 0);
+               finalize_signature->ret = &mono_defaults.void_class->byval_arg;
+               finalize_signature->hasthis = 1;
        }
-       mono_marshal_unlock ();
 
-       mb = mono_mb_new_no_dup_name (mono_defaults.object_class, "__mono_store_remote_field_new_wrapper", MONO_WRAPPER_STFLD_REMOTE);
+       if (virtual)
+               need_direct_wrapper = TRUE;
 
-       mb->method->save_lmf = 1;
+       /* 
+        * Use a separate cache indexed by methods to speed things up and to avoid the
+        * boundless mempool growth caused by the signature_dup stuff below.
+        */
+       if (virtual)
+               cache = get_cache (&method->klass->image->runtime_invoke_vcall_cache, mono_aligned_addr_hash, NULL);
+       else
+               cache = get_cache (&method->klass->image->runtime_invoke_direct_cache, mono_aligned_addr_hash, NULL);
+       res = mono_marshal_find_in_cache (cache, method);
+       if (res)
+               return res;
+               
+       if (method->klass->rank && (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) &&
+               (method->iflags & METHOD_IMPL_ATTRIBUTE_NATIVE)) {
+               /* 
+                * Array Get/Set/Address methods. The JIT implements them using inline code
+                * so we need to create an invoke wrapper which calls the method directly.
+                */
+               need_direct_wrapper = TRUE;
+       }
+               
+       if (method->string_ctor) {
+               callsig = lookup_string_ctor_signature (mono_method_signature (method));
+               if (!callsig)
+                       callsig = add_string_ctor_signature (method);
+               /* Can't share this as we push a string as this */
+               need_direct_wrapper = TRUE;
+       } else {
+               if (method_is_dynamic (method))
+                       callsig = signature_dup (method->klass->image, mono_method_signature (method));
+               else
+                       callsig = mono_method_signature (method);
+       }
 
-       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
-       sig->params [0] = &mono_defaults.object_class->byval_arg;
-       sig->params [1] = &mono_defaults.int_class->byval_arg;
-       sig->params [2] = &mono_defaults.int_class->byval_arg;
-       sig->params [3] = &mono_defaults.object_class->byval_arg;
-       sig->ret = &mono_defaults.void_class->byval_arg;
+       target_klass = get_wrapper_target_class (method->klass->image);
 
-#ifndef DISABLE_JIT
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldarg (mb, 1);
-       mono_mb_emit_ldarg (mb, 2);
-       mono_mb_emit_ldarg (mb, 3);
+       /* Try to share wrappers for non-corlib methods with simple signatures */
+       if (mono_metadata_signature_equal (callsig, cctor_signature)) {
+               callsig = cctor_signature;
+               target_klass = mono_defaults.object_class;
+       } else if (mono_metadata_signature_equal (callsig, finalize_signature)) {
+               callsig = finalize_signature;
+               target_klass = mono_defaults.object_class;
+       }
 
-       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
-       csig->params [0] = &mono_defaults.object_class->byval_arg;
+       if (need_direct_wrapper) {
+               /* Already searched at the start */
+       } else {
+               MonoMethodSignature *tmp_sig;
+
+               callsig = mono_marshal_get_runtime_invoke_sig (callsig);
+
+               if (method->klass->valuetype && mono_method_signature (method)->hasthis)
+                       /* These have a different csig */
+                       cache = get_cache (&target_klass->image->runtime_invoke_vtype_cache,
+                                                          (GHashFunc)mono_signature_hash,
+                                                          (GCompareFunc)runtime_invoke_signature_equal);
+               else
+                       cache = get_cache (&target_klass->image->runtime_invoke_cache,
+                                                          (GHashFunc)mono_signature_hash,
+                                                          (GCompareFunc)runtime_invoke_signature_equal);
+
+               /* from mono_marshal_find_in_cache */
+               mono_marshal_lock ();
+               res = g_hash_table_lookup (cache, callsig);
+               mono_marshal_unlock ();
+
+               if (res) {
+                       g_free (callsig);
+                       return res;
+               }
+
+               /* Make a copy of the signature from the image mempool */
+               tmp_sig = callsig;
+               callsig = mono_metadata_signature_dup_full (target_klass->image, callsig);
+               g_free (tmp_sig);
+       }
+       
+       sig = mono_method_signature (method);
+
+       csig = mono_metadata_signature_alloc (target_klass->image, 4);
+
+       csig->ret = &mono_defaults.object_class->byval_arg;
+       if (method->klass->valuetype && mono_method_signature (method)->hasthis)
+               csig->params [0] = get_runtime_invoke_type (&method->klass->this_arg, FALSE);
+       else
+               csig->params [0] = &mono_defaults.object_class->byval_arg;
        csig->params [1] = &mono_defaults.int_class->byval_arg;
        csig->params [2] = &mono_defaults.int_class->byval_arg;
-       csig->params [3] = &mono_defaults.object_class->byval_arg;
-       csig->ret = &mono_defaults.void_class->byval_arg;
+       csig->params [3] = &mono_defaults.int_class->byval_arg;
        csig->pinvoke = 1;
+#if TARGET_WIN32
+       /* This is called from runtime code so it has to be cdecl */
+       csig->call_convention = MONO_CALL_C;
+#endif
 
-       mono_mb_emit_native_call (mb, csig, mono_store_remote_field_new);
-       emit_thread_interrupt_checkpoint (mb);
+       name = mono_signature_to_name (callsig, virtual ? "runtime_invoke_virtual" : "runtime_invoke");
+       mb = mono_mb_new (target_klass, name,  MONO_WRAPPER_RUNTIME_INVOKE);
+       g_free (name);
 
-       mono_mb_emit_byte (mb, CEE_RET);
+#ifndef DISABLE_JIT
+       param_names [0] = "this";
+       param_names [1] = "params";
+       param_names [2] = "exc";
+       param_names [3] = "method";
+       mono_mb_set_param_names (mb, param_names);
+
+       emit_runtime_invoke_body (mb, target_klass, method, sig, callsig, virtual, need_direct_wrapper);
 #endif
 
-       mono_marshal_lock ();
-       res = cached;
-       mono_marshal_unlock ();
-       if (!res) {
-               MonoMethod *newm;
-               newm = mono_mb_create (mb, sig, 6, NULL);
+       if (need_direct_wrapper) {
+#ifndef DISABLE_JIT
+               mb->skip_visibility = 1;
+#endif
+               info = mono_wrapper_info_create (mb, virtual ? WRAPPER_SUBTYPE_RUNTIME_INVOKE_VIRTUAL : WRAPPER_SUBTYPE_RUNTIME_INVOKE_DIRECT);
+               info->d.runtime_invoke.method = method;
+               res = mono_mb_create_and_cache_full (cache, method, mb, csig, sig->param_count + 16, info, NULL);
+       } else {
+               /* taken from mono_mb_create_and_cache */
                mono_marshal_lock ();
-               res = cached;
+               res = g_hash_table_lookup (cache, callsig);
+               mono_marshal_unlock ();
+
+               info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_RUNTIME_INVOKE_NORMAL);
+               info->d.runtime_invoke.sig = callsig;
+
+               /* Somebody may have created it before us */
                if (!res) {
-                       res = newm;
-                       cached = res;
-                       mono_marshal_unlock ();
-               } else {
+                       MonoMethod *newm;
+                       newm = mono_mb_create (mb, csig, sig->param_count + 16, info);
+
+                       mono_marshal_lock ();
+                       res = g_hash_table_lookup (cache, callsig);
+                       if (!res) {
+                               res = newm;
+                               g_hash_table_insert (cache, callsig, res);
+                               /* Can't insert it into wrapper_hash since the key is a signature */
+                               g_hash_table_insert (method->klass->image->runtime_invoke_direct_cache, method, res);
+                       } else {
+                               mono_free_method (newm);
+                       }
                        mono_marshal_unlock ();
-                       mono_free_method (newm);
                }
+
+               /* end mono_mb_create_and_cache */
        }
+
        mono_mb_free (mb);
-       
-       return res;
+
+       return res;     
 }
 
 /*
- * mono_marshal_get_stfld_wrapper:
- * @type: the type of the field
+ * mono_marshal_get_runtime_invoke_dynamic:
  *
- * This method generates a function which can be use to store a field with type
- * @type. The generated function has the following signature:
- * void stfld_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset, <@type> val)
+ *   Return a method which can be used to invoke managed methods from native code
+ * dynamically.
+ * The signature of the returned method is given by RuntimeInvokeDynamicFunction:
+ * void runtime_invoke (void *args, MonoObject **exc, void *compiled_method)
+ * ARGS should point to an architecture specific structure containing 
+ * the arguments and space for the return value.
+ * The other arguments are the same as for runtime_invoke (), except that
+ * ARGS should contain the this argument too.
+ * This wrapper serves the same purpose as the runtime-invoke wrappers, but there
+ * is only one copy of it, which is useful in full-aot.
+ * The wrapper info for the wrapper is a WrapperInfo structure.
  */
-MonoMethod *
-mono_marshal_get_stfld_wrapper (MonoType *type)
+MonoMethod*
+mono_marshal_get_runtime_invoke_dynamic (void)
 {
-       MonoMethodSignature *sig;
+       static MonoMethod *method;
+       MonoMethodSignature *csig;
+       MonoExceptionClause *clause;
        MonoMethodBuilder *mb;
-       MonoMethod *res;
-       MonoClass *klass;
-       GHashTable *cache;
-       WrapperInfo *info;
+       int pos, posna;
        char *name;
-       int t, pos;
+       WrapperInfo *info;
 
-       type = mono_type_get_underlying_type (type);
-       t = type->type;
+       if (method)
+               return method;
 
-       if (!type->byref) {
-               if (type->type == MONO_TYPE_SZARRAY) {
-                       klass = mono_defaults.array_class;
-               } else if (type->type == MONO_TYPE_VALUETYPE) {
-                       klass = type->data.klass;
-               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING) {
-                       klass = mono_defaults.object_class;
-               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
-                       klass = mono_defaults.int_class;
-               } else if (t == MONO_TYPE_GENERICINST) {
-                       if (mono_type_generic_inst_is_valuetype (type))
-                               klass = mono_class_from_mono_type (type);
-                       else
-                               klass = mono_defaults.object_class;
-               } else {
-                       klass = mono_class_from_mono_type (type);                       
-               }
-       } else {
-               klass = mono_defaults.int_class;
-       }
+       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
 
-       cache = get_cache (&klass->image->stfld_wrapper_cache, mono_aligned_addr_hash, NULL);
-       if ((res = mono_marshal_find_in_cache (cache, klass)))
-               return res;
+       csig->ret = &mono_defaults.void_class->byval_arg;
+       csig->params [0] = &mono_defaults.int_class->byval_arg;
+       csig->params [1] = &mono_defaults.int_class->byval_arg;
+       csig->params [2] = &mono_defaults.int_class->byval_arg;
+       csig->params [3] = &mono_defaults.int_class->byval_arg;
 
-       /* we add the %p pointer value of klass because class names are not unique */
-       name = g_strdup_printf ("__stfld_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
-       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_STFLD);
+       name = g_strdup ("runtime_invoke_dynamic");
+       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_RUNTIME_INVOKE);
        g_free (name);
 
-       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 5);
-       sig->params [0] = &mono_defaults.object_class->byval_arg;
-       sig->params [1] = &mono_defaults.int_class->byval_arg;
-       sig->params [2] = &mono_defaults.int_class->byval_arg;
-       sig->params [3] = &mono_defaults.int_class->byval_arg;
-       sig->params [4] = &klass->byval_arg;
-       sig->ret = &mono_defaults.void_class->byval_arg;
-
 #ifndef DISABLE_JIT
-       mono_mb_emit_ldarg (mb, 0);
-       pos = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+       /* allocate local 0 (object) tmp */
+       mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       /* allocate local 1 (object) exc */
+       mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
 
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldarg (mb, 1);
-       mono_mb_emit_ldarg (mb, 2);
-       mono_mb_emit_ldarg (mb, 4);
-       if (klass->valuetype)
-               mono_mb_emit_op (mb, CEE_BOX, klass);
+       /* cond set *exc to null */
+       mono_mb_emit_byte (mb, CEE_LDARG_1);
+       mono_mb_emit_byte (mb, CEE_BRFALSE_S);
+       mono_mb_emit_byte (mb, 3);      
+       mono_mb_emit_byte (mb, CEE_LDARG_1);
+       mono_mb_emit_byte (mb, CEE_LDNULL);
+       mono_mb_emit_byte (mb, CEE_STIND_REF);
 
-       mono_mb_emit_managed_call (mb, mono_marshal_get_stfld_remote_wrapper (klass), NULL);
+       emit_thread_force_interrupt_checkpoint (mb);
 
-       mono_mb_emit_byte (mb, CEE_RET);
+       mono_mb_emit_byte (mb, CEE_LDARG_0);
+       mono_mb_emit_byte (mb, CEE_LDARG_2);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_DYN_CALL);
 
-       mono_mb_patch_branch (mb, pos);
+       pos = mono_mb_emit_branch (mb, CEE_LEAVE);
 
-       mono_mb_emit_ldarg (mb, 0);
-        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
-       mono_mb_emit_ldarg (mb, 3);
-       mono_mb_emit_byte (mb, CEE_ADD);
-       mono_mb_emit_ldarg (mb, 4);
+       clause = mono_image_alloc0 (mono_defaults.corlib, sizeof (MonoExceptionClause));
+       clause->flags = MONO_EXCEPTION_CLAUSE_FILTER;
+       clause->try_len = mono_mb_get_label (mb);
 
-       switch (t) {
-       case MONO_TYPE_I1:
-       case MONO_TYPE_U1:
-       case MONO_TYPE_BOOLEAN:
-       case MONO_TYPE_CHAR:
-       case MONO_TYPE_I2:
-       case MONO_TYPE_U2:
-       case MONO_TYPE_I4:
-       case MONO_TYPE_U4:
-       case MONO_TYPE_I8:
-       case MONO_TYPE_U8:
-       case MONO_TYPE_R4:
-       case MONO_TYPE_R8:
-       case MONO_TYPE_ARRAY:
-       case MONO_TYPE_SZARRAY:
-       case MONO_TYPE_OBJECT:
-       case MONO_TYPE_CLASS:
-       case MONO_TYPE_STRING:
-       case MONO_TYPE_I:
-       case MONO_TYPE_U:
-       case MONO_TYPE_PTR:
-       case MONO_TYPE_FNPTR:
-               mono_mb_emit_byte (mb, mono_type_to_stind (type));
-               break;
-       case MONO_TYPE_VALUETYPE:
-               g_assert (!klass->enumtype);
-               mono_mb_emit_op (mb, CEE_STOBJ, klass);
-               break;
-       case MONO_TYPE_GENERICINST:
-       case MONO_TYPE_VAR:
-       case MONO_TYPE_MVAR:
-               mono_mb_emit_op (mb, CEE_STOBJ, klass);
-               break;
-       default:
-               g_warning ("type %x not implemented", type->type);
-               g_assert_not_reached ();
-       }
+       /* filter code */
+       clause->data.filter_offset = mono_mb_get_label (mb);
+       
+       mono_mb_emit_byte (mb, CEE_POP);
+       mono_mb_emit_byte (mb, CEE_LDARG_1);
+       mono_mb_emit_byte (mb, CEE_LDC_I4_0);
+       mono_mb_emit_byte (mb, CEE_PREFIX1);
+       mono_mb_emit_byte (mb, CEE_CGT_UN);
+       mono_mb_emit_byte (mb, CEE_PREFIX1);
+       mono_mb_emit_byte (mb, CEE_ENDFILTER);
+
+       clause->handler_offset = mono_mb_get_label (mb);
+
+       /* handler code */
+       /* store exception */
+       mono_mb_emit_stloc (mb, 1);
+       
+       mono_mb_emit_byte (mb, CEE_LDARG_1);
+       mono_mb_emit_ldloc (mb, 1);
+       mono_mb_emit_byte (mb, CEE_STIND_REF);
+
+       mono_mb_emit_byte (mb, CEE_LDNULL);
+       mono_mb_emit_stloc (mb, 0);
+
+       /* Check for the abort exception */
+       mono_mb_emit_ldloc (mb, 1);
+       mono_mb_emit_op (mb, CEE_ISINST, mono_defaults.threadabortexception_class);
+       posna = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
+
+       /* Delay the abort exception */
+       mono_mb_emit_icall (mb, ves_icall_System_Threading_Thread_ResetAbort);
+
+       mono_mb_patch_short_branch (mb, posna);
+       mono_mb_emit_branch (mb, CEE_LEAVE);
+
+       clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset;
+
+       mono_mb_set_clauses (mb, 1, clause);
 
+       /* return result */
+       mono_mb_patch_branch (mb, pos);
+       //mono_mb_emit_ldloc (mb, 0);
        mono_mb_emit_byte (mb, CEE_RET);
-#endif
+#endif /* DISABLE_JIT */
+
+       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_RUNTIME_INVOKE_DYNAMIC);
+
+       mono_marshal_lock ();
+       /* double-checked locking */
+       if (!method)
+               method = mono_mb_create (mb, csig, 16, info);
+
+       mono_marshal_unlock ();
 
-       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
-       info->d.proxy.klass = klass;
-       res = mono_mb_create_and_cache_full (cache, klass,
-                                                                                mb, sig, sig->param_count + 16,
-                                                                                info, NULL);
        mono_mb_free (mb);
-       
-       return res;
+
+       return method;
 }
-#endif /* DISABLE_REMOTING */
+
+#ifndef DISABLE_JIT
+static void
+mono_mb_emit_auto_layout_exception (MonoMethodBuilder *mb, MonoClass *klass)
+{
+       char *msg = g_strdup_printf ("The type `%s.%s' layout needs to be Sequential or Explicit",
+                                    klass->name_space, klass->name);
+
+       mono_mb_emit_exception_marshal_directive (mb, msg);
+}
+#endif
 
 /*
  * generates IL code for the icall wrapper (the generated method
@@ -8955,6 +7168,9 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
                return res;
 
        if (MONO_CLASS_IS_IMPORT (method->klass)) {
+               /* The COM code is not AOT compatible, it calls mono_custom_attrs_get_attr_checked () */
+               if (aot)
+                       return method;
 #ifndef DISABLE_COM
                return mono_cominterop_get_native_wrapper (method);
 #else
@@ -9757,18 +7973,6 @@ mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type)
        return mono_compile_method (method);
 }
 
-static MonoReflectionType *
-type_from_handle (MonoType *handle)
-{
-       MonoDomain *domain = mono_domain_get (); 
-       MonoClass *klass = mono_class_from_mono_type (handle);
-
-       MONO_ARCH_SAVE_REGS;
-
-       mono_class_init (klass);
-       return mono_type_get_object (domain, handle);
-}
-
 /*
  * This does the equivalent of mono_object_castclass_with_cache.
  * The wrapper info for the wrapper is a WrapperInfo structure.
@@ -10174,100 +8378,6 @@ mono_marshal_get_castclass (MonoClass *klass)
        return res;
 }
 
-#ifndef DISABLE_REMOTING
-MonoMethod *
-mono_marshal_get_proxy_cancast (MonoClass *klass)
-{
-       static MonoMethodSignature *isint_sig = NULL;
-       GHashTable *cache;
-       MonoMethod *res;
-       WrapperInfo *info;
-       int pos_failed, pos_end;
-       char *name, *klass_name;
-       MonoMethod *can_cast_to;
-       MonoMethodDesc *desc;
-       MonoMethodBuilder *mb;
-
-       cache = get_cache (&klass->image->proxy_isinst_cache, mono_aligned_addr_hash, NULL);
-       if ((res = mono_marshal_find_in_cache (cache, klass)))
-               return res;
-
-       if (!isint_sig) {
-               isint_sig = mono_metadata_signature_alloc (mono_defaults.corlib, 1);
-               isint_sig->params [0] = &mono_defaults.object_class->byval_arg;
-               isint_sig->ret = &mono_defaults.object_class->byval_arg;
-               isint_sig->pinvoke = 0;
-       }
-
-       klass_name = mono_type_full_name (&klass->byval_arg);
-       name = g_strdup_printf ("__proxy_isinst_wrapper_%s", klass_name); 
-       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_PROXY_ISINST);
-       g_free (klass_name);
-       g_free (name);
-       
-       mb->method->save_lmf = 1;
-
-#ifndef DISABLE_JIT
-       /* get the real proxy from the transparent proxy*/
-       mono_mb_emit_ldarg (mb, 0);
-       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
-       mono_mb_emit_byte (mb, CEE_LDIND_REF);
-       
-       /* get the reflection type from the type handle */
-       mono_mb_emit_ptr (mb, &klass->byval_arg);
-       mono_mb_emit_icall (mb, type_from_handle);
-       
-       mono_mb_emit_ldarg (mb, 0);
-       
-       /* make the call to CanCastTo (type, ob) */
-       desc = mono_method_desc_new ("IRemotingTypeInfo:CanCastTo", FALSE);
-       can_cast_to = mono_method_desc_search_in_class (desc, mono_defaults.iremotingtypeinfo_class);
-       g_assert (can_cast_to);
-       mono_method_desc_free (desc);
-       mono_mb_emit_op (mb, CEE_CALLVIRT, can_cast_to);
-       
-       pos_failed = mono_mb_emit_branch (mb, CEE_BRFALSE);
-
-       /* Upgrade the proxy vtable by calling: mono_upgrade_remote_class_wrapper (type, ob)*/
-       mono_mb_emit_ptr (mb, &klass->byval_arg);
-       mono_mb_emit_icall (mb, type_from_handle);
-       mono_mb_emit_ldarg (mb, 0);
-       
-       mono_mb_emit_icall (mb, mono_upgrade_remote_class_wrapper);
-       emit_thread_interrupt_checkpoint (mb);
-       
-       mono_mb_emit_ldarg (mb, 0);
-       pos_end = mono_mb_emit_branch (mb, CEE_BR);
-       
-       /* fail */
-       
-       mono_mb_patch_branch (mb, pos_failed);
-       mono_mb_emit_byte (mb, CEE_LDNULL);
-       
-       /* the end */
-       
-       mono_mb_patch_branch (mb, pos_end);
-       mono_mb_emit_byte (mb, CEE_RET);
-#endif
-
-       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
-       info->d.proxy.klass = klass;
-       res = mono_mb_create_and_cache_full (cache, klass, mb, isint_sig, isint_sig->param_count + 16, info, NULL);
-       mono_mb_free (mb);
-
-       return res;
-}
-
-void
-mono_upgrade_remote_class_wrapper (MonoReflectionType *rtype, MonoTransparentProxy *tproxy)
-{
-       MonoClass *klass;
-       MonoDomain *domain = ((MonoObject*)tproxy)->vtable->domain;
-       klass = mono_class_from_mono_type (rtype->type);
-       mono_upgrade_remote_class (domain, (MonoObject*)tproxy, klass);
-}
-#endif /*DISABLE_REMOTING */
-
 /**
  * mono_marshal_get_struct_to_ptr:
  * @klass:
index 3ba8addbda74dfdc724f7cb4120e7bab4c0a879b..eb10aebac1f40742b17cdd28b1cc1357a9445772 100644 (file)
@@ -18,6 +18,7 @@
 #include <mono/metadata/opcodes.h>
 #include <mono/metadata/reflection.h>
 #include <mono/metadata/method-builder.h>
+#include <mono/metadata/remoting.h>
 
 #define mono_marshal_find_bitfield_offset(type, elem, byte_offset, bitmask) \
        do { \
@@ -289,6 +290,9 @@ mono_type_to_stind (MonoType *type) MONO_INTERNAL;
 MonoMethod *
 mono_marshal_method_from_wrapper (MonoMethod *wrapper) MONO_INTERNAL;
 
+WrapperInfo*
+mono_wrapper_info_create (MonoMethodBuilder *mb, WrapperSubtype subtype) MONO_INTERNAL;
+
 void
 mono_marshal_set_wrapper_info (MonoMethod *method, gpointer data) MONO_INTERNAL;
 
@@ -392,6 +396,12 @@ mono_marshal_free_dynamic_wrappers (MonoMethod *method) MONO_INTERNAL;
 void
 mono_marshal_free_inflated_wrappers (MonoMethod *method) MONO_INTERNAL;
 
+void
+mono_marshal_lock_internal (void) MONO_INTERNAL;
+
+void
+mono_marshal_unlock_internal (void) MONO_INTERNAL;
+
 /* marshaling internal calls */
 
 void * 
@@ -552,7 +562,7 @@ mono_marshal_find_nonzero_bit_offset (guint8 *buf, int len, int *byte_offset, gu
 MonoMethodSignature*
 mono_signature_no_pinvoke (MonoMethod *method) MONO_INTERNAL;
 
-/* Called from cominterop.c */
+/* Called from cominterop.c/remoting.c */
 
 void
 mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoMethodSignature *sig, MonoMethodPInvoke *piinfo, MonoMarshalSpec **mspecs, gpointer func, gboolean aot, gboolean check_exceptions, gboolean func_param) MONO_INTERNAL;
@@ -573,46 +583,29 @@ mono_mb_create_and_cache (GHashTable *cache, gpointer key,
 void
 mono_marshal_emit_thread_interrupt_checkpoint (MonoMethodBuilder *mb) MONO_INTERNAL;
 
+void
+mono_marshal_emit_thread_force_interrupt_checkpoint (MonoMethodBuilder *mb) MONO_INTERNAL;
+
 void
 mono_marshal_use_aot_wrappers (gboolean use) MONO_INTERNAL;
 
 MonoObject *
 mono_marshal_xdomain_copy_value (MonoObject *val) MONO_INTERNAL;
 
+int
+mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolean save_this) MONO_INTERNAL;
 
-#ifndef DISABLE_REMOTING
-
-MonoMethod *
-mono_marshal_get_remoting_invoke (MonoMethod *method) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_xappdomain_invoke (MonoMethod *method) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_remoting_invoke_for_target (MonoMethod *method, MonoRemotingTarget target_type) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_remoting_invoke_with_check (MonoMethod *method) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_stfld_wrapper (MonoType *type) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_ldfld_wrapper (MonoType *type) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_ldflda_wrapper (MonoType *type) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_ldfld_remote_wrapper (MonoClass *klass) MONO_INTERNAL;
-
-MonoMethod *
-mono_marshal_get_stfld_remote_wrapper (MonoClass *klass) MONO_INTERNAL;
+void
+mono_mb_emit_restore_result (MonoMethodBuilder *mb, MonoType *return_type) MONO_INTERNAL;
 
-MonoMethod *
-mono_marshal_get_proxy_cancast (MonoClass *klass) MONO_INTERNAL;
+MonoMethod*
+mono_mb_create (MonoMethodBuilder *mb, MonoMethodSignature *sig,
+                               int max_stack, WrapperInfo *info) MONO_INTERNAL;
 
-#endif
+MonoMethod*
+mono_mb_create_and_cache_full (GHashTable *cache, gpointer key,
+                                                          MonoMethodBuilder *mb, MonoMethodSignature *sig,
+                                                          int max_stack, WrapperInfo *info, gboolean *out_found) MONO_INTERNAL;
 
 G_END_DECLS
 
index dbf38777a71a60d855b036988160fe0c921dc724..f02703a31fa2b41e83600a8099d668f944931f13 100644 (file)
@@ -29,6 +29,8 @@
  */
 
 #define MEM_ALIGN 8
+#define ALIGN_SIZE(s)  (((s) + MEM_ALIGN - 1) & ~(MEM_ALIGN - 1))
+#define SIZEOF_MEM_POOL        (ALIGN_SIZE (sizeof (MonoMemPool)))
 
 #if MONO_SMALL_CONFIG
 #define MONO_MEMPOOL_PAGESIZE 4096
@@ -91,8 +93,8 @@ mono_mempool_new_size (int initial_size)
        pool = g_malloc (initial_size);
 
        pool->next = NULL;
-       pool->pos = (guint8*)pool + sizeof (MonoMemPool);
-       pool->end = pool->pos + initial_size - sizeof (MonoMemPool);
+       pool->pos = (guint8*)pool + SIZEOF_MEM_POOL;
+       pool->end = pool->pos + initial_size - SIZEOF_MEM_POOL;
        pool->d.allocated = pool->size = initial_size;
        total_bytes_allocated += initial_size;
        return pool;
@@ -165,8 +167,8 @@ mono_mempool_empty (MonoMemPool *pool)
 
        pool->allocated = 0;
 #else
-       pool->pos = (guint8*)pool + sizeof (MonoMemPool);
-       pool->end = pool->pos + pool->size - sizeof (MonoMemPool);
+       pool->pos = (guint8*)pool + SIZEOF_MEM_POOL;
+       pool->end = pool->pos + pool->size - SIZEOF_MEM_POOL;
 #endif
 }
 
@@ -239,7 +241,7 @@ static int
 get_next_size (MonoMemPool *pool, int size)
 {
        int target = pool->next? pool->next->size: pool->size;
-       size += sizeof (MonoMemPool);
+       size += SIZEOF_MEM_POOL;
        /* increase the size */
        target += target / 2;
        while (target < size) {
@@ -264,8 +266,8 @@ gpointer
 mono_mempool_alloc (MonoMemPool *pool, guint size)
 {
        gpointer rval;
-       
-       size = (size + MEM_ALIGN - 1) & ~(MEM_ALIGN - 1);
+
+       size = ALIGN_SIZE (size);
 
 #ifdef MALLOC_ALLOCATION
        {
@@ -291,25 +293,25 @@ mono_mempool_alloc (MonoMemPool *pool, guint size)
        if (G_UNLIKELY (pool->pos >= pool->end)) {
                pool->pos -= size;
                if (size >= 4096) {
-                       MonoMemPool *np = g_malloc (sizeof (MonoMemPool) + size);
+                       MonoMemPool *np = g_malloc (SIZEOF_MEM_POOL + size);
                        np->next = pool->next;
                        pool->next = np;
-                       np->pos = (guint8*)np + sizeof (MonoMemPool);
-                       np->size = sizeof (MonoMemPool) + size;
-                       np->end = np->pos + np->size - sizeof (MonoMemPool);
-                       pool->d.allocated += sizeof (MonoMemPool) + size;
-                       total_bytes_allocated += sizeof (MonoMemPool) + size;
-                       return (guint8*)np + sizeof (MonoMemPool);
+                       np->pos = (guint8*)np + SIZEOF_MEM_POOL;
+                       np->size = SIZEOF_MEM_POOL + size;
+                       np->end = np->pos + np->size - SIZEOF_MEM_POOL;
+                       pool->d.allocated += SIZEOF_MEM_POOL + size;
+                       total_bytes_allocated += SIZEOF_MEM_POOL + size;
+                       return (guint8*)np + SIZEOF_MEM_POOL;
                } else {
                        int new_size = get_next_size (pool, size);
                        MonoMemPool *np = g_malloc (new_size);
                        np->next = pool->next;
                        pool->next = np;
-                       pool->pos = (guint8*)np + sizeof (MonoMemPool);
-                       np->pos = (guint8*)np + sizeof (MonoMemPool);
+                       pool->pos = (guint8*)np + SIZEOF_MEM_POOL;
+                       np->pos = (guint8*)np + SIZEOF_MEM_POOL;
                        np->size = new_size;
                        np->end = np->pos;
-                       pool->end = pool->pos + new_size - sizeof (MonoMemPool);
+                       pool->end = pool->pos + new_size - SIZEOF_MEM_POOL;
                        pool->d.allocated += new_size;
                        total_bytes_allocated += new_size;
 
@@ -335,7 +337,7 @@ mono_mempool_alloc0 (MonoMemPool *pool, guint size)
 #ifdef MALLOC_ALLOCATION
        rval = mono_mempool_alloc (pool, size);
 #else
-       size = (size + MEM_ALIGN - 1) & ~(MEM_ALIGN - 1);
+       size = ALIGN_SIZE (size);
 
        rval = pool->pos;
        pool->pos = (guint8*)rval + size;
index c738d53654ef315d6035d05158b4c962725a5962..ea35f5b7c636a7b4f7cf08313a6e0f81ac7389fe 100644 (file)
@@ -204,7 +204,7 @@ struct _MonoImage {
        guint32 module_count;
        gboolean *modules_loaded;
 
-       MonoImage **files;
+       MonoImage **files; /*protected by the image lock*/
 
        gpointer aot_module;
 
@@ -804,5 +804,9 @@ MonoAotCacheConfig *mono_get_aot_cache_config (void) MONO_INTERNAL;
 MonoType *
 mono_type_create_from_typespec_checked (MonoImage *image, guint32 type_spec, MonoError *error) MONO_INTERNAL;
 
+MonoMethodSignature*
+mono_method_get_signature_checked (MonoMethod *method, MonoImage *image, guint32 token, MonoGenericContext *context, MonoError *error) MONO_INTERNAL;
+       
+
 #endif /* __MONO_METADATA_INTERNALS_H__ */
 
index 6b598020f031767fa058d2d195344f146200aaab..c548a120980f15ba5af1fae0f4f2b9cfcd4bdf5a 100644 (file)
@@ -2735,9 +2735,6 @@ free_inflated_signature (MonoInflatedMethodSignature *sig)
        g_free (sig);
 }
 
-/*
- * LOCKING: assumes the loader lock is held.
- */
 MonoMethodInflated*
 mono_method_inflated_lookup (MonoMethodInflated* method, gboolean cache)
 {
@@ -2753,19 +2750,15 @@ mono_method_inflated_lookup (MonoMethodInflated* method, gboolean cache)
 
        collect_data_free (&data);
 
-       if (cache) {
-               mono_image_set_lock (set);
+       mono_image_set_lock (set);
+       res = g_hash_table_lookup (set->gmethod_cache, method);
+       if (!res && cache) {
                g_hash_table_insert (set->gmethod_cache, method, method);
-               mono_image_set_unlock (set);
-
-               return method;
-       } else {
-               mono_image_set_lock (set);
-               res = g_hash_table_lookup (set->gmethod_cache, method);
-               mono_image_set_unlock (set);
-
-               return res;
+               res = method;
        }
+
+       mono_image_set_unlock (set);
+       return res;
 }
 
 /*
index d713709991219948a556661e3b6e97a4d95ea656..734f3f2de768403e32b6fc308cfa56ac68a80f63 100644 (file)
@@ -260,7 +260,7 @@ mon_new (gsize id)
                                                        new->wait_list = g_slist_remove (new->wait_list, new->wait_list->data);
                                                }
                                        }
-                                       mono_gc_weak_link_remove (&new->data, FALSE);
+                                       mono_gc_weak_link_remove (&new->data, TRUE);
                                        new->data = monitor_freelist;
                                        monitor_freelist = new;
                                }
@@ -428,7 +428,7 @@ retry:
                mono_monitor_allocator_lock ();
                mon = mon_new (id);
                if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, mon, NULL) == NULL) {
-                       mono_gc_weak_link_add (&mon->data, obj, FALSE);
+                       mono_gc_weak_link_add (&mon->data, obj, TRUE);
                        mono_monitor_allocator_unlock ();
                        /* Successfully locked */
                        return 1;
@@ -443,7 +443,7 @@ retry:
                                lw.sync = mon;
                                lw.lock_word |= LOCK_WORD_FAT_HASH;
                                if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, lw.sync, oldlw) == oldlw) {
-                                       mono_gc_weak_link_add (&mon->data, obj, FALSE);
+                                       mono_gc_weak_link_add (&mon->data, obj, TRUE);
                                        mono_monitor_allocator_unlock ();
                                        /* Successfully locked */
                                        return 1;
diff --git a/mono/metadata/mono-debug-debugger.c b/mono/metadata/mono-debug-debugger.c
deleted file mode 100644 (file)
index 8168b2c..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * mono-debug-debugger.c: 
- *
- * Author:
- *     Mono Project (http://www.mono-project.com)
- *
- * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
- * Copyright 2004-2009 Novell, Inc (http://www.novell.com)
- */
-
-#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#include <mono/metadata/assembly.h>
-#include <mono/metadata/metadata.h>
-#include <mono/metadata/tabledefs.h>
-#include <mono/metadata/tokentype.h>
-#include <mono/metadata/appdomain.h>
-#include <mono/metadata/gc-internal.h>
-#include <mono/metadata/threads.h>
-#include <mono/metadata/gc-internal.h>
-#include <mono/metadata/object-internals.h>
-#include <mono/metadata/class-internals.h>
-#include <mono/metadata/domain-internals.h>
-#include <mono/metadata/exception.h>
-#include <mono/metadata/mono-debug.h>
-#include <mono/metadata/mono-debug-debugger.h>
-#include <mono/metadata/mono-endian.h>
-
-static guint32 debugger_lock_level = 0;
-static mono_mutex_t debugger_lock_mutex;
-
-typedef struct
-{
-       guint32 index;
-       MonoMethod *method;
-       MonoDebugMethodAddressList *address_list;
-} MethodBreakpointInfo;
-
-static int initialized = 0;
-
-void
-mono_debugger_lock (void)
-{
-       g_assert (initialized);
-       mono_mutex_lock (&debugger_lock_mutex);
-       debugger_lock_level++;
-}
-
-void
-mono_debugger_unlock (void)
-{
-       g_assert (initialized);
-       debugger_lock_level--;
-       mono_mutex_unlock (&debugger_lock_mutex);
-}
-
-void
-mono_debugger_initialize ()
-{
-       mono_mutex_init_recursive (&debugger_lock_mutex);
-       initialized = 1;
-}
-
-/*
- * Debugger breakpoint interface.
- *
- * This interface is used to insert breakpoints on methods which are not yet JITed.
- * The debugging code keeps a list of all such breakpoints and automatically inserts the
- * breakpoint when the method is JITed.
- */
-
-static GPtrArray *method_breakpoints = NULL;
-
-MonoDebugMethodAddressList *
-mono_debugger_insert_method_breakpoint (MonoMethod *method, guint64 index)
-{
-       MethodBreakpointInfo *info;
-
-       info = g_new0 (MethodBreakpointInfo, 1);
-       info->method = method;
-       info->index = index;
-
-       info->address_list = mono_debug_lookup_method_addresses (method);
-
-       if (!method_breakpoints)
-               method_breakpoints = g_ptr_array_new ();
-
-       g_ptr_array_add (method_breakpoints, info);
-
-       return info->address_list;
-}
-
-int
-mono_debugger_remove_method_breakpoint (guint64 index)
-{
-       int i;
-
-       if (!method_breakpoints)
-               return 0;
-
-       for (i = 0; i < method_breakpoints->len; i++) {
-               MethodBreakpointInfo *info = g_ptr_array_index (method_breakpoints, i);
-
-               if (info->index != index)
-                       continue;
-
-               g_ptr_array_remove (method_breakpoints, info);
-               g_free (info->address_list);
-               g_free (info);
-               return 1;
-       }
-
-       return 0;
-}
index b8d13b6eec20ed2ced812ec530cd9369879ebcd3..c61a504be1520b33f9cd145da218e55a5cda4b10 100644 (file)
@@ -20,10 +20,4 @@ void            mono_debugger_unlock                        (void) MONO_INTERNAL
 gchar *
 mono_debugger_check_runtime_version (const char *filename) MONO_INTERNAL;
 
-MonoDebugMethodAddressList *
-mono_debugger_insert_method_breakpoint (MonoMethod *method, guint64 idx) MONO_INTERNAL;
-
-int
-mono_debugger_remove_method_breakpoint (guint64 index) MONO_INTERNAL;
-
 #endif /* __MONO_DEBUG_DEBUGGER_H__ */
index 5e5173f93234ccfcf34c9b0c509001e57f71a71d..1cfc8cf65f4c7be36104774704accb98545064ac 100644 (file)
 #include <mono/metadata/mono-debug-debugger.h>
 #include <mono/metadata/mono-endian.h>
 #include <mono/metadata/gc-internal.h>
+#include <mono/metadata/mempool.h>
 #include <string.h>
 
-#define DATA_TABLE_CHUNK_SIZE          (16384-sizeof (MonoDebugDataChunk))
-
 #define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
 
 #if NO_UNALIGNED_ACCESS
-#define RETURN_UNALIGNED(type, addr) \
-       { \
-               type val; \
-               memcpy(&val, p + offset, sizeof(val)); \
-               return val; \
-       }
 #define WRITE_UNALIGNED(type, addr, val) \
        memcpy(addr, &val, sizeof(type))
 #define READ_UNALIGNED(type, addr, val) \
        memcpy(&val, addr, sizeof(type))
 #else
-#define RETURN_UNALIGNED(type, addr) \
-       return *(type*)(p + offset);
 #define WRITE_UNALIGNED(type, addr, val) \
        (*(type *)(addr) = (val))
 #define READ_UNALIGNED(type, addr, val) \
        val = (*(type *)(addr))
 #endif
 
-typedef enum {
-       MONO_DEBUG_DATA_ITEM_UNKNOWN            = 0,
-       MONO_DEBUG_DATA_ITEM_CLASS,
-       MONO_DEBUG_DATA_ITEM_METHOD,
-       MONO_DEBUG_DATA_ITEM_DELEGATE_TRAMPOLINE
-} MonoDebugDataItemType;
-
-typedef struct _MonoDebugDataChunk MonoDebugDataChunk;
-
-struct _MonoDebugDataChunk {
-       guint32 total_size;
-       guint32 allocated_size;
-       guint32 current_offset;
-       guint32 dummy;
-       MonoDebugDataChunk *next;
-       guint8 data [MONO_ZERO_LEN_ARRAY];
-};
-
+/* This contains per-domain info */
 struct _MonoDebugDataTable {
-       gint32 domain;
-       gint32 _dummy; /* alignment for next field. */
-       MonoDebugDataChunk *first_chunk;
-       MonoDebugDataChunk *current_chunk;
-       GHashTable *method_hash;
+       MonoMemPool *mp;
        GHashTable *method_address_hash;
 };
 
-typedef struct {
-       const gchar *method_name;
-       const gchar *obsolete_cil_code;
-       guint32 wrapper_type;
-} MonoDebugWrapperData;
-
-typedef struct {
-       guint32 size;
-       guint32 symfile_id;
-       guint32 domain_id;
-       guint32 method_id;
-       MonoDebugWrapperData *wrapper_data;
-       MonoMethod *method;
-       GSList *address_list;
-} MonoDebugMethodHeader;
-
+/* This contains JIT debugging information about a method in serialized format */
 struct _MonoDebugMethodAddress {
-       MonoDebugMethodHeader header;
        const guint8 *code_start;
-       const guint8 *wrapper_addr;
        guint32 code_size;
        guint8 data [MONO_ZERO_LEN_ARRAY];
 };
 
-struct _MonoDebugClassEntry {
-       guint32 size;
-       guint8 data [MONO_ZERO_LEN_ARRAY];
-};
-
-typedef struct {
-       gpointer code;
-       guint32 size;
-} MonoDebugDelegateTrampolineEntry;
-
-static MonoSymbolTable *mono_symbol_table = NULL;
 static MonoDebugFormat mono_debug_format = MONO_DEBUG_FORMAT_NONE;
-static gint32 mono_debug_debugger_version = 5;
 
 static gboolean mono_debug_initialized = FALSE;
-static GHashTable *mono_debug_handles = NULL;
+/* Maps MonoImage -> MonoMonoDebugHandle */
+static GHashTable *mono_debug_handles;
+/* Maps MonoDomain -> MonoDataTable */
+static GHashTable *data_table_hash;
+
+static mono_mutex_t debugger_lock_mutex;
 
-static GHashTable *data_table_hash = NULL;
-static int next_symbol_file_id = 0;
+static int initialized = 0;
+static gboolean is_attached = FALSE;
 
 static MonoDebugHandle     *mono_debug_open_image      (MonoImage *image, const guint8 *raw_contents, int size);
 
-static MonoDebugHandle     *_mono_debug_get_image      (MonoImage *image);
+static MonoDebugHandle     *mono_debug_get_image      (MonoImage *image);
 static void                 mono_debug_add_assembly    (MonoAssembly *assembly,
                                                        gpointer user_data);
-static void                 mono_debug_add_type        (MonoClass *klass);
 
 static MonoDebugHandle     *open_symfile_from_bundle   (MonoImage *image);
 
-void _mono_debug_init_corlib (MonoDomain *domain);
-
-extern void (*mono_debugger_class_init_func) (MonoClass *klass);
-
 static MonoDebugDataTable *
 create_data_table (MonoDomain *domain)
 {
        MonoDebugDataTable *table;
-       MonoDebugDataChunk *chunk;
 
        table = g_new0 (MonoDebugDataTable, 1);
-       table->domain = domain ? mono_domain_get_id (domain) : -1;
 
+       table->mp = mono_mempool_new ();
        table->method_address_hash = g_hash_table_new (NULL, NULL);
-       table->method_hash = g_hash_table_new (NULL, NULL);
 
-       chunk = g_malloc0 (sizeof (MonoDebugDataChunk) + DATA_TABLE_CHUNK_SIZE);
-       chunk->total_size = DATA_TABLE_CHUNK_SIZE;
-
-       table->first_chunk = table->current_chunk = chunk;
-
-       if (domain) {
-               mono_debug_list_add (&mono_symbol_table->data_tables, table);
+       if (domain)
                g_hash_table_insert (data_table_hash, domain, table);
-       }
 
        return table;
 }
 
-static void
-free_header_data (gpointer key, gpointer value, gpointer user_data)
-{
-       MonoDebugMethodHeader *header = (MonoDebugMethodHeader*)value;
-
-       if (header->wrapper_data) {
-               g_free ((gpointer)header->wrapper_data->method_name);
-               g_free (header->wrapper_data);
-       }
-       g_slist_free (header->address_list);
-}
-
 static void
 free_data_table (MonoDebugDataTable *table)
 {
-       MonoDebugDataChunk *chunk, *next_chunk;
-
-       g_hash_table_foreach (table->method_hash, free_header_data, NULL);
-       g_hash_table_destroy (table->method_hash);
+       mono_mempool_destroy (table->mp);
        g_hash_table_destroy (table->method_address_hash);
 
-       table->method_hash = NULL;
-       table->method_address_hash = NULL;
-
-       chunk = table->first_chunk;
-       while (chunk) {
-               next_chunk = chunk->next;
-               g_free (chunk);
-               chunk = next_chunk;
-       }
-
-       table->first_chunk = table->current_chunk = NULL;
-       mono_debug_list_remove (&mono_symbol_table->data_tables, table);
        g_free (table);
 }
 
@@ -209,9 +114,7 @@ free_debug_handle (MonoDebugHandle *handle)
        if (handle->symfile)
                mono_debug_close_mono_symbol_file (handle->symfile);
        /* decrease the refcount added with mono_image_addref () */
-       free_data_table (handle->type_table);
        mono_image_close (handle->image);
-       g_free (handle->image_file);
        g_free (handle);
 }
 
@@ -229,53 +132,24 @@ mono_debug_init (MonoDebugFormat format)
        if (format == MONO_DEBUG_FORMAT_DEBUGGER)
                g_error ("The mdb debugger is no longer supported.");
 
-
        mono_debug_initialized = TRUE;
        mono_debug_format = format;
 
-       /*
-        * This must be called before mono_debugger_initialize(), because the
-        * latter registers GC roots.
-        */
-       mono_gc_base_init ();
-
        mono_debugger_initialize ();
 
        mono_debugger_lock ();
 
-       mono_symbol_table = g_new0 (MonoSymbolTable, 1);
-       mono_symbol_table->magic = MONO_DEBUGGER_MAGIC;
-       mono_symbol_table->version = MONO_DEBUGGER_MAJOR_VERSION;
-       mono_symbol_table->total_size = sizeof (MonoSymbolTable);
-
        mono_debug_handles = g_hash_table_new_full
                (NULL, NULL, NULL, (GDestroyNotify) free_debug_handle);
 
        data_table_hash = g_hash_table_new_full (
                NULL, NULL, NULL, (GDestroyNotify) free_data_table);
 
-       /* FIXME this is a disgusting hack. Kill it */
-       mono_debugger_class_init_func = mono_debug_add_type;
        mono_install_assembly_load_hook (mono_debug_add_assembly, NULL);
 
-       mono_symbol_table->global_data_table = create_data_table (NULL);
-
        mono_debugger_unlock ();
 }
 
-/*
- * INTERNAL USE ONLY !
- * FIXME this can have a decent name and exist in an internal header
- */
-void
-_mono_debug_init_corlib (MonoDomain *domain)
-{
-       if (!mono_debug_initialized)
-               return;
-
-       mono_symbol_table->corlib = mono_debug_open_image (mono_defaults.corlib, NULL, 0);
-}
-
 void
 mono_debug_open_image_from_memory (MonoImage *image, const guint8 *raw_contents, int size)
 {
@@ -296,14 +170,6 @@ mono_debug_cleanup (void)
                g_hash_table_destroy (data_table_hash);
                data_table_hash = NULL;
        }
-
-       if (mono_symbol_table) {
-               if (mono_symbol_table->global_data_table)
-                       free_data_table (mono_symbol_table->global_data_table);
-
-               g_free (mono_symbol_table);
-               mono_symbol_table = NULL;
-       }
 }
 
 void
@@ -348,7 +214,7 @@ mono_debug_domain_unload (MonoDomain *domain)
  * LOCKING: Assumes the debug lock is held.
  */
 static MonoDebugHandle *
-_mono_debug_get_image (MonoImage *image)
+mono_debug_get_image (MonoImage *image)
 {
        return g_hash_table_lookup (mono_debug_handles, image);
 }
@@ -363,13 +229,12 @@ mono_debug_close_image (MonoImage *image)
 
        mono_debugger_lock ();
 
-       handle = _mono_debug_get_image (image);
+       handle = mono_debug_get_image (image);
        if (!handle) {
                mono_debugger_unlock ();
                return;
        }
 
-       mono_debug_list_remove (&mono_symbol_table->symbol_files, handle);
        g_hash_table_remove (mono_debug_handles, image);
 
        mono_debugger_unlock ();
@@ -385,26 +250,20 @@ mono_debug_open_image (MonoImage *image, const guint8 *raw_contents, int size)
 
        mono_debugger_lock ();
 
-       handle = _mono_debug_get_image (image);
+       handle = mono_debug_get_image (image);
        if (handle != NULL) {
                mono_debugger_unlock ();
                return handle;
        }
 
        handle = g_new0 (MonoDebugHandle, 1);
-       handle->index = ++next_symbol_file_id;
 
        handle->image = image;
        mono_image_addref (image);
-       handle->image_file = g_strdup (mono_image_get_filename (image));
-
-       handle->type_table = create_data_table (NULL);
 
        handle->symfile = mono_debug_open_mono_symbols (
                handle, raw_contents, size, FALSE);
 
-       mono_debug_list_add (&mono_symbol_table->symbol_files, handle);
-
        g_hash_table_insert (mono_debug_handles, image, handle);
 
        mono_debugger_unlock ();
@@ -426,51 +285,6 @@ mono_debug_add_assembly (MonoAssembly *assembly, gpointer user_data)
        mono_debugger_unlock ();
 }
 
-static guint8 *
-allocate_data_item (MonoDebugDataTable *table, MonoDebugDataItemType type, guint32 size)
-{
-       guint32 chunk_size;
-       guint8 *data;
-
-       size = ALIGN_TO (size, sizeof (gpointer));
-
-       if (size + 16 < DATA_TABLE_CHUNK_SIZE)
-               chunk_size = DATA_TABLE_CHUNK_SIZE;
-       else
-               chunk_size = size + 16;
-
-       g_assert (table->current_chunk->current_offset == table->current_chunk->allocated_size);
-
-       if (table->current_chunk->allocated_size + size + 8 >= table->current_chunk->total_size) {
-               MonoDebugDataChunk *new_chunk;
-
-               new_chunk = g_malloc0 (sizeof (MonoDebugDataChunk) + chunk_size);
-               new_chunk->total_size = chunk_size;
-
-               table->current_chunk->next = new_chunk;
-               table->current_chunk = new_chunk;
-       }
-
-       data = &table->current_chunk->data [table->current_chunk->allocated_size];
-       table->current_chunk->allocated_size += size + 8;
-
-       * ((guint32 *) data) = size;
-       data += 4;
-       * ((guint32 *) data) = type;
-       data += 4;
-       return data;
-}
-
-static void
-write_data_item (MonoDebugDataTable *table, const guint8 *data)
-{
-       MonoDebugDataChunk *current_chunk = table->current_chunk;
-       guint32 size = * ((guint32 *) (data - 8));
-
-       g_assert (current_chunk->current_offset + size + 8 == current_chunk->allocated_size);
-       current_chunk->current_offset = current_chunk->allocated_size;
-}
-
 struct LookupMethodData
 {
        MonoDebugMethodInfo *minfo;
@@ -491,7 +305,7 @@ lookup_method_func (gpointer key, gpointer value, gpointer user_data)
 }
 
 static MonoDebugMethodInfo *
-_mono_debug_lookup_method (MonoMethod *method)
+mono_debug_lookup_method_internal (MonoMethod *method)
 {
        struct LookupMethodData data;
 
@@ -518,7 +332,7 @@ mono_debug_lookup_method (MonoMethod *method)
        MonoDebugMethodInfo *minfo;
 
        mono_debugger_lock ();
-       minfo = _mono_debug_lookup_method (method);
+       minfo = mono_debug_lookup_method_internal (method);
        mono_debugger_unlock ();
        return minfo;
 }
@@ -572,31 +386,20 @@ write_variable (MonoDebugVarInfo *var, guint8 *ptr, guint8 **rptr)
 MonoDebugMethodAddress *
 mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDomain *domain)
 {
-       MonoMethod *declaring;
        MonoDebugDataTable *table;
-       MonoDebugMethodHeader *header;
        MonoDebugMethodAddress *address;
        MonoDebugMethodInfo *minfo;
        MonoDebugHandle *handle;
        guint8 buffer [BUFSIZ];
        guint8 *ptr, *oldptr;
        guint32 i, size, total_size, max_size;
-       gboolean is_wrapper = FALSE;
 
        mono_debugger_lock ();
 
        table = lookup_data_table (domain);
 
-       handle = _mono_debug_get_image (method->klass->image);
-       minfo = _mono_debug_lookup_method (method);
-
-       if (!minfo || (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) ||
-           (method->iflags & METHOD_IMPL_ATTRIBUTE_RUNTIME) ||
-           (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL) ||
-           (method->flags & METHOD_ATTRIBUTE_ABSTRACT) ||
-           (method->wrapper_type != MONO_WRAPPER_NONE)) {
-               is_wrapper = TRUE;
-       }
+       handle = mono_debug_get_image (method->klass->image);
+       minfo = mono_debug_lookup_method_internal (method);
 
        max_size = (5 * 5) + 1 + (10 * jit->num_line_numbers) +
                (25 + sizeof (gpointer)) * (1 + jit->num_params + jit->num_locals);
@@ -642,16 +445,9 @@ mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDoma
        if (method_is_dynamic (method)) {
                address = g_malloc0 (total_size);
        } else {
-               address = (MonoDebugMethodAddress *) allocate_data_item (
-                                 table, MONO_DEBUG_DATA_ITEM_METHOD, total_size);
+               address = mono_mempool_alloc (table->mp, total_size);
        }
 
-       address->header.size = total_size;
-       address->header.symfile_id = handle ? handle->index : 0;
-       address->header.domain_id = mono_domain_get_id (domain);
-       address->header.method_id = is_wrapper ? 0 : minfo->index;
-       address->header.method = method;
-
        address->code_start = jit->code_start;
        address->code_size = jit->code_size;
 
@@ -659,32 +455,8 @@ mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDoma
        if (max_size > BUFSIZ)
                g_free (oldptr);
 
-       declaring = method->is_inflated ? ((MonoMethodInflated *) method)->declaring : method;
-       header = g_hash_table_lookup (table->method_hash, declaring);
-
-       if (!header) {
-               header = &address->header;
-               g_hash_table_insert (table->method_hash, declaring, header);
-
-               if (is_wrapper) {
-                       MonoDebugWrapperData *wrapper;
-
-                       header->wrapper_data = wrapper = g_new0 (MonoDebugWrapperData, 1);
-
-                       wrapper->wrapper_type = method->wrapper_type;
-                       wrapper->method_name = mono_method_full_name (declaring, TRUE);
-                       wrapper->obsolete_cil_code = "";
-               }
-       } else {
-               address->header.wrapper_data = header->wrapper_data;
-               header->address_list = g_slist_prepend (header->address_list, address);
-       }
-
        g_hash_table_insert (table->method_address_hash, method, address);
 
-       if (!method_is_dynamic (method))
-               write_data_item (table, (guint8 *) address);
-
        mono_debugger_unlock ();
        return address;
 }
@@ -692,9 +464,7 @@ mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDoma
 void
 mono_debug_remove_method (MonoMethod *method, MonoDomain *domain)
 {
-       MonoMethod *declaring;
        MonoDebugDataTable *table;
-       MonoDebugMethodHeader *header;
        MonoDebugMethodAddress *address;
 
        if (!mono_debug_initialized)
@@ -706,19 +476,9 @@ mono_debug_remove_method (MonoMethod *method, MonoDomain *domain)
 
        table = lookup_data_table (domain);
 
-       declaring = method->is_inflated ? ((MonoMethodInflated *) method)->declaring : method;
-       g_hash_table_remove (table->method_hash, declaring);
-
        address = g_hash_table_lookup (table->method_address_hash, method);
-       if (address) {
-               header = &address->header;
-
-               if (header->wrapper_data) {
-                       g_free ((char*)header->wrapper_data->method_name);
-                       g_free (header->wrapper_data);
-               }
+       if (address)
                g_free (address);
-       }
 
        g_hash_table_remove (table->method_address_hash, method);
 
@@ -728,22 +488,6 @@ mono_debug_remove_method (MonoMethod *method, MonoDomain *domain)
 void
 mono_debug_add_delegate_trampoline (gpointer code, int size)
 {
-       MonoDebugDelegateTrampolineEntry *entry;
-
-       if (!mono_debug_initialized)
-               return;
-
-       mono_debugger_lock ();
-
-       entry = (MonoDebugDelegateTrampolineEntry *) allocate_data_item (
-               mono_symbol_table->global_data_table, MONO_DEBUG_DATA_ITEM_DELEGATE_TRAMPOLINE,
-               sizeof (MonoDebugDelegateTrampolineEntry));
-       entry->code = code;
-       entry->size = size;
-
-       write_data_item (mono_symbol_table->global_data_table, (guint8 *) entry);
-
-       mono_debugger_unlock ();
 }
 
 static inline guint32
@@ -825,7 +569,6 @@ mono_debug_read_method (MonoDebugMethodAddress *address)
        jit = g_new0 (MonoDebugMethodJitInfo, 1);
        jit->code_start = address->code_start;
        jit->code_size = address->code_size;
-       jit->wrapper_addr = address->wrapper_addr;
 
        ptr = (guint8 *) &address->data;
 
@@ -866,63 +609,6 @@ mono_debug_read_method (MonoDebugMethodAddress *address)
        return jit;
 }
 
-static void
-mono_debug_add_type (MonoClass *klass)
-{
-       MonoDebugHandle *handle;
-       MonoDebugClassEntry *entry;
-       guint8 buffer [BUFSIZ];
-       guint8 *ptr, *oldptr;
-       guint32 size, total_size, max_size;
-       int base_offset = 0;
-
-       if (klass->generic_class || klass->rank ||
-           (klass->byval_arg.type == MONO_TYPE_VAR) || (klass->byval_arg.type == MONO_TYPE_MVAR))
-               return;
-
-       mono_debugger_lock ();
-
-       handle = _mono_debug_get_image (klass->image);
-       if (!handle) {
-               mono_debugger_unlock ();
-               return;
-       }
-
-       max_size = 12 + sizeof (gpointer);
-       if (max_size > BUFSIZ)
-               ptr = oldptr = g_malloc (max_size);
-       else
-               ptr = oldptr = buffer;
-
-       if (klass->valuetype)
-               base_offset = - (int)(sizeof (MonoObject));
-
-       write_leb128 (klass->type_token, ptr, &ptr);
-       write_leb128 (klass->instance_size + base_offset, ptr, &ptr);
-       WRITE_UNALIGNED (gpointer, ptr, klass);
-       ptr += sizeof (gpointer);
-
-       size = ptr - oldptr;
-       g_assert (size < max_size);
-       total_size = size + sizeof (MonoDebugClassEntry);
-
-       g_assert (total_size + 9 < DATA_TABLE_CHUNK_SIZE);
-
-       entry = (MonoDebugClassEntry *) allocate_data_item (
-               handle->type_table, MONO_DEBUG_DATA_ITEM_CLASS, total_size);
-
-       entry->size = total_size;
-
-       memcpy (&entry->data, oldptr, size);
-
-       write_data_item (handle->type_table, (guint8 *) entry);
-
-       if (max_size > BUFSIZ)
-               g_free (oldptr);
-
-       mono_debugger_unlock ();
-}
-
 static MonoDebugMethodJitInfo *
 find_method (MonoMethod *method, MonoDomain *domain)
 {
@@ -952,71 +638,11 @@ mono_debug_find_method (MonoMethod *method, MonoDomain *domain)
        return res;
 }
 
-struct LookupMethodAddressData
-{
-       MonoMethod *method;
-       MonoDebugMethodHeader *result;
-};
-
-static void
-lookup_method_address_func (gpointer key, gpointer value, gpointer user_data)
-{
-       MonoDebugDataTable *table = (MonoDebugDataTable *) value;
-       struct LookupMethodAddressData *data = (struct LookupMethodAddressData *) user_data;
-       MonoDebugMethodHeader *header;
-
-       header = g_hash_table_lookup (table->method_hash, data->method);
-       if (header)
-               data->result = header;
-}
-
 MonoDebugMethodAddressList *
 mono_debug_lookup_method_addresses (MonoMethod *method)
 {
-       MonoDebugMethodAddressList *info;
-       MonoDebugMethodHeader *header = NULL;
-       struct LookupMethodAddressData data;
-       MonoMethod *declaring;
-       int count, size;
-       GSList *list;
-       guint8 *ptr;
-
-       g_assert ((mono_debug_debugger_version == 4) || (mono_debug_debugger_version == 5));
-
-       mono_debugger_lock ();
-
-       declaring = method->is_inflated ? ((MonoMethodInflated *) method)->declaring : method;
-
-       data.method = declaring;
-       data.result = NULL;
-
-       g_hash_table_foreach (data_table_hash, lookup_method_address_func, &data);
-       header = data.result;
-
-       if (!header) {
-               mono_debugger_unlock ();
-               return NULL;
-       }
-
-       count = g_slist_length (header->address_list) + 1;
-       size = sizeof (MonoDebugMethodAddressList) + count * sizeof (gpointer);
-
-       info = g_malloc0 (size);
-       info->size = size;
-       info->count = count;
-
-       ptr = info->data;
-
-       WRITE_UNALIGNED (gpointer, ptr, header);
-       ptr += sizeof (gpointer);
-
-       for (list = header->address_list; list; list = list->next) {
-               WRITE_UNALIGNED (gpointer, ptr, list->data);
-               ptr += sizeof (gpointer);
-       }
-
-       mono_debugger_unlock ();
-       return info;
+       g_assert_not_reached ();
+       return NULL;
 }
 
 static gint32
@@ -1085,7 +711,7 @@ mono_debug_lookup_source_location (MonoMethod *method, guint32 address, MonoDoma
                return NULL;
 
        mono_debugger_lock ();
-       minfo = _mono_debug_lookup_method (method);
+       minfo = mono_debug_lookup_method_internal (method);
        if (!minfo || !minfo->handle || !minfo->handle->symfile || !mono_debug_symfile_is_loaded (minfo->handle->symfile)) {
                mono_debugger_unlock ();
                return NULL;
@@ -1118,7 +744,7 @@ mono_debug_lookup_locals (MonoMethod *method)
                return NULL;
 
        mono_debugger_lock ();
-       minfo = _mono_debug_lookup_method (method);
+       minfo = mono_debug_lookup_method_internal (method);
        if (!minfo || !minfo->handle || !minfo->handle->symfile || !mono_debug_symfile_is_loaded (minfo->handle->symfile)) {
                mono_debugger_unlock ();
                return NULL;
@@ -1191,39 +817,6 @@ mono_debug_print_stack_frame (MonoMethod *method, guint32 native_offset, MonoDom
        return res;
 }
 
-void
-mono_debug_list_add (MonoDebugList **list, gconstpointer data)
-{
-       MonoDebugList *element, **ptr;
-
-       element = g_new0 (MonoDebugList, 1);
-       element->data = data;
-
-       for (ptr = list; *ptr; ptr = &(*ptr)->next)
-               ;
-
-       *ptr = element;
-}
-
-void
-mono_debug_list_remove (MonoDebugList **list, gconstpointer data)
-{
-       MonoDebugList **ptr;
-       MonoDebugList *next;
-
-       for (ptr = list; *ptr; ptr = &(*ptr)->next) {
-               if ((*ptr)->data != data)
-                       continue;
-
-               next = (*ptr)->next;
-               g_free ((*ptr));
-               *ptr = next;
-               break;
-       }
-}
-
-static gboolean is_attached = FALSE;
-
 void
 mono_set_is_debugger_attached (gboolean attached)
 {
@@ -1279,6 +872,27 @@ open_symfile_from_bundle (MonoImage *image)
        return NULL;
 }
 
+void
+mono_debugger_lock (void)
+{
+       g_assert (initialized);
+       mono_mutex_lock (&debugger_lock_mutex);
+}
+
+void
+mono_debugger_unlock (void)
+{
+       g_assert (initialized);
+       mono_mutex_unlock (&debugger_lock_mutex);
+}
+
+void
+mono_debugger_initialize ()
+{
+       mono_mutex_init_recursive (&debugger_lock_mutex);
+       initialized = 1;
+}
+
 /**
  * mono_debug_enabled:
  *
index f28839fa1d2cd59d9c0a9ccc70e5c778125a888b..7c95c69a29faa9fdf0b42979d581a6895da1e773 100644 (file)
@@ -224,6 +224,9 @@ typedef struct {
        int num_instances;
        /* variable length data follows */
        char name [1];
+       // string name
+       // string help
+       // SharedCounter counters_info [num_counters]
 } SharedCategory;
 
 typedef struct {
@@ -231,6 +234,7 @@ typedef struct {
        unsigned int category_offset;
        /* variable length data follows */
        char instance_name [1];
+       // string name
 } SharedInstance;
 
 typedef struct {
@@ -238,6 +242,8 @@ typedef struct {
        guint8 seq_num;
        /* variable length data follows */
        char name [1];
+       // string name
+       // string help
 } SharedCounter;
 
 typedef struct {
@@ -478,9 +484,10 @@ perfctr_type_compress (int type)
        return 2;
 }
 
-static unsigned char*
-shared_data_find_room (int size)
+static SharedHeader*
+shared_data_reserve_room (int size, int ftype)
 {
+       SharedHeader* header;
        unsigned char *p = (unsigned char *)shared_area + shared_area->data_start;
        unsigned char *end = (unsigned char *)shared_area + shared_area->size;
 
@@ -490,7 +497,7 @@ shared_data_find_room (int size)
                unsigned short *next;
                if (*p == FTYPE_END) {
                        if (size < (end - p))
-                               return p;
+                               goto res;
                        return NULL;
                }
                if (p + 4 > end)
@@ -499,12 +506,20 @@ shared_data_find_room (int size)
                if (*p == FTYPE_DELETED) {
                        /* we reuse only if it's the same size */
                        if (*next == size) {
-                               return p;
+                               goto res;
                        }
                }
                p += *next;
        }
        return NULL;
+
+res:
+       header = (SharedHeader*)p;
+       header->ftype = ftype;
+       header->extra = 0; /* data_offset could overflow here, so we leave this field unused */
+       header->size = size;
+
+       return header;
 }
 
 typedef gboolean (*SharedFunc) (SharedHeader *header, void *data);
@@ -610,7 +625,8 @@ find_custom_counter (SharedCategory* cat, MonoString *name)
                SharedCounter *counter = (SharedCounter*)p;
                if (mono_string_compare_ascii (name, counter->name) == 0)
                        return counter;
-               p += 1 + strlen (p + 1) + 1; /* skip counter type and name */
+               p += 2; /* skip counter type */
+               p += strlen (p) + 1; /* skip counter name */
                p += strlen (p) + 1; /* skip counter help */
        }
        return NULL;
@@ -619,7 +635,7 @@ find_custom_counter (SharedCategory* cat, MonoString *name)
 typedef struct {
        unsigned int cat_offset;
        SharedCategory* cat;
-       MonoString *instance;
+       char *name;
        SharedInstance* result;
        GSList *list;
 } InstanceSearch;
@@ -631,8 +647,8 @@ instance_search (SharedHeader *header, void *data)
        if (header->ftype == FTYPE_INSTANCE) {
                SharedInstance *ins = (SharedInstance*)header;
                if (search->cat_offset == ins->category_offset) {
-                       if (search->instance) {
-                               if (mono_string_compare_ascii (search->instance, ins->instance_name) == 0) {
+                       if (search->name) {
+                               if (strcmp (search->name, ins->instance_name) == 0) {
                                        search->result = ins;
                                        return FALSE;
                                }
@@ -645,12 +661,12 @@ instance_search (SharedHeader *header, void *data)
 }
 
 static SharedInstance*
-find_custom_instance (SharedCategory* cat, MonoString *instance)
+find_custom_instance (SharedCategory* cat, char *name)
 {
        InstanceSearch search;
        search.cat_offset = (char*)cat - (char*)shared_area;
        search.cat = cat;
-       search.instance = instance;
+       search.name = name;
        search.list = NULL;
        search.result = NULL;
        foreach_shared_item (instance_search, &search);
@@ -663,7 +679,7 @@ get_custom_instances_list (SharedCategory* cat)
        InstanceSearch search;
        search.cat_offset = (char*)cat - (char*)shared_area;
        search.cat = cat;
-       search.instance = NULL;
+       search.name = NULL;
        search.list = NULL;
        search.result = NULL;
        foreach_shared_item (instance_search, &search);
@@ -896,7 +912,7 @@ mono_mem_counter (ImplVtable *vtable, MonoBoolean only_value, MonoCounterSample
        sample->counterType = predef_counters [predef_categories [CATEGORY_MONO_MEM].first_counter + id].type;
        switch (id) {
        case COUNTER_MEM_NUM_OBJECTS:
-               sample->rawValue = mono_stats.new_object_count;
+               sample->rawValue = 0;
                return TRUE;
        case COUNTER_MEM_PHYS_TOTAL:
                sample->rawValue = mono_determine_physical_ram_size ();;
@@ -1140,41 +1156,33 @@ custom_writable_update (ImplVtable *vtable, MonoBoolean do_incr, gint64 value)
 }
 
 static SharedInstance*
-custom_get_instance (SharedCategory *cat, SharedCounter *scounter, MonoString* instance)
+custom_get_instance (SharedCategory *cat, SharedCounter *scounter, char* name)
 {
        SharedInstance* inst;
-       unsigned char *ptr;
        char *p;
        int size, data_offset;
-       char *name;
-       inst = find_custom_instance (cat, instance);
+       inst = find_custom_instance (cat, name);
        if (inst)
                return inst;
-       name = mono_string_to_utf8 (instance);
        size = sizeof (SharedInstance) + strlen (name);
        size += 7;
        size &= ~7;
        data_offset = size;
        size += (sizeof (guint64) * cat->num_counters);
        perfctr_lock ();
-       ptr = shared_data_find_room (size);
-       if (!ptr) {
+       inst = (SharedInstance*) shared_data_reserve_room (size, FTYPE_INSTANCE);
+       if (!inst) {
                perfctr_unlock ();
                g_free (name);
                return NULL;
        }
-       inst = (SharedInstance*)ptr;
-       inst->header.extra = 0; /* data_offset could overflow here, so we leave this field unused */
-       inst->header.size = size;
        inst->category_offset = (char*)cat - (char*)shared_area;
        cat->num_instances++;
        /* now copy the variable data */
        p = inst->instance_name;
        strcpy (p, name);
        p += strlen (name) + 1;
-       inst->header.ftype = FTYPE_INSTANCE;
        perfctr_unlock ();
-       g_free (name);
 
        return inst;
 }
@@ -1193,24 +1201,33 @@ custom_vtable (SharedCounter *scounter, SharedInstance* inst, char *data)
        return (ImplVtable*)vtable;
 }
 
+static gpointer
+custom_get_value_address (SharedCounter *scounter, SharedInstance* sinst)
+{
+       int offset = sizeof (SharedInstance) + strlen (sinst->instance_name);
+       offset += 7;
+       offset &= ~7;
+       offset += scounter->seq_num * sizeof (guint64);
+       return (char*)sinst + offset;
+}
+
 static void*
 custom_get_impl (SharedCategory *cat, MonoString* counter, MonoString* instance, int *type)
 {
        SharedCounter *scounter;
        SharedInstance* inst;
-       int size;
+       char *name;
 
        scounter = find_custom_counter (cat, counter);
        if (!scounter)
                return NULL;
        *type = simple_type_to_type [scounter->type];
-       inst = custom_get_instance (cat, scounter, instance);
+       name = mono_string_to_utf8 (counter);
+       inst = custom_get_instance (cat, scounter, name);
+       g_free (name);
        if (!inst)
                return NULL;
-       size = sizeof (SharedInstance) + strlen (inst->instance_name);
-       size += 7;
-       size &= ~7;
-       return custom_vtable (scounter, inst, (char*)inst + size + scounter->seq_num * sizeof (guint64));
+       return custom_vtable (scounter, inst, custom_get_value_address (scounter, inst));
 }
 
 static const CategoryDesc*
@@ -1383,7 +1400,6 @@ mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoA
        char *name = NULL;
        char *chelp = NULL;
        char **counter_info = NULL;
-       unsigned char *ptr;
        char *p;
        SharedCategory *cat;
 
@@ -1419,14 +1435,11 @@ mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoA
        if (size > 65535)
                goto failure;
        perfctr_lock ();
-       ptr = shared_data_find_room (size);
-       if (!ptr) {
+       cat = (SharedCategory*) shared_data_reserve_room (size, FTYPE_CATEGORY);
+       if (!cat) {
                perfctr_unlock ();
                goto failure;
        }
-       cat = (SharedCategory*)ptr;
-       cat->header.extra = type;
-       cat->header.size = size;
        cat->num_counters = num_counters;
        cat->counters_data_size = counters_data_size;
        /* now copy the vaiable data */
@@ -1445,7 +1458,6 @@ mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoA
                strcpy (p, counter_info [i * 2 + 1]);
                p += strlen (counter_info [i * 2 + 1]) + 1;
        }
-       cat->header.ftype = FTYPE_CATEGORY;
 
        perfctr_unlock ();
        result = TRUE;
@@ -1466,6 +1478,8 @@ int
 mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, MonoString *machine)
 {
        const CategoryDesc *cdesc;
+       SharedInstance *sinst;
+       char *name;
        /* no support for counters on other machines */
        /*FIXME: machine appears to be wrong
        if (mono_string_compare_ascii (machine, "."))
@@ -1476,7 +1490,10 @@ mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, Mo
                scat = find_custom_category (category);
                if (!scat)
                        return FALSE;
-               if (find_custom_instance (scat, instance))
+               name = mono_string_to_utf8 (instance);
+               sinst = find_custom_instance (scat, name);
+               g_free (name);
+               if (sinst)
                        return TRUE;
        } else {
                /* FIXME: search instance */
@@ -1539,7 +1556,8 @@ mono_perfcounter_counter_names (MonoString *category, MonoString *machine)
                res = mono_array_new (domain, mono_get_string_class (), scat->num_counters);
                for (i = 0; i < scat->num_counters; ++i) {
                        mono_array_setref (res, i, mono_string_new (domain, p + 1));
-                       p += 1 + strlen (p + 1) + 1; /* skip counter type and name */
+                       p += 2; /* skip counter type */
+                       p += strlen (p) + 1; /* skip counter name */
                        p += strlen (p) + 1; /* skip counter help */
                }
                perfctr_unlock ();
@@ -1691,6 +1709,65 @@ mono_perfcounter_instance_names (MonoString *category, MonoString *machine)
                return mono_array_new (mono_domain_get (), mono_get_string_class (), 0);
        }
 }
+
+typedef struct {
+       PerfCounterEnumCallback cb;
+       void *data;
+} PerfCounterForeachData;
+
+static gboolean
+mono_perfcounter_foreach_shared_item (SharedHeader *header, gpointer data)
+{
+       int i;
+       char *p, *name, *help;
+       unsigned char type;
+       int seq_num;
+       void *addr;
+       SharedCategory *cat;
+       SharedCounter *counter;
+       SharedInstance *inst;
+       PerfCounterForeachData *foreach_data = data;
+
+       if (header->ftype == FTYPE_CATEGORY) {
+               cat = (SharedCategory*)header;
+
+               p = cat->name;
+               p += strlen (p) + 1; /* skip category name */
+               p += strlen (p) + 1; /* skip category help */
+
+               for (i = 0; i < cat->num_counters; ++i) {
+                       counter = (SharedCounter*) p;
+                       type = (unsigned char)*p++;
+                       seq_num = (int)*p++;
+                       name = p;
+                       p += strlen (p) + 1;
+                       help = p;
+                       p += strlen (p) + 1;
+
+                       inst = custom_get_instance (cat, counter, name);
+                       if (!inst)
+                               return FALSE;
+                       addr = custom_get_value_address (counter, inst);
+                       if (!foreach_data->cb (cat->name, name, type, addr ? *(gint64*)addr : 0, foreach_data->data))
+                               return FALSE;
+               }
+       }
+
+       return TRUE;
+}
+
+void
+mono_perfcounter_foreach (PerfCounterEnumCallback cb, gpointer data)
+{
+       PerfCounterForeachData foreach_data = { cb, data };
+
+       perfctr_lock ();
+
+       foreach_shared_item (mono_perfcounter_foreach_shared_item, &foreach_data);
+
+       perfctr_unlock ();
+}
+
 #else
 void*
 mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString* instance, MonoString* machine, int *type, MonoBoolean *custom)
index 3cf5e8f58297a5fe5a41f2df57d4ab20d17b492c..c9f3fc2be09a0497032354c12f4d7fcb435a960f 100644 (file)
@@ -2,8 +2,8 @@
 #define __MONO_PERFCOUNTERS_H__
 
 #include <glib.h>
-#include <metadata/object.h>
-#include <utils/mono-compiler.h>
+#include <mono/metadata/object.h>
+#include <mono/utils/mono-compiler.h>
 
 typedef struct _MonoCounterSample MonoCounterSample;
 
@@ -25,6 +25,8 @@ MonoArray*  mono_perfcounter_category_names  (MonoString *machine) MONO_INTERNAL
 MonoArray*  mono_perfcounter_counter_names   (MonoString *category, MonoString *machine) MONO_INTERNAL;
 MonoArray*  mono_perfcounter_instance_names  (MonoString *category, MonoString *machine) MONO_INTERNAL;
 
+typedef gboolean (*PerfCounterEnumCallback) (char *category_name, char *name, unsigned char type, gint64 value, gpointer user_data);
+MONO_API void mono_perfcounter_foreach (PerfCounterEnumCallback cb, gpointer user_data);
 
 #endif /* __MONO_PERFCOUNTERS_H__ */
 
diff --git a/mono/metadata/monodiet.c b/mono/metadata/monodiet.c
deleted file mode 100644 (file)
index 1ad1f53..0000000
+++ /dev/null
@@ -1,638 +0,0 @@
-/*
- * monodiet.c: an IL code garbage collector
- *
- * Author:
- *        Paolo Molaro (lupus@ximian.com)
- *
- * (C) 2004 Novell, Inc.
- */
-
-#include <glib.h>
-#include <string.h>
-#include "mono/metadata/class-internals.h"
-#include "mono/metadata/assembly.h"
-#include "mono/metadata/tokentype.h"
-#include "mono/metadata/opcodes.h"
-#include "mono/metadata/tabledefs.h"
-#include "mono/metadata/mono-endian.h"
-#include "mono/metadata/appdomain.h" /* mono_init */
-#include "mono/metadata/debug-helpers.h"
-
-/*
-TODO:
-*) handle proprties, events in a smart way.
-*) add option that takes a directory and outputs the il files and recompiles automatically
-*/
-static GHashTable *type_table;
-static GHashTable *method_table;
-static GHashTable *field_table;
-static GHashTable *image_table;
-static GList *virtual_methods;
-static int verbose = 0;
-static int force_enums = 0;
-static FILE *outf = NULL;
-
-enum {
-       TYPE_BASIC = 1 << 0,
-       TYPE_FIELDS = 1 << 1,
-       TYPE_METHODS = 1 << 2,
-       TYPE_PROPERTIES = 1 << 3,
-       TYPE_EVENTS = 1 << 4,
-       TYPE_ALL = TYPE_BASIC | TYPE_FIELDS | TYPE_METHODS | TYPE_PROPERTIES | TYPE_EVENTS
-};
-
-static void handle_cattrs (MonoCustomAttrInfo* cattrs);
-
-static void
-add_type (MonoClass* klass)
-{
-       gpointer val = NULL, oldkey = NULL;
-       if (g_hash_table_lookup_extended (type_table, klass, &oldkey, &val))
-               return;
-       g_hash_table_insert (type_table, klass, NULL);
-       g_hash_table_insert (image_table, klass->image, NULL);
-}
-
-static void
-add_types_from_signature (MonoMethodSignature *sig)
-{
-       MonoClass *klass;
-       int i;
-       for (i = 0; i < sig->param_count; ++i) {
-               klass = mono_class_from_mono_type (sig->params [i]);
-               add_type (klass);
-       }
-       klass = mono_class_from_mono_type (sig->ret);
-       add_type (klass);
-}
-
-static void
-add_field (MonoClassField *field) {
-       MonoClass *k;
-       MonoCustomAttrInfo* cattrs;
-       gpointer val = NULL, oldkey = NULL;
-
-       if (g_hash_table_lookup_extended (field_table, field, &oldkey, &val))
-               return;
-       g_hash_table_insert (field_table, field, NULL);
-       add_type (field->parent);
-       k = mono_class_from_mono_type (field->type);
-       add_type (k);
-       cattrs = mono_custom_attrs_from_field (field->parent, field);
-       handle_cattrs (cattrs);
-}
-
-static void
-add_types_from_method (MonoMethod *method) {
-       const MonoOpcode *opcode;
-       MonoMethodHeader *header;
-       const unsigned char *ip, *il_code_end;
-       gpointer val = NULL, oldkey = NULL;
-       int i, n;
-       guint32 token;
-       MonoClass *klass;
-       MonoClassField *field;
-       MonoCustomAttrInfo* cattrs;
-       MonoType** locals;
-       gpointer exc_iter;
-       MonoExceptionClause clause;
-
-       if (g_hash_table_lookup_extended (method_table, method, &oldkey, &val))
-               return;
-       g_hash_table_insert (method_table, method, NULL);
-
-       g_assert (method->klass);
-
-       if (verbose > 1)
-               g_print ("#processing method: %s\n", mono_method_full_name (method, TRUE));
-       mono_class_init (method->klass);
-       cattrs = mono_custom_attrs_from_method (method);
-       handle_cattrs (cattrs);
-       add_type (method->klass);
-       add_types_from_signature (mono_method_signature (method));
-       for (i = 0; i < mono_method_signature (method)->param_count + 1; ++i) {
-               cattrs = mono_custom_attrs_from_param (method, i);
-               handle_cattrs (cattrs);
-       }
-
-       if (method->flags & METHOD_ATTRIBUTE_VIRTUAL)
-               virtual_methods = g_list_prepend (virtual_methods, method);
-
-       /* if no IL code to parse, return */
-       if (method->iflags & (METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL | METHOD_IMPL_ATTRIBUTE_RUNTIME))
-               return;
-       if (method->flags & (METHOD_ATTRIBUTE_PINVOKE_IMPL | METHOD_ATTRIBUTE_ABSTRACT))
-               return;
-
-       header = mono_method_get_header (method);
-
-       locals = mono_method_header_get_locals (header, &n, NULL);
-       for (i = 0; i < n; ++i) {
-               klass = mono_class_from_mono_type (locals [i]);
-               add_type (klass);
-       }
-       for (exc_iter = NULL; mono_method_header_get_clauses (header, method, &exc_iter, &clause);) {
-               if (clause.flags == MONO_EXCEPTION_CLAUSE_NONE)
-                       add_type (clause.data.catch_class);
-       }
-
-       ip = mono_method_header_get_code (header, &n, NULL);
-       il_code_end = ip + n;
-
-       while (ip < il_code_end) {
-               if (verbose > 2)
-                       g_print ("#%s", mono_disasm_code_one (NULL, method, ip, NULL));
-               if (*ip == 0xfe) {
-                       ++ip;
-                       i = *ip + 256;
-               } else {
-                       i = *ip;
-               }
-
-               opcode = &mono_opcodes [i];
-
-               switch (opcode->argument) {
-               case MonoInlineNone:
-                       ip++;
-                       break;
-               case MonoInlineType:
-                       token = read32 (ip + 1);
-                       add_type (mono_class_get (method->klass->image, token));
-                       ip += 5;
-                       break;
-               case MonoInlineField: {
-                       token = read32 (ip + 1);
-                       field = mono_field_from_token (method->klass->image, token, &klass, NULL);
-                       add_field (field);
-                       add_type (klass);
-                       ip += 5;
-                       break;
-               }
-               case MonoInlineTok:
-               case MonoInlineSig:
-                       /* FIXME */
-               case MonoInlineString:
-               case MonoShortInlineR:
-               case MonoInlineBrTarget:
-               case MonoInlineI:
-                       ip += 5;
-                       break;
-               case MonoInlineVar:
-                       ip += 3;
-                       break;
-               case MonoShortInlineVar:
-               case MonoShortInlineI:
-               case MonoShortInlineBrTarget:
-                       ip += 2;
-                       break;
-               case MonoInlineSwitch:
-                       ++ip;
-                       n = read32 (ip);
-                       ip += 4;
-                       ip += 4 * n;
-                       break;
-               case MonoInlineI8:
-               case MonoInlineR:
-                       ip += 9;
-                       break;
-               case MonoInlineMethod:
-                       {
-                               MonoMethod *cm = mono_get_method (method->klass->image, read32 (ip + 1), NULL);
-                               add_type (cm->klass);
-                               add_types_from_method (cm);
-                       }
-                       ip += 5;
-                       break;
-               default:
-                       g_assert_not_reached ();
-               }
-       }
-}
-
-static void
-handle_cattrs (MonoCustomAttrInfo* cattrs)
-{
-       int i;
-       if (!cattrs)
-               return;
-       for (i = 0; i < cattrs->num_attrs; ++i) {
-               add_types_from_method (cattrs->attrs [i].ctor);
-       }
-       mono_custom_attrs_free (cattrs);
-}
-
-static void
-handle_type (MonoClass *klass, guint32 flags)
-{
-       int i;
-       guint32 missing;
-       MonoCustomAttrInfo* cattrs;
-       gpointer val = NULL, oldkey = NULL;
-       MonoProperty* prop;
-       MonoEvent* event;
-       MonoMethod* method;
-       MonoClassField* field;
-       gpointer iter;
-       
-       if (g_hash_table_lookup_extended (type_table, klass, &oldkey, &val)) {
-               missing = flags & ~(GPOINTER_TO_UINT (val));
-       } else {
-               missing = flags;
-       }
-       if (!missing)
-               return;
-       g_hash_table_insert (type_table, klass, GUINT_TO_POINTER (missing));
-       if (verbose)
-               g_print ("#processing klass: %s.%s\n", klass->name_space, klass->name);
-       mono_class_init (klass);
-       if (klass->parent)
-               add_type (klass->parent);
-       if (klass->nested_in)
-               add_type (klass->nested_in);
-       iter = NULL;
-       while ((method = mono_class_get_methods (klass, &iter))) {
-               if ((missing & TYPE_METHODS) || strcmp (method->name, ".cctor") == 0)
-                       add_types_from_method (method);
-       }
-       if (klass->enumtype) {
-               add_field (mono_class_get_field_from_name (klass, "value__"));
-       }
-       if (force_enums || (missing & TYPE_FIELDS)) {
-               iter = NULL;
-               while ((field = mono_class_get_fields (klass, &iter)))
-                       add_field (field);
-       }
-       iter = NULL;
-       while ((prop = mono_class_get_properties (klass, &iter))) {
-               cattrs = mono_custom_attrs_from_property (klass, prop);
-               handle_cattrs (cattrs);
-       }
-       iter = NULL;
-       while ((event = mono_class_get_events (klass, &iter))) {
-               cattrs = mono_custom_attrs_from_event (klass, event);
-               handle_cattrs (cattrs);
-       }
-       for (i = 0; i < klass->interface_count; ++i)
-               add_type (klass->interfaces [i]);
-       cattrs = mono_custom_attrs_from_class (klass);
-       handle_cattrs (cattrs);
-}
-
-static void
-process_image (MonoImage *image, gboolean all) {
-       int i;
-       const MonoTableInfo *t;
-       MonoClass *klass;
-       MonoMethod *entry;
-       guint32 eptoken;
-
-       if (verbose)
-               g_print ("#processing image: %s\n", mono_image_get_name (image));
-       eptoken =  mono_image_get_entry_point (image);
-       if (eptoken) {
-               entry = mono_get_method (image, eptoken, NULL);
-               add_types_from_method (entry);
-       }
-       /* we always add the <Module> type */
-       klass = mono_class_get (image, MONO_TOKEN_TYPE_DEF | 1);
-       handle_type (klass, all? TYPE_ALL: TYPE_BASIC);
-       if (all) {
-               t = mono_image_get_table_info (image, MONO_TABLE_TYPEDEF);
-               for (i = 1; i < mono_table_info_get_rows (t); ++i) {
-                       klass = mono_class_get (image, MONO_TOKEN_TYPE_DEF | (i + 1));
-                       handle_type (klass, all? TYPE_ALL: TYPE_BASIC);
-               }
-       }
-}
-
-static void
-process_assembly (MonoAssembly *assembly, gboolean all) {
-       MonoCustomAttrInfo* cattrs;
-       process_image (mono_assembly_get_image (assembly), all);
-       cattrs = mono_custom_attrs_from_assembly (assembly);
-       handle_cattrs (cattrs);
-}
-
-static GList *worklist = NULL;
-
-static void
-collect_type (const gpointer key, const gpointer val, gpointer user_data)
-{
-       MonoClass *klass = key;
-       if (klass->rank || klass->byval_arg.type == MONO_TYPE_PTR)
-               return;
-       worklist = g_list_prepend (worklist, key);
-}
-
-static void
-check_vmethods (MonoClass *klass, MonoMethod *method)
-{
-       MonoMethod **vtable;
-       if (method->klass == klass)
-               return;
-       mono_class_init (klass);
-       mono_class_init (method->klass);
-       vtable = klass->vtable;
-       /* iface */
-       if (!vtable)
-               return;
-       if (method->klass->flags & TYPE_ATTRIBUTE_INTERFACE) {
-               if (MONO_CLASS_IMPLEMENTS_INTERFACE (klass, method->klass->interface_id)) {
-                       int iface_offset = mono_class_interface_offset (klass, method->klass);
-                       g_assert (method->slot != -1);
-                       if (vtable [iface_offset + method->slot])
-                               add_types_from_method (vtable [iface_offset + method->slot]);
-               }
-       } else {
-               if (mono_class_has_parent (klass, method->klass)) {
-                       g_assert (method->slot != -1);
-                       if (vtable [method->slot])
-                               add_types_from_method (vtable [method->slot]);
-               }
-       }
-}
-
-static void
-process_images (void) {
-       int old_count, new_count;
-       GList *item, *vmethod;
-       new_count = g_hash_table_size (type_table);
-       new_count += g_hash_table_size (method_table);
-       new_count += g_hash_table_size (field_table);
-       do {
-               old_count = new_count;
-               if (verbose)
-                       g_print ("#processing type table: %d\n", old_count);
-               g_list_free (worklist);
-               worklist = NULL;
-               g_hash_table_foreach (type_table, collect_type, NULL);
-               for (item = worklist; item; item = item->next) {
-                       for (vmethod = virtual_methods; vmethod; vmethod = vmethod->next) {
-                               check_vmethods (item->data, vmethod->data);
-                       }
-               }
-               g_list_free (worklist);
-               worklist = NULL;
-               g_hash_table_foreach (type_table, collect_type, NULL);
-               for (item = worklist; item; item = item->next) {
-                       handle_type (item->data, TYPE_BASIC);
-               }
-               new_count = g_hash_table_size (type_table);
-               new_count += g_hash_table_size (method_table);
-               new_count += g_hash_table_size (field_table);
-       } while (old_count != new_count);
-}
-
-static void
-foreach_method (const gpointer key, const gpointer val, gpointer user_data)
-{
-       MonoMethod *method = key;
-       MonoClass *klass = user_data;
-       if (method->klass != klass)
-               return;
-       /* FIXME: ensure it's the correct token */
-       fprintf (outf, "M:0x%x\n", mono_metadata_token_index (method->token));
-}
-
-static void
-foreach_field (const gpointer key, const gpointer val, gpointer user_data)
-{
-       MonoClassField *field = key;
-       MonoClass *klass = user_data;
-       int idx;
-       if (field->parent != klass)
-               return;
-       idx = mono_metadata_token_index (mono_class_get_field_token (field));
-       fprintf (outf, "F:0x%x\n", idx);
-}
-
-static void
-foreach_type (const gpointer key, const gpointer val, gpointer user_data)
-{
-       MonoClass *klass = key;
-       MonoImage *image = user_data;
-       if (klass->image != image)
-               return;
-       if (klass->rank || klass->byval_arg.type == MONO_TYPE_PTR)
-               return;
-       fprintf (outf, "T:0x%x\n", mono_metadata_token_index (klass->type_token));
-       g_hash_table_foreach (method_table, foreach_method, klass);
-       g_hash_table_foreach (field_table, foreach_field, klass);
-}
-
-static void
-foreach_image (const gpointer key, const gpointer val, gpointer user_data)
-{
-       MonoImage *image = key;
-       const char* aname;
-       aname = mono_image_get_name (image);
-       /* later print the guid as well to prevent mismatches */
-       fprintf (outf, "[%s]\n", aname);
-       g_hash_table_foreach (type_table, foreach_type, image);
-}
-
-static void
-dump_images (const char *filename)
-{
-       if (filename) {
-               FILE* f = fopen (filename, "w");
-               if (!f)
-                       g_error ("cannot write to file '%s'\n", filename);
-               else
-                       outf = f;
-       } else {
-               outf = stdout;
-       }
-       g_hash_table_foreach (image_table, foreach_image, NULL);
-       if (filename)
-               fclose (outf);
-}
-
-static void
-usage (int code) {
-       printf ("monodiet 0.1 Copyright (c) 2004 Novell, Inc\n");
-       printf ("List the metadata elements used by the named assemblies.\n");
-       printf ("Usage: monodiet [options] assembly [assembly2 ...]\n\n");
-       printf ("Options:\n");
-       printf ("\t-v           increase verbose level\n");
-       printf ("\t-h           show help screen\n");
-       printf ("\t-e           force inclusion of enum members\n");
-       printf ("\t-o FILENAME  output the result to filename\n");
-       printf ("\t-a FILENAME  add metadata elements from description in filename\n");
-       printf ("\t-F ASSEMBLY  force add all metadata elements from assembly\n");
-       exit (code);
-}
-
-static MonoImage*
-find_image (char *name)
-{
-       return mono_image_loaded (name);
-}
-
-static MonoClass*
-find_class (MonoImage *image, char *name)
-{
-       char *p = strrchr (name, '.');
-       if (p) {
-               *p = 0;
-               return mono_class_from_name (image, name, p + 1);
-       }
-       return mono_class_from_name (image, "", name);
-}
-
-static void
-load_roots (const char* filename)
-{
-       FILE *file;
-       char buf [2048];
-       char *p, *s;
-       int line = 0;
-       MonoImage *image = NULL;
-       MonoClass *klass = NULL;
-       MonoClassField *field;
-       MonoMethodDesc *mdesc;
-       MonoMethod *method;
-
-       if (!(file = fopen (filename, "r")))
-               return;
-       
-       while (fgets (buf, sizeof (buf), file)) {
-               /* FIXME:
-                * decide on the format to use to express types, fields, methods,
-                * maybe the same used on output from the tool, but with explicit
-                * names and signatures instead of token indexes
-                * add wildcard support
-                */
-               ++line;
-               s = buf;
-               while (*s && g_ascii_isspace (*s)) ++s;
-               switch (*s) {
-               case 0:
-               case '#':
-                       continue; /* comment */
-               case '[':
-                       p = strchr (s, ']');
-                       if (!p)
-                               g_error ("invalid assembly format at line %d\n", line);
-                       *p = 0;
-                       p = s + 1;
-                       image = find_image (p);
-                       if (!image)
-                               g_error ("image not loaded: %s\n", p);
-                       klass = NULL;
-                       break;
-               case 'T':
-                       if (s [1] != ':')
-                               g_error ("invalid type format at line %d\n", line);
-                       if (!image)
-                               break;
-                       klass = find_class (image, s + 2);
-                       break;
-               case 'F':
-                       if (s [1] != ':')
-                               g_error ("invalid field format at line %d\n", line);
-                       if (!image || !klass)
-                               break;
-                       p = s + 2;
-                       if (*p == '*') {
-                               handle_type (klass, TYPE_FIELDS);
-                               break;
-                       }
-                       field = mono_class_get_field_from_name (klass, p);
-                       if (!field)
-                               g_warning ("no field '%s' at line %d\n", p, line);
-                       else
-                               add_field (field);
-                       break;
-               case 'M':
-                       if (s [1] != ':')
-                               g_error ("invalid method format at line %d\n", line);
-                       if (!image || !klass)
-                               break;
-                       p = s + 2;
-                       if (*p == '*') {
-                               handle_type (klass, TYPE_METHODS);
-                               break;
-                       }
-                       mdesc = mono_method_desc_new (p, FALSE);
-                       if (!mdesc) {
-                               g_error ("invalid method desc at line %d\n", line);
-                       }
-                       method = mono_method_desc_search_in_class (mdesc, klass);
-                       if (!method)
-                               g_warning ("no method '%s' at line %d\n", p, line);
-                       else
-                               add_types_from_method (method);
-                       mono_method_desc_free (mdesc);
-                       break;
-               default:
-                       g_error ("invalid format at line %d\n", line);
-               }
-       }
-       fclose (file);
-}
-
-int
-main (int argc, char *argv[]) {
-       MonoAssembly *assembly = NULL;
-       const char *aname = NULL;
-       const char *outfile = NULL;
-       const char *rootfile = NULL;
-       int i;
-       gboolean all_meta = FALSE;
-
-       mono_init (argv [0]);
-
-       type_table = g_hash_table_new (NULL, NULL);
-       method_table = g_hash_table_new (NULL, NULL);
-       field_table = g_hash_table_new (NULL, NULL);
-       image_table = g_hash_table_new (NULL, NULL);
-
-       for (i = 1; i < argc; ++i) {
-               all_meta = FALSE;
-               aname = argv [i];
-               if (strcmp (aname, "-v") == 0) {
-                       verbose++;
-                       continue;
-               } else if (strcmp (aname, "-e") == 0) {
-                       force_enums = 1;
-                       continue;
-               } else if (strcmp (aname, "-h") == 0) {
-                       usage (0);
-               } else if (strcmp (aname, "-o") == 0) {
-                       i++;
-                       if (i >= argc)
-                               usage (1);
-                       outfile = argv [i];
-                       continue;
-               } else if (strcmp (aname, "-F") == 0) {
-                       i++;
-                       if (i >= argc)
-                               usage (1);
-                       all_meta = TRUE;
-                       aname = argv [i];
-               } else if (strcmp (aname, "-a") == 0) {
-                       i++;
-                       if (i >= argc)
-                               usage (1);
-                       rootfile = argv [i];
-                       continue;
-               }
-               assembly = mono_assembly_open (aname, NULL);
-               if (!assembly) {
-                       g_print ("cannot open assembly %s\n", aname);
-                       exit (1);
-               }
-               process_assembly (assembly, all_meta);
-       }
-       if (!assembly)
-               usage (1);
-       if (rootfile)
-               load_roots (rootfile);
-       process_images ();
-       dump_images (outfile);
-
-       return 0;
-}
-
-
index 397f3849f3d62e0d425a0301fd586d44f3af79df..54b2ddbeea4f055e77ca4ca7aabb144ae799247e 100644 (file)
@@ -13,6 +13,7 @@
 #include <mono/metadata/runtime.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-counters.h>
 
 #ifdef HAVE_NULL_GC
 
@@ -22,6 +23,8 @@ mono_gc_base_init (void)
        MonoThreadInfoCallbacks cb;
        int dummy;
 
+       mono_counters_init ();
+
        memset (&cb, 0, sizeof (cb));
        /* TODO: This casts away an incompatible pointer type warning in the same
                 manner that boehm-gc does it. This is probably worth investigating
index b690e783e22404704387398628d6827acfdff2af..0e24c963d0c84b0bf5110eb3c89bf04b0db10299 100644 (file)
@@ -1415,7 +1415,7 @@ void        mono_reflection_create_unmanaged_type (MonoReflectionType *type) MON
 void        mono_reflection_register_with_runtime (MonoReflectionType *type) MONO_INTERNAL;
 
 void        mono_reflection_create_custom_attr_data_args (MonoImage *image, MonoMethod *method, const guchar *data, guint32 len, MonoArray **typed_args, MonoArray **named_args, CattrNamedArg **named_arg_info, MonoError *error) MONO_INTERNAL;
-MonoMethodSignature * mono_reflection_lookup_signature (MonoImage *image, MonoMethod *method, guint32 token) MONO_INTERNAL;
+MonoMethodSignature * mono_reflection_lookup_signature (MonoImage *image, MonoMethod *method, guint32 token, MonoError *error) MONO_INTERNAL;
 
 MonoArray* mono_param_get_objects_internal  (MonoDomain *domain, MonoMethod *method, MonoClass *refclass) MONO_INTERNAL;
 
index b9abf073f057b6bff0a1ddf21a1464150c2f24b9..00c013b215c40b61fad713bdaa881df23f75fe48 100644 (file)
@@ -1860,6 +1860,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
        char *t;
        int i, vtable_slots;
        int imt_table_bytes = 0;
+       int alloc_offset;
        int gc_bits;
        guint32 vtable_size, class_size;
        guint32 cindex;
@@ -1946,14 +1947,27 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
                        MONO_SIZEOF_VTABLE + vtable_slots * sizeof (gpointer);
        }
 
+       /*
+        * We want the pointer to the MonoVTable aligned to 8 bytes because SGen uses three
+        * address bits.  The IMT has an odd number of entries, however, so on 32 bits the
+        * alignment will be off.  In that case we allocate 4 more bytes and skip over them.
+        */
+       if (sizeof (gpointer) == 4 && (imt_table_bytes & 7)) {
+               g_assert ((imt_table_bytes & 7) == 4);
+               vtable_size += 4;
+               alloc_offset = 4;
+       } else {
+               alloc_offset = 0;
+       }
+
        mono_stats.used_class_count++;
        mono_stats.class_vtable_size += vtable_size;
-       interface_offsets = mono_domain_alloc0 (domain, vtable_size);
 
-       if (ARCH_USE_IMT)
-               vt = (MonoVTable*) ((char*)interface_offsets + imt_table_bytes);
-       else
-               vt = (MonoVTable*) (interface_offsets + class->max_interface_id + 1);
+       interface_offsets = (gpointer*) ((char*)mono_domain_alloc0 (domain, vtable_size) + alloc_offset);
+
+       vt = (MonoVTable*) ((char*)interface_offsets + imt_table_bytes);
+       g_assert (!((gsize)vt & 7));
+
        vt->klass = class;
        vt->rank = class->rank;
        vt->domain = domain;
@@ -4368,7 +4382,6 @@ static inline void *
 mono_object_allocate (size_t size, MonoVTable *vtable)
 {
        MonoObject *o;
-       mono_stats.new_object_count++;
        ALLOC_OBJECT (o, vtable, size);
 
        return o;
@@ -4385,7 +4398,6 @@ static inline void *
 mono_object_allocate_ptrfree (size_t size, MonoVTable *vtable)
 {
        MonoObject *o;
-       mono_stats.new_object_count++;
        ALLOC_PTRFREE (o, vtable, size);
        return o;
 }
@@ -4395,7 +4407,6 @@ mono_object_allocate_spec (size_t size, MonoVTable *vtable)
 {
        void *o;
        ALLOC_TYPED (o, size, vtable);
-       mono_stats.new_object_count++;
 
        return o;
 }
@@ -4879,7 +4890,6 @@ mono_array_new_full (MonoDomain *domain, MonoClass *array_class, uintptr_t *leng
        else
                o = mono_gc_alloc_vector (vtable, byte_len, len);
        array = (MonoArray*)o;
-       mono_stats.new_object_count++;
 
        bounds = array->bounds;
 #endif
@@ -4964,7 +4974,6 @@ mono_array_new_specific (MonoVTable *vtable, uintptr_t n)
 #else
        o = mono_gc_alloc_vector (vtable, byte_len, n);
        ao = (MonoArray*)o;
-       mono_stats.new_object_count++;
 #endif
 
        if (G_UNLIKELY (profile_allocs))
index 496c3c7f5ff9e66909157c08f3c7dd0a5c381ce6..8d0709ced19a911353557534e5a4853b87cf189d 100644 (file)
@@ -27,6 +27,7 @@
 #include <mono/metadata/marshal.h>
 #include "mono/utils/mono-digest.h"
 #include <mono/utils/mono-mmap.h>
+#include <mono/utils/mono-counters.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #ifdef HAVE_UNISTD_H
@@ -653,6 +654,7 @@ main (int argc, char *argv [])
 #ifndef DISABLE_PERFCOUNTERS
        mono_perfcounters_init ();
 #endif
+       mono_counters_init ();
        mono_metadata_init ();
        mono_images_init ();
        mono_assemblies_init ();
index 18ec96b7aea2fae84c74fb3e77033dfca9aa3777..ed8a32f44feccbca93ced8740604bb16ee5f469c 100644 (file)
@@ -77,5 +77,8 @@ void mono_profiler_code_buffer_new (gpointer buffer, int size, MonoProfilerCodeB
 
 void mono_profiler_runtime_initialized (void) MONO_INTERNAL;
 
+int64_t mono_profiler_get_sampling_rate (void) MONO_INTERNAL;
+MonoProfileSamplingMode mono_profiler_get_sampling_mode (void) MONO_INTERNAL;
+
 #endif /* __MONO_PROFILER_PRIVATE_H__ */
 
index 53f8ff0c9071485f227887de4d64ce54c885ebc9..dccf09307119dae0221e9cce91dba789ff876dc5 100644 (file)
@@ -273,6 +273,28 @@ mono_profiler_install_monitor  (MonoProfileMonitorFunc callback)
        prof_list->monitor_event_cb = callback;
 }
 
+static MonoProfileSamplingMode sampling_mode = MONO_PROFILER_STAT_MODE_PROCESS;
+static int64_t sampling_frequency = 1000; //1ms
+
+/**
+ * mono_profiler_set_statistical_mode:
+ * @mode the sampling mode used.
+ * @sample_frequency_is_us the sampling frequency in microseconds.
+ *
+ * Set the sampling parameters for the profiler. Sampling mode affects the effective sampling rate as in samples/s you'll witness.
+ * The default sampling mode is process mode, which only reports samples when there's activity in the process.
+ *
+ * Sampling frequency should be interpreted as a suggestion that can't always be honored due to how most kernels expose alarms.
+ *
+ * Said that, when using statistical sampling, always assume variable rate sampling as all sort of external factors can interfere.
+ */
+void
+mono_profiler_set_statistical_mode (MonoProfileSamplingMode mode, int64_t sampling_frequency_is_us)
+{
+       sampling_mode = mode;
+       sampling_frequency = sampling_frequency_is_us;
+}
+
 void 
 mono_profiler_install_statistical (MonoProfileStatFunc callback)
 {
@@ -281,6 +303,18 @@ mono_profiler_install_statistical (MonoProfileStatFunc callback)
        prof_list->statistical_cb = callback;
 }
 
+int64_t
+mono_profiler_get_sampling_rate (void)
+{
+       return sampling_frequency;
+}
+
+MonoProfileSamplingMode
+mono_profiler_get_sampling_mode (void)
+{
+       return sampling_mode;
+}
+
 void 
 mono_profiler_install_statistical_call_chain (MonoProfileStatCallChainFunc callback, int call_chain_depth, MonoProfilerCallChainStrategy call_chain_strategy) {
        if (!prof_list)
index c7b8f6d8a88463fad9c5be909cac96b5726ee3d1..408cac8ba31206edebff5db394d05f802d07d6c2 100644 (file)
@@ -193,6 +193,15 @@ MONO_API void mono_profiler_install_iomap (MonoProfileIomapFunc callback);
 
 MONO_API void mono_profiler_load             (const char *desc);
 
+typedef enum {
+       /* Elapsed time is tracked by user+kernel time of the process - this is the default*/
+       MONO_PROFILER_STAT_MODE_PROCESS = 0,
+       /* Elapsed time is tracked by wallclock time */
+       MONO_PROFILER_STAT_MODE_REAL = 1,
+} MonoProfileSamplingMode;
+
+MONO_API void mono_profiler_set_statistical_mode (MonoProfileSamplingMode mode, int64_t sampling_frequency_is_us);
+
 MONO_END_DECLS
 
 #endif /* __MONO_PROFILER_H__ */
index 6614b01e1e9863aec5a44153b0f9b5c85365b290..0db16c92df451fbe4c2930a858ceffde31e7b91c 100644 (file)
@@ -11847,16 +11847,18 @@ mono_reflection_is_valid_dynamic_token (MonoDynamicImage *image, guint32 token)
 }
 
 MonoMethodSignature *
-mono_reflection_lookup_signature (MonoImage *image, MonoMethod *method, guint32 token)
+mono_reflection_lookup_signature (MonoImage *image, MonoMethod *method, guint32 token, MonoError *error)
 {
        MonoMethodSignature *sig;
        g_assert (image_is_dynamic (image));
 
+       mono_error_init (error);
+
        sig = g_hash_table_lookup (((MonoDynamicImage*)image)->vararg_aux_hash, GUINT_TO_POINTER (token));
        if (sig)
                return sig;
 
-       return mono_method_signature (method);
+       return mono_method_signature_checked (method, error);
 }
 
 #ifndef DISABLE_REFLECTION_EMIT
diff --git a/mono/metadata/remoting.c b/mono/metadata/remoting.c
new file mode 100644 (file)
index 0000000..9002bf0
--- /dev/null
@@ -0,0 +1,1994 @@
+/*
+ * remoting.c: Remoting support
+ * 
+ * Copyright 2002-2003 Ximian, Inc (http://www.ximian.com)
+ * Copyright 2004-2009 Novell, Inc (http://www.novell.com)
+ * Copyright 2011-2014 Xamarin, Inc (http://www.xamarin.com)
+ *
+ */
+
+#include "config.h"
+
+#include "mono/metadata/remoting.h"
+#include "mono/metadata/marshal.h"
+#include "mono/metadata/abi-details.h"
+#include "mono/metadata/cominterop.h"
+#include "mono/metadata/tabledefs.h"
+#include "mono/metadata/exception.h"
+#include "mono/metadata/debug-helpers.h"
+
+typedef enum {
+       MONO_MARSHAL_NONE,                      /* No marshalling needed */
+       MONO_MARSHAL_COPY,                      /* Can be copied by value to the new domain */
+       MONO_MARSHAL_COPY_OUT,          /* out parameter that needs to be copied back to the original instance */
+       MONO_MARSHAL_SERIALIZE          /* Value needs to be serialized into the new domain */
+} MonoXDomainMarshalType;
+
+#ifndef DISABLE_REMOTING
+
+#define OPDEF(a,b,c,d,e,f,g,h,i,j) \
+       a = i,
+
+enum {
+#include "mono/cil/opcode.def"
+       LAST = 0xff
+};
+#undef OPDEF
+
+struct _MonoRemotingMethods {
+       MonoMethod *invoke;
+       MonoMethod *invoke_with_check;
+       MonoMethod *xdomain_invoke;
+       MonoMethod *xdomain_dispatch;
+};
+
+typedef struct _MonoRemotingMethods MonoRemotingMethods;
+
+static MonoObject *
+mono_remoting_wrapper (MonoMethod *method, gpointer *params);
+
+static gint32
+mono_marshal_set_domain_by_id (gint32 id, MonoBoolean push);
+
+static gboolean
+mono_marshal_check_domain_image (gint32 domain_id, MonoImage *image);
+
+MONO_API void
+mono_upgrade_remote_class_wrapper (MonoReflectionType *rtype, MonoTransparentProxy *tproxy);
+
+static MonoXDomainMarshalType
+mono_get_xdomain_marshal_type (MonoType *t);
+
+static void
+mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst);
+
+static MonoReflectionType *
+type_from_handle (MonoType *handle);
+
+static mono_mutex_t remoting_mutex;
+static gboolean remoting_mutex_inited;
+
+static MonoClass *byte_array_class;
+static MonoMethod *method_rs_serialize, *method_rs_deserialize, *method_exc_fixexc, *method_rs_appdomain_target;
+static MonoMethod *method_set_call_context, *method_needs_context_sink, *method_rs_serialize_exc;
+
+static void
+register_icall (gpointer func, const char *name, const char *sigstr, gboolean save)
+{
+       MonoMethodSignature *sig = mono_create_icall_signature (sigstr);
+
+       mono_register_jit_icall (func, name, sig, save);
+}
+
+static inline void
+remoting_lock (void)
+{
+       g_assert (remoting_mutex_inited);
+       mono_mutex_lock (&remoting_mutex);
+}
+
+static inline void
+remoting_unlock (void)
+{
+       g_assert (remoting_mutex_inited);
+       mono_mutex_unlock (&remoting_mutex);
+}
+
+/*
+ * Return the hash table pointed to by VAR, lazily creating it if neccesary.
+ */
+static GHashTable*
+get_cache (GHashTable **var, GHashFunc hash_func, GCompareFunc equal_func)
+{
+       if (!(*var)) {
+               remoting_lock ();
+               if (!(*var)) {
+                       GHashTable *cache = 
+                               g_hash_table_new (hash_func, equal_func);
+                       mono_memory_barrier ();
+                       *var = cache;
+               }
+               remoting_unlock ();
+       }
+       return *var;
+}
+
+static GHashTable*
+get_cache_full (GHashTable **var, GHashFunc hash_func, GCompareFunc equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
+{
+       if (!(*var)) {
+               remoting_lock ();
+               if (!(*var)) {
+                       GHashTable *cache = 
+                               g_hash_table_new_full (hash_func, equal_func, key_destroy_func, value_destroy_func);
+                       mono_memory_barrier ();
+                       *var = cache;
+               }
+               remoting_unlock ();
+       }
+       return *var;
+}
+
+void
+mono_remoting_init (void)
+{
+       mono_mutex_init (&remoting_mutex);
+       remoting_mutex_inited = TRUE;
+}
+
+static void
+mono_remoting_marshal_init (void)
+{
+       MonoClass *klass;
+
+       static gboolean module_initialized = FALSE;
+
+       if (module_initialized)
+               return;
+
+       klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting", "RemotingServices");
+       method_rs_serialize = mono_class_get_method_from_name (klass, "SerializeCallData", -1);
+       method_rs_deserialize = mono_class_get_method_from_name (klass, "DeserializeCallData", -1);
+       method_rs_serialize_exc = mono_class_get_method_from_name (klass, "SerializeExceptionData", -1);
+       
+       klass = mono_defaults.real_proxy_class;
+       method_rs_appdomain_target = mono_class_get_method_from_name (klass, "GetAppDomainTarget", -1);
+       
+       klass = mono_defaults.exception_class;
+       method_exc_fixexc = mono_class_get_method_from_name (klass, "FixRemotingException", -1);
+       
+       byte_array_class = mono_array_class_get (mono_defaults.byte_class, 1);
+       
+       klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting.Messaging", "CallContext");
+       method_set_call_context = mono_class_get_method_from_name (klass, "SetCurrentCallContext", -1);
+       
+       klass = mono_class_from_name (mono_defaults.corlib, "System.Runtime.Remoting.Contexts", "Context");
+       method_needs_context_sink = mono_class_get_method_from_name (klass, "get_NeedsContextSink", -1);
+
+       register_icall (type_from_handle, "type_from_handle", "object ptr", FALSE);
+       register_icall (mono_marshal_set_domain_by_id, "mono_marshal_set_domain_by_id", "int32 int32 int32", FALSE);
+       register_icall (mono_marshal_check_domain_image, "mono_marshal_check_domain_image", "int32 int32 ptr", FALSE);
+       register_icall (mono_marshal_xdomain_copy_value, "mono_marshal_xdomain_copy_value", "object object", FALSE);
+       register_icall (mono_marshal_xdomain_copy_out_value, "mono_marshal_xdomain_copy_out_value", "void object object", FALSE);
+       register_icall (mono_remoting_wrapper, "mono_remoting_wrapper", "object ptr ptr", FALSE);
+       register_icall (mono_upgrade_remote_class_wrapper, "mono_upgrade_remote_class_wrapper", "void object object", FALSE);
+
+       module_initialized = TRUE;
+}
+
+static MonoReflectionType *
+type_from_handle (MonoType *handle)
+{
+       MonoDomain *domain = mono_domain_get (); 
+       MonoClass *klass = mono_class_from_mono_type (handle);
+
+       MONO_ARCH_SAVE_REGS;
+
+       mono_class_init (klass);
+       return mono_type_get_object (domain, handle);
+}
+
+#ifndef DISABLE_JIT
+static int
+mono_mb_emit_proxy_check (MonoMethodBuilder *mb, int branch_code)
+{
+       int pos;
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoObject, vtable));
+       mono_mb_emit_byte (mb, CEE_LDIND_I);
+       mono_mb_emit_icon (mb, MONO_STRUCT_OFFSET (MonoVTable, klass));
+       mono_mb_emit_byte (mb, CEE_ADD);
+       mono_mb_emit_byte (mb, CEE_LDIND_I);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_CLASSCONST);
+       mono_mb_emit_i4 (mb, mono_mb_add_data (mb, mono_defaults.transparent_proxy_class));
+       pos = mono_mb_emit_branch (mb, branch_code);
+       return pos;
+}
+
+static int
+mono_mb_emit_xdomain_check (MonoMethodBuilder *mb, int branch_code)
+{
+       int pos;
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, target_domain_id));
+       mono_mb_emit_byte (mb, CEE_LDIND_I4);
+       mono_mb_emit_icon (mb, -1);
+       pos = mono_mb_emit_branch (mb, branch_code);
+       return pos;
+}
+
+static int
+mono_mb_emit_contextbound_check (MonoMethodBuilder *mb, int branch_code)
+{
+       static int offset = -1;
+       static guint8 mask;
+
+       if (offset < 0)
+               mono_marshal_find_bitfield_offset (MonoClass, contextbound, &offset, &mask);
+
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, remote_class));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRemoteClass, proxy_class));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_ldflda (mb, offset);
+       mono_mb_emit_byte (mb, CEE_LDIND_U1);
+       mono_mb_emit_icon (mb, mask);
+       mono_mb_emit_byte (mb, CEE_AND);
+       mono_mb_emit_icon (mb, 0);
+       return mono_mb_emit_branch (mb, branch_code);
+}
+#endif /* !DISABLE_JIT */
+
+static inline MonoMethod*
+mono_marshal_remoting_find_in_cache (MonoMethod *method, int wrapper_type)
+{
+       MonoMethod *res = NULL;
+       MonoRemotingMethods *wrps;
+
+       mono_marshal_lock_internal ();
+       if (method->klass->image->remoting_invoke_cache)
+               wrps = g_hash_table_lookup (method->klass->image->remoting_invoke_cache, method);
+       else
+               wrps = NULL;
+
+       if (wrps) {
+               switch (wrapper_type) {
+               case MONO_WRAPPER_REMOTING_INVOKE: res = wrps->invoke; break;
+               case MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK: res = wrps->invoke_with_check; break;
+               case MONO_WRAPPER_XDOMAIN_INVOKE: res = wrps->xdomain_invoke; break;
+               case MONO_WRAPPER_XDOMAIN_DISPATCH: res = wrps->xdomain_dispatch; break;
+               }
+       }
+       
+       /* it is important to do the unlock after the load from wrps, since in
+        * mono_remoting_mb_create_and_cache () we drop the marshal lock to be able
+        * to take the loader lock and some other thread may set the fields.
+        */
+       mono_marshal_unlock_internal ();
+       return res;
+}
+
+/* Create the method from the builder and place it in the cache */
+static inline MonoMethod*
+mono_remoting_mb_create_and_cache (MonoMethod *key, MonoMethodBuilder *mb, 
+                                                               MonoMethodSignature *sig, int max_stack)
+{
+       MonoMethod **res = NULL;
+       MonoRemotingMethods *wrps;
+       GHashTable *cache = get_cache_full (&key->klass->image->remoting_invoke_cache, mono_aligned_addr_hash, NULL, NULL, g_free);
+
+       mono_marshal_lock_internal ();
+       wrps = g_hash_table_lookup (cache, key);
+       if (!wrps) {
+               wrps = g_new0 (MonoRemotingMethods, 1);
+               g_hash_table_insert (cache, key, wrps);
+       }
+
+       switch (mb->method->wrapper_type) {
+       case MONO_WRAPPER_REMOTING_INVOKE: res = &wrps->invoke; break;
+       case MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK: res = &wrps->invoke_with_check; break;
+       case MONO_WRAPPER_XDOMAIN_INVOKE: res = &wrps->xdomain_invoke; break;
+       case MONO_WRAPPER_XDOMAIN_DISPATCH: res = &wrps->xdomain_dispatch; break;
+       default: g_assert_not_reached (); break;
+       }
+       mono_marshal_unlock_internal ();
+
+       if (*res == NULL) {
+               MonoMethod *newm;
+               newm = mono_mb_create_method (mb, sig, max_stack);
+
+               mono_marshal_lock_internal ();
+               if (!*res) {
+                       *res = newm;
+                       mono_marshal_set_wrapper_info (*res, key);
+                       mono_marshal_unlock_internal ();
+               } else {
+                       mono_marshal_unlock_internal ();
+                       mono_free_method (newm);
+               }
+       }
+
+       return *res;
+}              
+
+static MonoObject *
+mono_remoting_wrapper (MonoMethod *method, gpointer *params)
+{
+       MonoMethodMessage *msg;
+       MonoTransparentProxy *this;
+       MonoObject *res, *exc;
+       MonoArray *out_args;
+
+       this = *((MonoTransparentProxy **)params [0]);
+
+       g_assert (this);
+       g_assert (((MonoObject *)this)->vtable->klass == mono_defaults.transparent_proxy_class);
+       
+       /* skip the this pointer */
+       params++;
+
+       if (mono_class_is_contextbound (this->remote_class->proxy_class) && this->rp->context == (MonoObject *) mono_context_get ())
+       {
+               int i;
+               MonoMethodSignature *sig = mono_method_signature (method);
+               int count = sig->param_count;
+               gpointer* mparams = (gpointer*) alloca(count*sizeof(gpointer));
+
+               for (i=0; i<count; i++) {
+                       MonoClass *class = mono_class_from_mono_type (sig->params [i]);
+                       if (class->valuetype) {
+                               if (sig->params [i]->byref) {
+                                       mparams[i] = *((gpointer *)params [i]);
+                               } else {
+                                       /* runtime_invoke expects a boxed instance */
+                                       if (mono_class_is_nullable (mono_class_from_mono_type (sig->params [i])))
+                                               mparams[i] = mono_nullable_box (params [i], class);
+                                       else
+                                               mparams[i] = params [i];
+                               }
+                       } else {
+                               mparams[i] = *((gpointer**)params [i]);
+                       }
+               }
+
+               return mono_runtime_invoke (method, method->klass->valuetype? mono_object_unbox ((MonoObject*)this): this, mparams, NULL);
+       }
+
+       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL);
+
+       res = mono_remoting_invoke ((MonoObject *)this->rp, msg, &exc, &out_args);
+
+       if (exc)
+               mono_raise_exception ((MonoException *)exc);
+
+       mono_method_return_message_restore (method, params, out_args);
+
+       return res;
+} 
+
+MonoMethod *
+mono_marshal_get_remoting_invoke (MonoMethod *method)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       int params_var;
+
+       g_assert (method);
+
+       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE || method->wrapper_type == MONO_WRAPPER_XDOMAIN_INVOKE)
+               return method;
+
+       /* this seems to be the best plase to put this, as all remoting invokes seem to get filtered through here */
+#ifndef DISABLE_COM
+       if (mono_class_is_com_object (method->klass) || method->klass == mono_class_get_com_object_class ()) {
+               MonoVTable *vtable = mono_class_vtable (mono_domain_get (), method->klass);
+               g_assert (vtable); /*FIXME do proper error handling*/
+
+               if (!mono_vtable_is_remote (vtable)) {
+                       return mono_cominterop_get_invoke (method);
+               }
+       }
+#endif
+
+       sig = mono_signature_no_pinvoke (method);
+
+       /* we cant remote methods without this pointer */
+       if (!sig->hasthis)
+               return method;
+
+       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_REMOTING_INVOKE)))
+               return res;
+
+       mono_remoting_marshal_init ();
+
+       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_REMOTING_INVOKE);
+
+#ifndef DISABLE_JIT
+       mb->method->save_lmf = 1;
+
+       params_var = mono_mb_emit_save_args (mb, sig, TRUE);
+
+       mono_mb_emit_ptr (mb, method);
+       mono_mb_emit_ldloc (mb, params_var);
+       mono_mb_emit_icall (mb, mono_remoting_wrapper);
+       mono_marshal_emit_thread_interrupt_checkpoint (mb);
+
+       if (sig->ret->type == MONO_TYPE_VOID) {
+               mono_mb_emit_byte (mb, CEE_POP);
+               mono_mb_emit_byte (mb, CEE_RET);
+       } else {
+                mono_mb_emit_restore_result (mb, sig->ret);
+       }
+#endif
+
+       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
+       mono_mb_free (mb);
+
+       return res;
+}
+
+/* mono_marshal_xdomain_copy_out_value()
+ * Copies the contents of the src instance into the dst instance. src and dst
+ * must have the same type, and if they are arrays, the same size.
+ */
+static void
+mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
+{
+       if (src == NULL || dst == NULL) return;
+       
+       g_assert (mono_object_class (src) == mono_object_class (dst));
+
+       switch (mono_object_class (src)->byval_arg.type) {
+       case MONO_TYPE_ARRAY:
+       case MONO_TYPE_SZARRAY: {
+               int mt = mono_get_xdomain_marshal_type (&(mono_object_class (src)->element_class->byval_arg));
+               if (mt == MONO_MARSHAL_SERIALIZE) return;
+               if (mt == MONO_MARSHAL_COPY) {
+                       int i, len = mono_array_length ((MonoArray *)dst);
+                       for (i = 0; i < len; i++) {
+                               MonoObject *item = mono_array_get ((MonoArray *)src, gpointer, i);
+                               mono_array_setref ((MonoArray *)dst, i, mono_marshal_xdomain_copy_value (item));
+                       }
+               } else {
+                       mono_array_full_copy ((MonoArray *)src, (MonoArray *)dst);
+               }
+               return;
+       }
+       }
+
+       if (mono_object_class (src) == mono_defaults.stringbuilder_class) {
+               MonoStringBuilder *src_sb = (MonoStringBuilder *) src;
+               MonoStringBuilder *dst_sb = (MonoStringBuilder *) dst;
+       
+               MONO_OBJECT_SETREF (dst_sb, str, mono_string_new_utf16 (mono_object_domain (dst), mono_string_chars (src_sb->str), mono_string_length (src_sb->str)));
+               dst_sb->cached_str = NULL;
+               dst_sb->length = src_sb->length;
+       }
+}
+
+
+#if !defined (DISABLE_JIT)
+static void
+mono_marshal_emit_xdomain_copy_value (MonoMethodBuilder *mb, MonoClass *pclass)
+{
+       mono_mb_emit_icall (mb, mono_marshal_xdomain_copy_value);
+       mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
+}
+
+static void
+mono_marshal_emit_xdomain_copy_out_value (MonoMethodBuilder *mb, MonoClass *pclass)
+{
+       mono_mb_emit_icall (mb, mono_marshal_xdomain_copy_out_value);
+}
+#endif
+
+/* mono_marshal_supports_fast_xdomain()
+ * Returns TRUE if the method can use the fast xdomain wrapper.
+ */
+static gboolean
+mono_marshal_supports_fast_xdomain (MonoMethod *method)
+{
+       return !mono_class_is_contextbound (method->klass) &&
+                  !((method->flags & METHOD_ATTRIBUTE_SPECIAL_NAME) && (strcmp (".ctor", method->name) == 0));
+}
+
+static gint32
+mono_marshal_set_domain_by_id (gint32 id, MonoBoolean push)
+{
+       MonoDomain *current_domain = mono_domain_get ();
+       MonoDomain *domain = mono_domain_get_by_id (id);
+
+       if (!domain || !mono_domain_set (domain, FALSE))        
+               mono_raise_exception (mono_get_exception_appdomain_unloaded ());
+
+       if (push)
+               mono_thread_push_appdomain_ref (domain);
+       else
+               mono_thread_pop_appdomain_ref ();
+
+       return current_domain->domain_id;
+}
+
+#if !defined (DISABLE_JIT)
+static void
+mono_marshal_emit_switch_domain (MonoMethodBuilder *mb)
+{
+       mono_mb_emit_icall (mb, mono_marshal_set_domain_by_id);
+}
+
+/* mono_marshal_emit_load_domain_method ()
+ * Loads into the stack a pointer to the code of the provided method for
+ * the current domain.
+ */
+static void
+mono_marshal_emit_load_domain_method (MonoMethodBuilder *mb, MonoMethod *method)
+{
+       /* We need a pointer to the method for the running domain (not the domain
+        * that compiles the method).
+        */
+       mono_mb_emit_ptr (mb, method);
+       mono_mb_emit_icall (mb, mono_compile_method);
+}
+#endif
+
+/* mono_marshal_check_domain_image ()
+ * Returns TRUE if the image is loaded in the specified
+ * application domain.
+ */
+static gboolean
+mono_marshal_check_domain_image (gint32 domain_id, MonoImage *image)
+{
+       MonoAssembly* ass;
+       GSList *tmp;
+       
+       MonoDomain *domain = mono_domain_get_by_id (domain_id);
+       if (!domain)
+               return FALSE;
+       
+       mono_domain_assemblies_lock (domain);
+       for (tmp = domain->domain_assemblies; tmp; tmp = tmp->next) {
+               ass = tmp->data;
+               if (ass->image == image)
+                       break;
+       }
+       mono_domain_assemblies_unlock (domain);
+       
+       return tmp != NULL;
+}
+
+/* mono_marshal_get_xappdomain_dispatch ()
+ * Generates a method that dispatches a method call from another domain into
+ * the current domain.
+ */
+static MonoMethod *
+mono_marshal_get_xappdomain_dispatch (MonoMethod *method, int *marshal_types, int complex_count, int complex_out_count, int ret_marshal_type)
+{
+       MonoMethodSignature *sig, *csig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       int i, j, param_index, copy_locals_base;
+       MonoClass *ret_class = NULL;
+       int loc_array=0, loc_return=0, loc_serialized_exc=0;
+       MonoExceptionClause *main_clause;
+       int pos, pos_leave;
+       gboolean copy_return;
+
+       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_XDOMAIN_DISPATCH)))
+               return res;
+
+       sig = mono_method_signature (method);
+       copy_return = (sig->ret->type != MONO_TYPE_VOID && ret_marshal_type != MONO_MARSHAL_SERIALIZE);
+
+       j = 0;
+       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3 + sig->param_count - complex_count);
+       csig->params [j++] = &mono_defaults.object_class->byval_arg;
+       csig->params [j++] = &byte_array_class->this_arg;
+       csig->params [j++] = &byte_array_class->this_arg;
+       for (i = 0; i < sig->param_count; i++) {
+               if (marshal_types [i] != MONO_MARSHAL_SERIALIZE)
+                       csig->params [j++] = sig->params [i];
+       }
+       if (copy_return)
+               csig->ret = sig->ret;
+       else
+               csig->ret = &mono_defaults.void_class->byval_arg;
+       csig->pinvoke = 1;
+       csig->hasthis = FALSE;
+
+       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_XDOMAIN_DISPATCH);
+       mb->method->save_lmf = 1;
+
+#ifndef DISABLE_JIT
+       /* Locals */
+
+       loc_serialized_exc = mono_mb_add_local (mb, &byte_array_class->byval_arg);
+       if (complex_count > 0)
+               loc_array = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       if (sig->ret->type != MONO_TYPE_VOID) {
+               loc_return = mono_mb_add_local (mb, sig->ret);
+               ret_class = mono_class_from_mono_type (sig->ret);
+       }
+
+       /* try */
+
+       main_clause = mono_image_alloc0 (method->klass->image, sizeof (MonoExceptionClause));
+       main_clause->try_offset = mono_mb_get_label (mb);
+
+       /* Clean the call context */
+
+       mono_mb_emit_byte (mb, CEE_LDNULL);
+       mono_mb_emit_managed_call (mb, method_set_call_context, NULL);
+       mono_mb_emit_byte (mb, CEE_POP);
+
+       /* Deserialize call data */
+
+       mono_mb_emit_ldarg (mb, 1);
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_byte (mb, CEE_DUP);
+       pos = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
+       
+       mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
+       mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
+       
+       if (complex_count > 0)
+               mono_mb_emit_stloc (mb, loc_array);
+       else
+               mono_mb_emit_byte (mb, CEE_POP);
+
+       mono_mb_patch_short_branch (mb, pos);
+
+       /* Get the target object */
+       
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_managed_call (mb, method_rs_appdomain_target, NULL);
+
+       /* Load the arguments */
+       
+       copy_locals_base = mb->locals;
+       param_index = 3;        // Index of the first non-serialized parameter of this wrapper
+       j = 0;
+       for (i = 0; i < sig->param_count; i++) {
+               MonoType *pt = sig->params [i];
+               MonoClass *pclass = mono_class_from_mono_type (pt);
+               switch (marshal_types [i]) {
+               case MONO_MARSHAL_SERIALIZE: {
+                       /* take the value from the serialized array */
+                       mono_mb_emit_ldloc (mb, loc_array);
+                       mono_mb_emit_icon (mb, j++);
+                       if (pt->byref) {
+                               if (pclass->valuetype) {
+                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
+                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
+                               } else {
+                                       mono_mb_emit_op (mb, CEE_LDELEMA, pclass);
+                               }
+                       } else {
+                               if (pclass->valuetype) {
+                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
+                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
+                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
+                               } else {
+                                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
+                                       if (pclass != mono_defaults.object_class) {
+                                               mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
+                                       }
+                               }
+                       }
+                       break;
+               }
+               case MONO_MARSHAL_COPY_OUT: {
+                       /* Keep a local copy of the value since we need to copy it back after the call */
+                       int copy_local = mono_mb_add_local (mb, &(pclass->byval_arg));
+                       mono_mb_emit_ldarg (mb, param_index++);
+                       mono_marshal_emit_xdomain_copy_value (mb, pclass);
+                       mono_mb_emit_byte (mb, CEE_DUP);
+                       mono_mb_emit_stloc (mb, copy_local);
+                       break;
+               }
+               case MONO_MARSHAL_COPY: {
+                       mono_mb_emit_ldarg (mb, param_index);
+                       if (pt->byref) {
+                               mono_mb_emit_byte (mb, CEE_DUP);
+                               mono_mb_emit_byte (mb, CEE_DUP);
+                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
+                               mono_marshal_emit_xdomain_copy_value (mb, pclass);
+                               mono_mb_emit_byte (mb, CEE_STIND_REF);
+                       } else {
+                               mono_marshal_emit_xdomain_copy_value (mb, pclass);
+                       }
+                       param_index++;
+                       break;
+               }
+               case MONO_MARSHAL_NONE:
+                       mono_mb_emit_ldarg (mb, param_index++);
+                       break;
+               }
+       }
+
+       /* Make the call to the real object */
+
+       mono_marshal_emit_thread_force_interrupt_checkpoint (mb);
+       
+       mono_mb_emit_op (mb, CEE_CALLVIRT, method);
+
+       if (sig->ret->type != MONO_TYPE_VOID)
+               mono_mb_emit_stloc (mb, loc_return);
+
+       /* copy back MONO_MARSHAL_COPY_OUT parameters */
+
+       j = 0;
+       param_index = 3;
+       for (i = 0; i < sig->param_count; i++) {
+               if (marshal_types [i] == MONO_MARSHAL_SERIALIZE) continue;
+               if (marshal_types [i] == MONO_MARSHAL_COPY_OUT) {
+                       mono_mb_emit_ldloc (mb, copy_locals_base + (j++));
+                       mono_mb_emit_ldarg (mb, param_index);
+                       mono_marshal_emit_xdomain_copy_out_value (mb, mono_class_from_mono_type (sig->params [i]));
+               }
+               param_index++;
+       }
+
+       /* Serialize the return values */
+       
+       if (complex_out_count > 0) {
+               /* Reset parameters in the array that don't need to be serialized back */
+               j = 0;
+               for (i = 0; i < sig->param_count; i++) {
+                       if (marshal_types[i] != MONO_MARSHAL_SERIALIZE) continue;
+                       if (!sig->params [i]->byref) {
+                               mono_mb_emit_ldloc (mb, loc_array);
+                               mono_mb_emit_icon (mb, j);
+                               mono_mb_emit_byte (mb, CEE_LDNULL);
+                               mono_mb_emit_byte (mb, CEE_STELEM_REF);
+                       }
+                       j++;
+               }
+       
+               /* Add the return value to the array */
+       
+               if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
+                       mono_mb_emit_ldloc (mb, loc_array);
+                       mono_mb_emit_icon (mb, complex_count);  /* The array has an additional slot to hold the ret value */
+                       mono_mb_emit_ldloc (mb, loc_return);
+
+                       g_assert (ret_class); /*FIXME properly fail here*/
+                       if (ret_class->valuetype) {
+                               mono_mb_emit_op (mb, CEE_BOX, ret_class);
+                       }
+                       mono_mb_emit_byte (mb, CEE_STELEM_REF);
+               }
+       
+               /* Serialize */
+       
+               mono_mb_emit_ldarg (mb, 1);
+               mono_mb_emit_ldloc (mb, loc_array);
+               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
+               mono_mb_emit_byte (mb, CEE_STIND_REF);
+       } else if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
+               mono_mb_emit_ldarg (mb, 1);
+               mono_mb_emit_ldloc (mb, loc_return);
+               if (ret_class->valuetype) {
+                       mono_mb_emit_op (mb, CEE_BOX, ret_class);
+               }
+               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
+               mono_mb_emit_byte (mb, CEE_STIND_REF);
+       } else {
+               mono_mb_emit_ldarg (mb, 1);
+               mono_mb_emit_byte (mb, CEE_LDNULL);
+               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
+               mono_mb_emit_byte (mb, CEE_STIND_REF);
+       }
+
+       mono_mb_emit_ldarg (mb, 2);
+       mono_mb_emit_byte (mb, CEE_LDNULL);
+       mono_mb_emit_byte (mb, CEE_STIND_REF);
+       pos_leave = mono_mb_emit_branch (mb, CEE_LEAVE);
+
+       /* Main exception catch */
+       main_clause->flags = MONO_EXCEPTION_CLAUSE_NONE;
+       main_clause->try_len = mono_mb_get_pos (mb) - main_clause->try_offset;
+       main_clause->data.catch_class = mono_defaults.object_class;
+       
+       /* handler code */
+       main_clause->handler_offset = mono_mb_get_label (mb);
+       mono_mb_emit_managed_call (mb, method_rs_serialize_exc, NULL);
+       mono_mb_emit_stloc (mb, loc_serialized_exc);
+       mono_mb_emit_ldarg (mb, 2);
+       mono_mb_emit_ldloc (mb, loc_serialized_exc);
+       mono_mb_emit_byte (mb, CEE_STIND_REF);
+       mono_mb_emit_branch (mb, CEE_LEAVE);
+       main_clause->handler_len = mono_mb_get_pos (mb) - main_clause->handler_offset;
+       /* end catch */
+
+       mono_mb_patch_branch (mb, pos_leave);
+       
+       if (copy_return)
+               mono_mb_emit_ldloc (mb, loc_return);
+
+       mono_mb_emit_byte (mb, CEE_RET);
+
+       mono_mb_set_clauses (mb, 1, main_clause);
+#endif
+
+       res = mono_remoting_mb_create_and_cache (method, mb, csig, csig->param_count + 16);
+       mono_mb_free (mb);
+
+       return res;
+}
+
+/* mono_marshal_get_xappdomain_invoke ()
+ * Generates a fast remoting wrapper for cross app domain calls.
+ */
+MonoMethod *
+mono_marshal_get_xappdomain_invoke (MonoMethod *method)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       int i, j, complex_count, complex_out_count, copy_locals_base;
+       int *marshal_types;
+       MonoClass *ret_class = NULL;
+       MonoMethod *xdomain_method;
+       int ret_marshal_type = MONO_MARSHAL_NONE;
+       int loc_array=0, loc_serialized_data=-1, loc_real_proxy;
+       int loc_old_domainid, loc_domainid, loc_return=0, loc_serialized_exc=0, loc_context;
+       int pos, pos_dispatch, pos_noex;
+       gboolean copy_return = FALSE;
+
+       g_assert (method);
+       
+       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE || method->wrapper_type == MONO_WRAPPER_XDOMAIN_INVOKE)
+               return method;
+
+       /* we cant remote methods without this pointer */
+       if (!mono_method_signature (method)->hasthis)
+               return method;
+
+       mono_remoting_marshal_init ();
+
+       if (!mono_marshal_supports_fast_xdomain (method))
+               return mono_marshal_get_remoting_invoke (method);
+       
+       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_XDOMAIN_INVOKE)))
+               return res;
+       
+       sig = mono_signature_no_pinvoke (method);
+
+       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_XDOMAIN_INVOKE);
+       mb->method->save_lmf = 1;
+
+       /* Count the number of parameters that need to be serialized */
+
+       marshal_types = alloca (sizeof (int) * sig->param_count);
+       complex_count = complex_out_count = 0;
+       for (i = 0; i < sig->param_count; i++) {
+               MonoType *ptype = sig->params[i];
+               int mt = mono_get_xdomain_marshal_type (ptype);
+               
+               /* If the [Out] attribute is applied to a parameter that can be internally copied,
+                * the copy will be made by reusing the original object instance
+                */
+               if ((ptype->attrs & PARAM_ATTRIBUTE_OUT) != 0 && mt == MONO_MARSHAL_COPY && !ptype->byref)
+                       mt = MONO_MARSHAL_COPY_OUT;
+               else if (mt == MONO_MARSHAL_SERIALIZE) {
+                       complex_count++;
+                       if (ptype->byref) complex_out_count++;
+               }
+               marshal_types [i] = mt;
+       }
+
+       if (sig->ret->type != MONO_TYPE_VOID) {
+               ret_marshal_type = mono_get_xdomain_marshal_type (sig->ret);
+               ret_class = mono_class_from_mono_type (sig->ret);
+               copy_return = ret_marshal_type != MONO_MARSHAL_SERIALIZE;
+       }
+       
+       /* Locals */
+
+#ifndef DISABLE_JIT
+       if (complex_count > 0)
+               loc_array = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       loc_serialized_data = mono_mb_add_local (mb, &byte_array_class->byval_arg);
+       loc_real_proxy = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       if (copy_return)
+               loc_return = mono_mb_add_local (mb, sig->ret);
+       loc_old_domainid = mono_mb_add_local (mb, &mono_defaults.int32_class->byval_arg);
+       loc_domainid = mono_mb_add_local (mb, &mono_defaults.int32_class->byval_arg);
+       loc_serialized_exc = mono_mb_add_local (mb, &byte_array_class->byval_arg);
+       loc_context = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+
+       /* Save thread domain data */
+
+       mono_mb_emit_icall (mb, mono_context_get);
+       mono_mb_emit_byte (mb, CEE_DUP);
+       mono_mb_emit_stloc (mb, loc_context);
+
+       /* If the thread is not running in the default context, it needs to go
+        * through the whole remoting sink, since the context is going to change
+        */
+       mono_mb_emit_managed_call (mb, method_needs_context_sink, NULL);
+       pos = mono_mb_emit_short_branch (mb, CEE_BRTRUE_S);
+       
+       /* Another case in which the fast path can't be used: when the target domain
+        * has a different image for the same assembly.
+        */
+
+       /* Get the target domain id */
+
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_byte (mb, CEE_DUP);
+       mono_mb_emit_stloc (mb, loc_real_proxy);
+
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, target_domain_id));
+       mono_mb_emit_byte (mb, CEE_LDIND_I4);
+       mono_mb_emit_stloc (mb, loc_domainid);
+
+       /* Check if the target domain has the same image for the required assembly */
+
+       mono_mb_emit_ldloc (mb, loc_domainid);
+       mono_mb_emit_ptr (mb, method->klass->image);
+       mono_mb_emit_icall (mb, mono_marshal_check_domain_image);
+       pos_dispatch = mono_mb_emit_short_branch (mb, CEE_BRTRUE_S);
+
+       /* Use the whole remoting sink to dispatch this message */
+
+       mono_mb_patch_short_branch (mb, pos);
+
+       mono_mb_emit_ldarg (mb, 0);
+       for (i = 0; i < sig->param_count; i++)
+               mono_mb_emit_ldarg (mb, i + 1);
+       
+       mono_mb_emit_managed_call (mb, mono_marshal_get_remoting_invoke (method), NULL);
+       mono_mb_emit_byte (mb, CEE_RET);
+       mono_mb_patch_short_branch (mb, pos_dispatch);
+
+       /* Create the array that will hold the parameters to be serialized */
+
+       if (complex_count > 0) {
+               mono_mb_emit_icon (mb, (ret_marshal_type == MONO_MARSHAL_SERIALIZE && complex_out_count > 0) ? complex_count + 1 : complex_count);      /* +1 for the return type */
+               mono_mb_emit_op (mb, CEE_NEWARR, mono_defaults.object_class);
+       
+               j = 0;
+               for (i = 0; i < sig->param_count; i++) {
+                       MonoClass *pclass;
+                       if (marshal_types [i] != MONO_MARSHAL_SERIALIZE) continue;
+                       pclass = mono_class_from_mono_type (sig->params[i]);
+                       mono_mb_emit_byte (mb, CEE_DUP);
+                       mono_mb_emit_icon (mb, j);
+                       mono_mb_emit_ldarg (mb, i + 1);         /* 0=this */
+                       if (sig->params[i]->byref) {
+                               if (pclass->valuetype)
+                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
+                               else
+                                       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+                       }
+                       if (pclass->valuetype)
+                               mono_mb_emit_op (mb, CEE_BOX, pclass);
+                       mono_mb_emit_byte (mb, CEE_STELEM_REF);
+                       j++;
+               }
+               mono_mb_emit_stloc (mb, loc_array);
+
+               /* Serialize parameters */
+       
+               mono_mb_emit_ldloc (mb, loc_array);
+               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
+               mono_mb_emit_stloc (mb, loc_serialized_data);
+       } else {
+               mono_mb_emit_byte (mb, CEE_LDNULL);
+               mono_mb_emit_managed_call (mb, method_rs_serialize, NULL);
+               mono_mb_emit_stloc (mb, loc_serialized_data);
+       }
+
+       /* switch domain */
+
+       mono_mb_emit_ldloc (mb, loc_domainid);
+       mono_mb_emit_byte (mb, CEE_LDC_I4_1);
+       mono_marshal_emit_switch_domain (mb);
+       mono_mb_emit_stloc (mb, loc_old_domainid);
+
+       /* Load the arguments */
+       
+       mono_mb_emit_ldloc (mb, loc_real_proxy);
+       mono_mb_emit_ldloc_addr (mb, loc_serialized_data);
+       mono_mb_emit_ldloc_addr (mb, loc_serialized_exc);
+
+       copy_locals_base = mb->locals;
+       for (i = 0; i < sig->param_count; i++) {
+               switch (marshal_types [i]) {
+               case MONO_MARSHAL_SERIALIZE:
+                       continue;
+               case MONO_MARSHAL_COPY: {
+                       mono_mb_emit_ldarg (mb, i+1);
+                       if (sig->params [i]->byref) {
+                               /* make a local copy of the byref parameter. The real parameter
+                                * will be updated after the xdomain call
+                                */
+                               MonoClass *pclass = mono_class_from_mono_type (sig->params [i]);
+                               int copy_local = mono_mb_add_local (mb, &(pclass->byval_arg));
+                               mono_mb_emit_byte (mb, CEE_LDIND_REF);
+                               mono_mb_emit_stloc (mb, copy_local);
+                               mono_mb_emit_ldloc_addr (mb, copy_local);
+                       }
+                       break;
+               }
+               case MONO_MARSHAL_COPY_OUT:
+               case MONO_MARSHAL_NONE:
+                       mono_mb_emit_ldarg (mb, i+1);
+                       break;
+               }
+       }
+
+       /* Make the call to the invoke wrapper in the target domain */
+
+       xdomain_method = mono_marshal_get_xappdomain_dispatch (method, marshal_types, complex_count, complex_out_count, ret_marshal_type);
+       mono_marshal_emit_load_domain_method (mb, xdomain_method);
+       mono_mb_emit_calli (mb, mono_method_signature (xdomain_method));
+
+       if (copy_return)
+               mono_mb_emit_stloc (mb, loc_return);
+
+       /* Switch domain */
+
+       mono_mb_emit_ldloc (mb, loc_old_domainid);
+       mono_mb_emit_byte (mb, CEE_LDC_I4_0);
+       mono_marshal_emit_switch_domain (mb);
+       mono_mb_emit_byte (mb, CEE_POP);
+       
+       /* Restore thread domain data */
+       
+       mono_mb_emit_ldloc (mb, loc_context);
+       mono_mb_emit_icall (mb, mono_context_set);
+       
+       /* if (loc_serialized_exc != null) ... */
+
+       mono_mb_emit_ldloc (mb, loc_serialized_exc);
+       pos_noex = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
+
+       mono_mb_emit_ldloc (mb, loc_serialized_exc);
+       mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
+       mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
+       mono_mb_emit_op (mb, CEE_CASTCLASS, mono_defaults.exception_class);
+       mono_mb_emit_managed_call (mb, method_exc_fixexc, NULL);
+       mono_mb_emit_byte (mb, CEE_THROW);
+       mono_mb_patch_short_branch (mb, pos_noex);
+
+       /* copy back non-serialized output parameters */
+
+       j = 0;
+       for (i = 0; i < sig->param_count; i++) {
+               if (!sig->params [i]->byref || marshal_types [i] != MONO_MARSHAL_COPY) continue;
+               mono_mb_emit_ldarg (mb, i + 1);
+               mono_mb_emit_ldloc (mb, copy_locals_base + (j++));
+               mono_marshal_emit_xdomain_copy_value (mb, mono_class_from_mono_type (sig->params [i]));
+               mono_mb_emit_byte (mb, CEE_STIND_REF);
+       }
+
+       /* Deserialize out parameters */
+
+       if (complex_out_count > 0) {
+               mono_mb_emit_ldloc (mb, loc_serialized_data);
+               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
+               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
+               mono_mb_emit_stloc (mb, loc_array);
+       
+               /* Copy back output parameters and return type */
+               
+               j = 0;
+               for (i = 0; i < sig->param_count; i++) {
+                       if (marshal_types [i] != MONO_MARSHAL_SERIALIZE) continue;
+                       if (sig->params[i]->byref) {
+                               MonoClass *pclass = mono_class_from_mono_type (sig->params [i]);
+                               mono_mb_emit_ldarg (mb, i + 1);
+                               mono_mb_emit_ldloc (mb, loc_array);
+                               mono_mb_emit_icon (mb, j);
+                               mono_mb_emit_byte (mb, CEE_LDELEM_REF);
+                               if (pclass->valuetype) {
+                                       mono_mb_emit_op (mb, CEE_UNBOX, pclass);
+                                       mono_mb_emit_op (mb, CEE_LDOBJ, pclass);
+                                       mono_mb_emit_op (mb, CEE_STOBJ, pclass);
+                               } else {
+                                       if (pclass != mono_defaults.object_class)
+                                               mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
+                                       mono_mb_emit_byte (mb, CEE_STIND_REF);
+                               }
+                       }
+                       j++;
+               }
+       
+               if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
+                       mono_mb_emit_ldloc (mb, loc_array);
+                       mono_mb_emit_icon (mb, complex_count);
+                       mono_mb_emit_byte (mb, CEE_LDELEM_REF);
+                       if (ret_class->valuetype) {
+                               mono_mb_emit_op (mb, CEE_UNBOX, ret_class);
+                               mono_mb_emit_op (mb, CEE_LDOBJ, ret_class);
+                       }
+               }
+       } else if (ret_marshal_type == MONO_MARSHAL_SERIALIZE) {
+               mono_mb_emit_ldloc (mb, loc_serialized_data);
+               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
+               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
+               if (ret_class->valuetype) {
+                       mono_mb_emit_op (mb, CEE_UNBOX, ret_class);
+                       mono_mb_emit_op (mb, CEE_LDOBJ, ret_class);
+               } else if (ret_class != mono_defaults.object_class) {
+                       mono_mb_emit_op (mb, CEE_CASTCLASS, ret_class);
+               }
+       } else {
+               mono_mb_emit_ldloc (mb, loc_serialized_data);
+               mono_mb_emit_byte (mb, CEE_DUP);
+               pos = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S);
+               mono_marshal_emit_xdomain_copy_value (mb, byte_array_class);
+       
+               mono_mb_patch_short_branch (mb, pos);
+               mono_mb_emit_managed_call (mb, method_rs_deserialize, NULL);
+               mono_mb_emit_byte (mb, CEE_POP);
+       }
+
+       if (copy_return) {
+               mono_mb_emit_ldloc (mb, loc_return);
+               if (ret_marshal_type == MONO_MARSHAL_COPY)
+                       mono_marshal_emit_xdomain_copy_value (mb, ret_class);
+       }
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif /* DISABLE_JIT */
+
+       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
+       mono_mb_free (mb);
+
+       return res;
+}
+
+MonoMethod *
+mono_marshal_get_remoting_invoke_for_target (MonoMethod *method, MonoRemotingTarget target_type)
+{
+       if (target_type == MONO_REMOTING_TARGET_APPDOMAIN) {
+               return mono_marshal_get_xappdomain_invoke (method);
+       } else if (target_type == MONO_REMOTING_TARGET_COMINTEROP) {
+#ifndef DISABLE_COM
+               return mono_cominterop_get_invoke (method);
+#else
+               g_assert_not_reached ();
+#endif
+       } else {
+               return mono_marshal_get_remoting_invoke (method);
+       }
+       /* Not erached */
+       return NULL;
+}
+
+G_GNUC_UNUSED static gpointer
+mono_marshal_load_remoting_wrapper (MonoRealProxy *rp, MonoMethod *method)
+{
+       if (rp->target_domain_id != -1)
+               return mono_compile_method (mono_marshal_get_xappdomain_invoke (method));
+       else
+               return mono_compile_method (mono_marshal_get_remoting_invoke (method));
+}
+
+MonoMethod *
+mono_marshal_get_remoting_invoke_with_check (MonoMethod *method)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res, *native;
+       int i, pos, pos_rem;
+
+       g_assert (method);
+
+       if (method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK)
+               return method;
+
+       /* we cant remote methods without this pointer */
+       g_assert (mono_method_signature (method)->hasthis);
+
+       if ((res = mono_marshal_remoting_find_in_cache (method, MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK)))
+               return res;
+
+       sig = mono_signature_no_pinvoke (method);
+       
+       mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK);
+
+#ifndef DISABLE_JIT
+       for (i = 0; i <= sig->param_count; i++)
+               mono_mb_emit_ldarg (mb, i);
+       
+       mono_mb_emit_ldarg (mb, 0);
+       pos = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+
+       if (mono_marshal_supports_fast_xdomain (method)) {
+               mono_mb_emit_ldarg (mb, 0);
+               pos_rem = mono_mb_emit_xdomain_check (mb, CEE_BEQ);
+               
+               /* wrapper for cross app domain calls */
+               native = mono_marshal_get_xappdomain_invoke (method);
+               mono_mb_emit_managed_call (mb, native, mono_method_signature (native));
+               mono_mb_emit_byte (mb, CEE_RET);
+               
+               mono_mb_patch_branch (mb, pos_rem);
+       }
+       /* wrapper for normal remote calls */
+       native = mono_marshal_get_remoting_invoke (method);
+       mono_mb_emit_managed_call (mb, native, mono_method_signature (native));
+       mono_mb_emit_byte (mb, CEE_RET);
+
+       /* not a proxy */
+       mono_mb_patch_branch (mb, pos);
+       mono_mb_emit_managed_call (mb, method, mono_method_signature (method));
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16);
+       mono_mb_free (mb);
+
+       return res;
+}
+
+/*
+ * mono_marshal_get_ldfld_remote_wrapper:
+ * @klass: The return type
+ *
+ * This method generates a wrapper for calling mono_load_remote_field_new.
+ * The return type is ignored for now, as mono_load_remote_field_new () always
+ * returns an object. In the future, to optimize some codepaths, we might
+ * call a different function that takes a pointer to a valuetype, instead.
+ */
+MonoMethod *
+mono_marshal_get_ldfld_remote_wrapper (MonoClass *klass)
+{
+       MonoMethodSignature *sig, *csig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       static MonoMethod* cached = NULL;
+
+       mono_marshal_lock_internal ();
+       if (cached) {
+               mono_marshal_unlock_internal ();
+               return cached;
+       }
+       mono_marshal_unlock_internal ();
+
+       mb = mono_mb_new_no_dup_name (mono_defaults.object_class, "__mono_load_remote_field_new_wrapper", MONO_WRAPPER_LDFLD_REMOTE);
+
+       mb->method->save_lmf = 1;
+
+       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
+       sig->params [0] = &mono_defaults.object_class->byval_arg;
+       sig->params [1] = &mono_defaults.int_class->byval_arg;
+       sig->params [2] = &mono_defaults.int_class->byval_arg;
+       sig->ret = &mono_defaults.object_class->byval_arg;
+
+#ifndef DISABLE_JIT
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldarg (mb, 1);
+       mono_mb_emit_ldarg (mb, 2);
+
+       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
+       csig->params [0] = &mono_defaults.object_class->byval_arg;
+       csig->params [1] = &mono_defaults.int_class->byval_arg;
+       csig->params [2] = &mono_defaults.int_class->byval_arg;
+       csig->ret = &mono_defaults.object_class->byval_arg;
+       csig->pinvoke = 1;
+
+       mono_mb_emit_native_call (mb, csig, mono_load_remote_field_new);
+       mono_marshal_emit_thread_interrupt_checkpoint (mb);
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       mono_marshal_lock_internal ();
+       res = cached;
+       mono_marshal_unlock_internal ();
+       if (!res) {
+               MonoMethod *newm;
+               newm = mono_mb_create (mb, sig, 4, NULL);
+               mono_marshal_lock_internal ();
+               res = cached;
+               if (!res) {
+                       res = newm;
+                       cached = res;
+                       mono_marshal_unlock_internal ();
+               } else {
+                       mono_marshal_unlock_internal ();
+                       mono_free_method (newm);
+               }
+       }
+       mono_mb_free (mb);
+
+       return res;
+}
+
+/*
+ * mono_marshal_get_ldfld_wrapper:
+ * @type: the type of the field
+ *
+ * This method generates a function which can be use to load a field with type
+ * @type from an object. The generated function has the following signature:
+ * <@type> ldfld_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset)
+ */
+MonoMethod *
+mono_marshal_get_ldfld_wrapper (MonoType *type)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       MonoClass *klass;
+       GHashTable *cache;
+       WrapperInfo *info;
+       char *name;
+       int t, pos0, pos1 = 0;
+
+       type = mono_type_get_underlying_type (type);
+
+       t = type->type;
+
+       if (!type->byref) {
+               if (type->type == MONO_TYPE_SZARRAY) {
+                       klass = mono_defaults.array_class;
+               } else if (type->type == MONO_TYPE_VALUETYPE) {
+                       klass = type->data.klass;
+               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING) {
+                       klass = mono_defaults.object_class;
+               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
+                       klass = mono_defaults.int_class;
+               } else if (t == MONO_TYPE_GENERICINST) {
+                       if (mono_type_generic_inst_is_valuetype (type))
+                               klass = mono_class_from_mono_type (type);
+                       else
+                               klass = mono_defaults.object_class;
+               } else {
+                       klass = mono_class_from_mono_type (type);                       
+               }
+       } else {
+               klass = mono_defaults.int_class;
+       }
+
+       cache = get_cache (&klass->image->ldfld_wrapper_cache, mono_aligned_addr_hash, NULL);
+       if ((res = mono_marshal_find_in_cache (cache, klass)))
+               return res;
+
+       /* we add the %p pointer value of klass because class names are not unique */
+       name = g_strdup_printf ("__ldfld_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
+       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_LDFLD);
+       g_free (name);
+
+       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
+       sig->params [0] = &mono_defaults.object_class->byval_arg;
+       sig->params [1] = &mono_defaults.int_class->byval_arg;
+       sig->params [2] = &mono_defaults.int_class->byval_arg;
+       sig->params [3] = &mono_defaults.int_class->byval_arg;
+       sig->ret = &klass->byval_arg;
+
+#ifndef DISABLE_JIT
+       mono_mb_emit_ldarg (mb, 0);
+       pos0 = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldarg (mb, 1);
+       mono_mb_emit_ldarg (mb, 2);
+
+       mono_mb_emit_managed_call (mb, mono_marshal_get_ldfld_remote_wrapper (klass), NULL);
+
+       /*
+       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 3);
+       csig->params [0] = &mono_defaults.object_class->byval_arg;
+       csig->params [1] = &mono_defaults.int_class->byval_arg;
+       csig->params [2] = &mono_defaults.int_class->byval_arg;
+       csig->ret = &klass->this_arg;
+       csig->pinvoke = 1;
+
+       mono_mb_emit_native_call (mb, csig, mono_load_remote_field_new);
+       mono_marshal_emit_thread_interrupt_checkpoint (mb);
+       */
+
+       if (klass->valuetype) {
+               mono_mb_emit_op (mb, CEE_UNBOX, klass);
+               pos1 = mono_mb_emit_branch (mb, CEE_BR);
+       } else {
+               mono_mb_emit_byte (mb, CEE_RET);
+       }
+
+       mono_mb_patch_branch (mb, pos0);
+
+       mono_mb_emit_ldarg (mb, 0);
+        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
+       mono_mb_emit_ldarg (mb, 3);
+       mono_mb_emit_byte (mb, CEE_ADD);
+
+       if (klass->valuetype)
+               mono_mb_patch_branch (mb, pos1);
+
+       switch (t) {
+       case MONO_TYPE_I1:
+       case MONO_TYPE_U1:
+       case MONO_TYPE_BOOLEAN:
+       case MONO_TYPE_CHAR:
+       case MONO_TYPE_I2:
+       case MONO_TYPE_U2:
+       case MONO_TYPE_I4:
+       case MONO_TYPE_U4:
+       case MONO_TYPE_I8:
+       case MONO_TYPE_U8:
+       case MONO_TYPE_R4:
+       case MONO_TYPE_R8:
+       case MONO_TYPE_ARRAY:
+       case MONO_TYPE_SZARRAY:
+       case MONO_TYPE_OBJECT:
+       case MONO_TYPE_CLASS:
+       case MONO_TYPE_STRING:
+       case MONO_TYPE_I:
+       case MONO_TYPE_U:
+       case MONO_TYPE_PTR:
+       case MONO_TYPE_FNPTR:
+               mono_mb_emit_byte (mb, mono_type_to_ldind (type));
+               break;
+       case MONO_TYPE_VALUETYPE:
+               g_assert (!klass->enumtype);
+               mono_mb_emit_op (mb, CEE_LDOBJ, klass);
+               break;
+       case MONO_TYPE_GENERICINST:
+               if (mono_type_generic_inst_is_valuetype (type)) {
+                       mono_mb_emit_op (mb, CEE_LDOBJ, klass);
+               } else {
+                       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+               }
+               break;
+       case MONO_TYPE_VAR:
+       case MONO_TYPE_MVAR:
+               mono_mb_emit_op (mb, CEE_LDOBJ, klass);
+               break;
+       default:
+               g_warning ("type %x not implemented", type->type);
+               g_assert_not_reached ();
+       }
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif /* DISABLE_JIT */
+
+       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
+       info->d.proxy.klass = klass;
+       res = mono_mb_create_and_cache_full (cache, klass,
+                                                                                mb, sig, sig->param_count + 16, info, NULL);
+       mono_mb_free (mb);
+       
+       return res;
+}
+
+/*
+ * mono_marshal_get_ldflda_wrapper:
+ * @type: the type of the field
+ *
+ * This method generates a function which can be used to load a field address
+ * from an object. The generated function has the following signature:
+ * gpointer ldflda_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset);
+ */
+MonoMethod *
+mono_marshal_get_ldflda_wrapper (MonoType *type)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       MonoClass *klass;
+       GHashTable *cache;
+       WrapperInfo *info;
+       char *name;
+       int t, pos0, pos1, pos2, pos3;
+
+       type = mono_type_get_underlying_type (type);
+       t = type->type;
+
+       if (!type->byref) {
+               if (type->type == MONO_TYPE_SZARRAY) {
+                       klass = mono_defaults.array_class;
+               } else if (type->type == MONO_TYPE_VALUETYPE) {
+                       klass = type->data.klass;
+               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING ||
+                          t == MONO_TYPE_CLASS) { 
+                       klass = mono_defaults.object_class;
+               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
+                       klass = mono_defaults.int_class;
+               } else if (t == MONO_TYPE_GENERICINST) {
+                       if (mono_type_generic_inst_is_valuetype (type))
+                               klass = mono_class_from_mono_type (type);
+                       else
+                               klass = mono_defaults.object_class;
+               } else {
+                       klass = mono_class_from_mono_type (type);                       
+               }
+       } else {
+               klass = mono_defaults.int_class;
+       }
+
+       cache = get_cache (&klass->image->ldflda_wrapper_cache, mono_aligned_addr_hash, NULL);
+       if ((res = mono_marshal_find_in_cache (cache, klass)))
+               return res;
+
+       /* we add the %p pointer value of klass because class names are not unique */
+       name = g_strdup_printf ("__ldflda_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
+       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_LDFLDA);
+       g_free (name);
+
+       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
+       sig->params [0] = &mono_defaults.object_class->byval_arg;
+       sig->params [1] = &mono_defaults.int_class->byval_arg;
+       sig->params [2] = &mono_defaults.int_class->byval_arg;
+       sig->params [3] = &mono_defaults.int_class->byval_arg;
+       sig->ret = &mono_defaults.int_class->byval_arg;
+
+#ifndef DISABLE_JIT
+       /* if typeof (this) != transparent_proxy goto pos0 */
+       mono_mb_emit_ldarg (mb, 0);
+       pos0 = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+
+       /* if same_appdomain goto pos1 */
+       mono_mb_emit_ldarg (mb, 0);
+       pos1 = mono_mb_emit_xdomain_check (mb, CEE_BEQ);
+
+       mono_mb_emit_exception_full (mb, "System", "InvalidOperationException", "Attempt to load field address from object in another appdomain.");
+
+       /* same app domain */
+       mono_mb_patch_branch (mb, pos1);
+
+       /* if typeof (this) != contextbound goto pos2 */
+       mono_mb_emit_ldarg (mb, 0);
+       pos2 = mono_mb_emit_contextbound_check (mb, CEE_BEQ);
+
+       /* if this->rp->context == mono_context_get goto pos3 */
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, context));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_icall (mb, mono_context_get);
+       pos3 = mono_mb_emit_branch (mb, CEE_BEQ);
+
+       mono_mb_emit_exception_full (mb, "System", "InvalidOperationException", "Attempt to load field address from object in another context.");
+
+       mono_mb_patch_branch (mb, pos2);
+       mono_mb_patch_branch (mb, pos3);
+
+       /* return the address of the field from this->rp->unwrapped_server */
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoRealProxy, unwrapped_server));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
+       mono_mb_emit_ldarg (mb, 3);
+       mono_mb_emit_byte (mb, CEE_ADD);
+       mono_mb_emit_byte (mb, CEE_RET);
+
+       /* not a proxy: return the address of the field directly */
+       mono_mb_patch_branch (mb, pos0);
+
+       mono_mb_emit_ldarg (mb, 0);
+        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
+       mono_mb_emit_ldarg (mb, 3);
+       mono_mb_emit_byte (mb, CEE_ADD);
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
+       info->d.proxy.klass = klass;
+       res = mono_mb_create_and_cache_full (cache, klass,
+                                                                                mb, sig, sig->param_count + 16,
+                                                                                info, NULL);
+       mono_mb_free (mb);
+       
+       return res;
+}
+
+/*
+ * mono_marshal_get_stfld_remote_wrapper:
+ * klass: The type of the field
+ *
+ *  This function generates a wrapper for calling mono_store_remote_field_new
+ * with the appropriate signature.
+ * Similarly to mono_marshal_get_ldfld_remote_wrapper () this doesn't depend on the
+ * klass argument anymore.
+ */
+MonoMethod *
+mono_marshal_get_stfld_remote_wrapper (MonoClass *klass)
+{
+       MonoMethodSignature *sig, *csig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       static MonoMethod *cached = NULL;
+
+       mono_marshal_lock_internal ();
+       if (cached) {
+               mono_marshal_unlock_internal ();
+               return cached;
+       }
+       mono_marshal_unlock_internal ();
+
+       mb = mono_mb_new_no_dup_name (mono_defaults.object_class, "__mono_store_remote_field_new_wrapper", MONO_WRAPPER_STFLD_REMOTE);
+
+       mb->method->save_lmf = 1;
+
+       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
+       sig->params [0] = &mono_defaults.object_class->byval_arg;
+       sig->params [1] = &mono_defaults.int_class->byval_arg;
+       sig->params [2] = &mono_defaults.int_class->byval_arg;
+       sig->params [3] = &mono_defaults.object_class->byval_arg;
+       sig->ret = &mono_defaults.void_class->byval_arg;
+
+#ifndef DISABLE_JIT
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldarg (mb, 1);
+       mono_mb_emit_ldarg (mb, 2);
+       mono_mb_emit_ldarg (mb, 3);
+
+       csig = mono_metadata_signature_alloc (mono_defaults.corlib, 4);
+       csig->params [0] = &mono_defaults.object_class->byval_arg;
+       csig->params [1] = &mono_defaults.int_class->byval_arg;
+       csig->params [2] = &mono_defaults.int_class->byval_arg;
+       csig->params [3] = &mono_defaults.object_class->byval_arg;
+       csig->ret = &mono_defaults.void_class->byval_arg;
+       csig->pinvoke = 1;
+
+       mono_mb_emit_native_call (mb, csig, mono_store_remote_field_new);
+       mono_marshal_emit_thread_interrupt_checkpoint (mb);
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       mono_marshal_lock_internal ();
+       res = cached;
+       mono_marshal_unlock_internal ();
+       if (!res) {
+               MonoMethod *newm;
+               newm = mono_mb_create (mb, sig, 6, NULL);
+               mono_marshal_lock_internal ();
+               res = cached;
+               if (!res) {
+                       res = newm;
+                       cached = res;
+                       mono_marshal_unlock_internal ();
+               } else {
+                       mono_marshal_unlock_internal ();
+                       mono_free_method (newm);
+               }
+       }
+       mono_mb_free (mb);
+       
+       return res;
+}
+
+/*
+ * mono_marshal_get_stfld_wrapper:
+ * @type: the type of the field
+ *
+ * This method generates a function which can be use to store a field with type
+ * @type. The generated function has the following signature:
+ * void stfld_wrapper (MonoObject *this, MonoClass *class, MonoClassField *field, int offset, <@type> val)
+ */
+MonoMethod *
+mono_marshal_get_stfld_wrapper (MonoType *type)
+{
+       MonoMethodSignature *sig;
+       MonoMethodBuilder *mb;
+       MonoMethod *res;
+       MonoClass *klass;
+       GHashTable *cache;
+       WrapperInfo *info;
+       char *name;
+       int t, pos;
+
+       type = mono_type_get_underlying_type (type);
+       t = type->type;
+
+       if (!type->byref) {
+               if (type->type == MONO_TYPE_SZARRAY) {
+                       klass = mono_defaults.array_class;
+               } else if (type->type == MONO_TYPE_VALUETYPE) {
+                       klass = type->data.klass;
+               } else if (t == MONO_TYPE_OBJECT || t == MONO_TYPE_CLASS || t == MONO_TYPE_STRING) {
+                       klass = mono_defaults.object_class;
+               } else if (t == MONO_TYPE_PTR || t == MONO_TYPE_FNPTR) {
+                       klass = mono_defaults.int_class;
+               } else if (t == MONO_TYPE_GENERICINST) {
+                       if (mono_type_generic_inst_is_valuetype (type))
+                               klass = mono_class_from_mono_type (type);
+                       else
+                               klass = mono_defaults.object_class;
+               } else {
+                       klass = mono_class_from_mono_type (type);                       
+               }
+       } else {
+               klass = mono_defaults.int_class;
+       }
+
+       cache = get_cache (&klass->image->stfld_wrapper_cache, mono_aligned_addr_hash, NULL);
+       if ((res = mono_marshal_find_in_cache (cache, klass)))
+               return res;
+
+       /* we add the %p pointer value of klass because class names are not unique */
+       name = g_strdup_printf ("__stfld_wrapper_%p_%s.%s", klass, klass->name_space, klass->name); 
+       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_STFLD);
+       g_free (name);
+
+       sig = mono_metadata_signature_alloc (mono_defaults.corlib, 5);
+       sig->params [0] = &mono_defaults.object_class->byval_arg;
+       sig->params [1] = &mono_defaults.int_class->byval_arg;
+       sig->params [2] = &mono_defaults.int_class->byval_arg;
+       sig->params [3] = &mono_defaults.int_class->byval_arg;
+       sig->params [4] = &klass->byval_arg;
+       sig->ret = &mono_defaults.void_class->byval_arg;
+
+#ifndef DISABLE_JIT
+       mono_mb_emit_ldarg (mb, 0);
+       pos = mono_mb_emit_proxy_check (mb, CEE_BNE_UN);
+
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldarg (mb, 1);
+       mono_mb_emit_ldarg (mb, 2);
+       mono_mb_emit_ldarg (mb, 4);
+       if (klass->valuetype)
+               mono_mb_emit_op (mb, CEE_BOX, klass);
+
+       mono_mb_emit_managed_call (mb, mono_marshal_get_stfld_remote_wrapper (klass), NULL);
+
+       mono_mb_emit_byte (mb, CEE_RET);
+
+       mono_mb_patch_branch (mb, pos);
+
+       mono_mb_emit_ldarg (mb, 0);
+        mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+        mono_mb_emit_byte (mb, CEE_MONO_OBJADDR);
+       mono_mb_emit_ldarg (mb, 3);
+       mono_mb_emit_byte (mb, CEE_ADD);
+       mono_mb_emit_ldarg (mb, 4);
+
+       switch (t) {
+       case MONO_TYPE_I1:
+       case MONO_TYPE_U1:
+       case MONO_TYPE_BOOLEAN:
+       case MONO_TYPE_CHAR:
+       case MONO_TYPE_I2:
+       case MONO_TYPE_U2:
+       case MONO_TYPE_I4:
+       case MONO_TYPE_U4:
+       case MONO_TYPE_I8:
+       case MONO_TYPE_U8:
+       case MONO_TYPE_R4:
+       case MONO_TYPE_R8:
+       case MONO_TYPE_ARRAY:
+       case MONO_TYPE_SZARRAY:
+       case MONO_TYPE_OBJECT:
+       case MONO_TYPE_CLASS:
+       case MONO_TYPE_STRING:
+       case MONO_TYPE_I:
+       case MONO_TYPE_U:
+       case MONO_TYPE_PTR:
+       case MONO_TYPE_FNPTR:
+               mono_mb_emit_byte (mb, mono_type_to_stind (type));
+               break;
+       case MONO_TYPE_VALUETYPE:
+               g_assert (!klass->enumtype);
+               mono_mb_emit_op (mb, CEE_STOBJ, klass);
+               break;
+       case MONO_TYPE_GENERICINST:
+       case MONO_TYPE_VAR:
+       case MONO_TYPE_MVAR:
+               mono_mb_emit_op (mb, CEE_STOBJ, klass);
+               break;
+       default:
+               g_warning ("type %x not implemented", type->type);
+               g_assert_not_reached ();
+       }
+
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
+       info->d.proxy.klass = klass;
+       res = mono_mb_create_and_cache_full (cache, klass,
+                                                                                mb, sig, sig->param_count + 16,
+                                                                                info, NULL);
+       mono_mb_free (mb);
+       
+       return res;
+}
+
+MonoMethod *
+mono_marshal_get_proxy_cancast (MonoClass *klass)
+{
+       static MonoMethodSignature *isint_sig = NULL;
+       GHashTable *cache;
+       MonoMethod *res;
+       WrapperInfo *info;
+       int pos_failed, pos_end;
+       char *name, *klass_name;
+       MonoMethod *can_cast_to;
+       MonoMethodDesc *desc;
+       MonoMethodBuilder *mb;
+
+       cache = get_cache (&klass->image->proxy_isinst_cache, mono_aligned_addr_hash, NULL);
+       if ((res = mono_marshal_find_in_cache (cache, klass)))
+               return res;
+
+       if (!isint_sig) {
+               isint_sig = mono_metadata_signature_alloc (mono_defaults.corlib, 1);
+               isint_sig->params [0] = &mono_defaults.object_class->byval_arg;
+               isint_sig->ret = &mono_defaults.object_class->byval_arg;
+               isint_sig->pinvoke = 0;
+       }
+
+       klass_name = mono_type_full_name (&klass->byval_arg);
+       name = g_strdup_printf ("__proxy_isinst_wrapper_%s", klass_name); 
+       mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_PROXY_ISINST);
+       g_free (klass_name);
+       g_free (name);
+       
+       mb->method->save_lmf = 1;
+
+#ifndef DISABLE_JIT
+       /* get the real proxy from the transparent proxy*/
+       mono_mb_emit_ldarg (mb, 0);
+       mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
+       mono_mb_emit_byte (mb, CEE_LDIND_REF);
+       
+       /* get the reflection type from the type handle */
+       mono_mb_emit_ptr (mb, &klass->byval_arg);
+       mono_mb_emit_icall (mb, type_from_handle);
+       
+       mono_mb_emit_ldarg (mb, 0);
+       
+       /* make the call to CanCastTo (type, ob) */
+       desc = mono_method_desc_new ("IRemotingTypeInfo:CanCastTo", FALSE);
+       can_cast_to = mono_method_desc_search_in_class (desc, mono_defaults.iremotingtypeinfo_class);
+       g_assert (can_cast_to);
+       mono_method_desc_free (desc);
+       mono_mb_emit_op (mb, CEE_CALLVIRT, can_cast_to);
+       
+       pos_failed = mono_mb_emit_branch (mb, CEE_BRFALSE);
+
+       /* Upgrade the proxy vtable by calling: mono_upgrade_remote_class_wrapper (type, ob)*/
+       mono_mb_emit_ptr (mb, &klass->byval_arg);
+       mono_mb_emit_icall (mb, type_from_handle);
+       mono_mb_emit_ldarg (mb, 0);
+       
+       mono_mb_emit_icall (mb, mono_upgrade_remote_class_wrapper);
+       mono_marshal_emit_thread_interrupt_checkpoint (mb);
+       
+       mono_mb_emit_ldarg (mb, 0);
+       pos_end = mono_mb_emit_branch (mb, CEE_BR);
+       
+       /* fail */
+       
+       mono_mb_patch_branch (mb, pos_failed);
+       mono_mb_emit_byte (mb, CEE_LDNULL);
+       
+       /* the end */
+       
+       mono_mb_patch_branch (mb, pos_end);
+       mono_mb_emit_byte (mb, CEE_RET);
+#endif
+
+       info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
+       info->d.proxy.klass = klass;
+       res = mono_mb_create_and_cache_full (cache, klass, mb, isint_sig, isint_sig->param_count + 16, info, NULL);
+       mono_mb_free (mb);
+
+       return res;
+}
+
+void
+mono_upgrade_remote_class_wrapper (MonoReflectionType *rtype, MonoTransparentProxy *tproxy)
+{
+       MonoClass *klass;
+       MonoDomain *domain = ((MonoObject*)tproxy)->vtable->domain;
+       klass = mono_class_from_mono_type (rtype->type);
+       mono_upgrade_remote_class (domain, (MonoObject*)tproxy, klass);
+}
+
+#endif /* DISABLE_REMOTING */
+
+/* mono_get_xdomain_marshal_type()
+ * Returns the kind of marshalling that a type needs for cross domain calls.
+ */
+static MonoXDomainMarshalType
+mono_get_xdomain_marshal_type (MonoType *t)
+{
+       switch (t->type) {
+       case MONO_TYPE_VOID:
+               g_assert_not_reached ();
+               break;
+       case MONO_TYPE_U1:
+       case MONO_TYPE_I1:
+       case MONO_TYPE_BOOLEAN:
+       case MONO_TYPE_U2:
+       case MONO_TYPE_I2:
+       case MONO_TYPE_CHAR:
+       case MONO_TYPE_U4:
+       case MONO_TYPE_I4:
+       case MONO_TYPE_I8:
+       case MONO_TYPE_U8:
+       case MONO_TYPE_R4:
+       case MONO_TYPE_R8:
+               return MONO_MARSHAL_NONE;
+       case MONO_TYPE_STRING:
+               return MONO_MARSHAL_COPY;
+       case MONO_TYPE_ARRAY:
+       case MONO_TYPE_SZARRAY: {
+               MonoClass *elem_class = mono_class_from_mono_type (t)->element_class;
+               if (mono_get_xdomain_marshal_type (&(elem_class->byval_arg)) != MONO_MARSHAL_SERIALIZE)
+                       return MONO_MARSHAL_COPY;
+               break;
+       }
+       }
+
+       return MONO_MARSHAL_SERIALIZE;
+}
+
+/* mono_marshal_xdomain_copy_value
+ * Makes a copy of "val" suitable for the current domain.
+ */
+MonoObject *
+mono_marshal_xdomain_copy_value (MonoObject *val)
+{
+       MonoDomain *domain;
+       if (val == NULL) return NULL;
+
+       domain = mono_domain_get ();
+
+       switch (mono_object_class (val)->byval_arg.type) {
+       case MONO_TYPE_VOID:
+               g_assert_not_reached ();
+               break;
+       case MONO_TYPE_U1:
+       case MONO_TYPE_I1:
+       case MONO_TYPE_BOOLEAN:
+       case MONO_TYPE_U2:
+       case MONO_TYPE_I2:
+       case MONO_TYPE_CHAR:
+       case MONO_TYPE_U4:
+       case MONO_TYPE_I4:
+       case MONO_TYPE_I8:
+       case MONO_TYPE_U8:
+       case MONO_TYPE_R4:
+       case MONO_TYPE_R8: {
+               return mono_value_box (domain, mono_object_class (val), ((char*)val) + sizeof(MonoObject));
+       }
+       case MONO_TYPE_STRING: {
+               MonoString *str = (MonoString *) val;
+               return (MonoObject *) mono_string_new_utf16 (domain, mono_string_chars (str), mono_string_length (str));
+       }
+       case MONO_TYPE_ARRAY:
+       case MONO_TYPE_SZARRAY: {
+               MonoArray *acopy;
+               MonoXDomainMarshalType mt = mono_get_xdomain_marshal_type (&(mono_object_class (val)->element_class->byval_arg));
+               if (mt == MONO_MARSHAL_SERIALIZE) return NULL;
+               acopy = mono_array_clone_in_domain (domain, (MonoArray *) val);
+               if (mt == MONO_MARSHAL_COPY) {
+                       int i, len = mono_array_length (acopy);
+                       for (i = 0; i < len; i++) {
+                               MonoObject *item = mono_array_get (acopy, gpointer, i);
+                               mono_array_setref (acopy, i, mono_marshal_xdomain_copy_value (item));
+                       }
+               }
+               return (MonoObject *) acopy;
+       }
+       }
+
+       if (mono_object_class (val) == mono_defaults.stringbuilder_class) {
+               MonoStringBuilder *oldsb = (MonoStringBuilder *) val;
+               MonoStringBuilder *newsb = (MonoStringBuilder *) mono_object_new (domain, mono_defaults.stringbuilder_class);
+               MONO_OBJECT_SETREF (newsb, str, mono_string_new_utf16 (domain, mono_string_chars (oldsb->str), mono_string_length (oldsb->str)));
+               newsb->length = oldsb->length;
+               newsb->max_capacity = (gint32)0x7fffffff;
+               return (MonoObject *) newsb;
+       }
+       return NULL;
+}
diff --git a/mono/metadata/remoting.h b/mono/metadata/remoting.h
new file mode 100644 (file)
index 0000000..24f4c80
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * remoting.h: Remoting support
+ *
+ * (C) 2014 Xamarin, Inc.  http://www.xamarin.com
+ *
+ */
+
+#ifndef __MONO_REMOTING_H__
+#define __MONO_REMOTING_H__
+
+#include "config.h"
+#include <mono/metadata/class.h>
+#include <mono/metadata/object-internals.h>
+#include <mono/metadata/class-internals.h>
+
+void mono_remoting_init (void) MONO_INTERNAL;
+
+#ifndef DISABLE_REMOTING
+
+MonoMethod *
+mono_marshal_get_remoting_invoke (MonoMethod *method) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_xappdomain_invoke (MonoMethod *method) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_remoting_invoke_for_target (MonoMethod *method, MonoRemotingTarget target_type) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_remoting_invoke_with_check (MonoMethod *method) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_stfld_wrapper (MonoType *type) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_ldfld_wrapper (MonoType *type) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_ldflda_wrapper (MonoType *type) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_ldfld_remote_wrapper (MonoClass *klass) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_stfld_remote_wrapper (MonoClass *klass) MONO_INTERNAL;
+
+MonoMethod *
+mono_marshal_get_proxy_cancast (MonoClass *klass) MONO_INTERNAL;
+
+#endif
+
+#endif
index 368388a5dab2fe5bf006844ac910be56d92811bc..9ce5b45c5bfd6261b83b20788f7c7d31e10404f7 100644 (file)
@@ -51,7 +51,6 @@
 
 #define ALIGN_UP               SGEN_ALIGN_UP
 #define ALLOC_ALIGN            SGEN_ALLOC_ALIGN
-#define ALLOC_ALIGN_BITS       SGEN_ALLOC_ALIGN_BITS
 #define MAX_SMALL_OBJ_SIZE     SGEN_MAX_SMALL_OBJ_SIZE
 #define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
 
@@ -68,9 +67,9 @@ enum {
 static gboolean use_managed_allocator = TRUE;
 
 #ifdef HEAVY_STATISTICS
-static long long stat_objects_alloced = 0;
-static long long stat_bytes_alloced = 0;
-static long long stat_bytes_alloced_los = 0;
+static guint64 stat_objects_alloced = 0;
+static guint64 stat_bytes_alloced = 0;
+static guint64 stat_bytes_alloced_los = 0;
 
 #endif
 
@@ -1214,9 +1213,9 @@ sgen_has_managed_allocator (void)
 void
 sgen_alloc_init_heavy_stats (void)
 {
-       mono_counters_register ("# objects allocated", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_objects_alloced);     
-       mono_counters_register ("bytes allocated", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_bytes_alloced);
-       mono_counters_register ("bytes allocated in LOS", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_bytes_alloced_los);
+       mono_counters_register ("# objects allocated", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_objects_alloced);    
+       mono_counters_register ("bytes allocated", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_bytes_alloced);
+       mono_counters_register ("bytes allocated in LOS", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_bytes_alloced_los);
 }
 #endif
 
index 6dd91e2444261a132c8a5ed2c57bc95733a6c103..99cae37adbd09872581b57d1b41e6e314e3ffed9 100644 (file)
@@ -52,23 +52,23 @@ guint8 *sgen_cardtable;
 static gboolean need_mod_union;
 
 #ifdef HEAVY_STATISTICS
-long long marked_cards;
-long long scanned_cards;
-long long scanned_objects;
-long long remarked_cards;
+guint64 marked_cards;
+guint64 scanned_cards;
+guint64 scanned_objects;
+guint64 remarked_cards;
 
-static long long los_marked_cards;
-static long long large_objects;
-static long long bloby_objects;
-static long long los_array_cards;
-static long long los_array_remsets;
+static guint64 los_marked_cards;
+static guint64 large_objects;
+static guint64 bloby_objects;
+static guint64 los_array_cards;
+static guint64 los_array_remsets;
 
 #endif
-static long long major_card_scan_time;
-static long long los_card_scan_time;
+static guint64 major_card_scan_time;
+static guint64 los_card_scan_time;
 
-static long long last_major_scan_time;
-static long long last_los_scan_time;
+static guint64 last_major_scan_time;
+static guint64 last_los_scan_time;
 
 static void sgen_card_tables_collect_stats (gboolean begin);
 
@@ -113,7 +113,7 @@ sgen_card_table_wbarrier_arrayref_copy (gpointer dest_ptr, gpointer src_ptr, int
 
                for (; dest >= start; --src, --dest) {
                        gpointer value = *src;
-                       *dest = value;
+                       SGEN_UPDATE_REFERENCE_ALLOW_NULL (dest, value);
                        if (need_mod_union || sgen_ptr_in_nursery (value))
                                sgen_card_table_mark_address ((mword)dest);
                        sgen_dummy_use (value);
@@ -122,7 +122,7 @@ sgen_card_table_wbarrier_arrayref_copy (gpointer dest_ptr, gpointer src_ptr, int
                gpointer *end = dest + count;
                for (; dest < end; ++src, ++dest) {
                        gpointer value = *src;
-                       *dest = value;
+                       SGEN_UPDATE_REFERENCE_ALLOW_NULL (dest, value);
                        if (need_mod_union || sgen_ptr_in_nursery (value))
                                sgen_card_table_mark_address ((mword)dest);
                        sgen_dummy_use (value);
@@ -753,19 +753,19 @@ sgen_card_table_init (SgenRemeberedSet *remset)
 #endif
 
 #ifdef HEAVY_STATISTICS
-       mono_counters_register ("marked cards", MONO_COUNTER_GC | MONO_COUNTER_LONG, &marked_cards);
-       mono_counters_register ("scanned cards", MONO_COUNTER_GC | MONO_COUNTER_LONG, &scanned_cards);
-       mono_counters_register ("remarked cards", MONO_COUNTER_GC | MONO_COUNTER_LONG, &remarked_cards);
-
-       mono_counters_register ("los marked cards", MONO_COUNTER_GC | MONO_COUNTER_LONG, &los_marked_cards);
-       mono_counters_register ("los array cards scanned ", MONO_COUNTER_GC | MONO_COUNTER_LONG, &los_array_cards);
-       mono_counters_register ("los array remsets", MONO_COUNTER_GC | MONO_COUNTER_LONG, &los_array_remsets);
-       mono_counters_register ("cardtable scanned objects", MONO_COUNTER_GC | MONO_COUNTER_LONG, &scanned_objects);
-       mono_counters_register ("cardtable large objects", MONO_COUNTER_GC | MONO_COUNTER_LONG, &large_objects);
-       mono_counters_register ("cardtable bloby objects", MONO_COUNTER_GC | MONO_COUNTER_LONG, &bloby_objects);
+       mono_counters_register ("marked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &marked_cards);
+       mono_counters_register ("scanned cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &scanned_cards);
+       mono_counters_register ("remarked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &remarked_cards);
+
+       mono_counters_register ("los marked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_marked_cards);
+       mono_counters_register ("los array cards scanned ", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_cards);
+       mono_counters_register ("los array remsets", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_remsets);
+       mono_counters_register ("cardtable scanned objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &scanned_objects);
+       mono_counters_register ("cardtable large objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &large_objects);
+       mono_counters_register ("cardtable bloby objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &bloby_objects);
 #endif
-       mono_counters_register ("cardtable major scan time", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &major_card_scan_time);
-       mono_counters_register ("cardtable los scan time", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &los_card_scan_time);
+       mono_counters_register ("cardtable major scan time", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &major_card_scan_time);
+       mono_counters_register ("cardtable los scan time", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &los_card_scan_time);
 
 
        remset->wbarrier_set_field = sgen_card_table_wbarrier_set_field;
index babee94026e53d11e6051985f860f06ef64faf02..b74830f8f6db570e4448a5ea1c267225b10d5b3b 100644 (file)
 
 #if SIZEOF_VOID_P == 4
 typedef guint32 mword;
-#define MWORD_MAX_VALUE ((uint32_t) 0xffffffff)
 #else
 typedef guint64 mword;
-#define MWORD_MAX_VALUE (G_MAXUINT64)
 #endif
 
 
@@ -84,6 +82,15 @@ typedef guint64 mword;
  */
 //#define SGEN_CHECK_GRAY_OBJECT_SECTIONS
 
+/*
+ * Enable this to check every reference update for null references and whether the update is
+ * made in a worker thread.  In only a few cases do we potentially update references by
+ * writing nulls, so we assert in all the cases where it's not allowed.  The concurrent
+ * collector's worker thread is not allowed to update references at all, so we also assert
+ * that we're not in the worker thread.
+ */
+//#define SGEN_CHECK_UPDATE_REFERENCE
+
 /*
  * Define this and use the "xdomain-checks" MONO_GC_DEBUG option to
  * have cross-domain checks in the write barrier.
@@ -144,12 +151,9 @@ typedef guint64 mword;
 #define SGEN_SCAN_START_SIZE (4096*2)
 
 /*
- * Objects bigger then this go into the large object space.  This size
- * has a few constraints.  It must fit into the major heap, which in
- * the case of the copying collector means that it must fit into a
- * pinned chunk.  It must also play well with the GC descriptors, some
- * of which (DESC_TYPE_RUN_LENGTH, DESC_TYPE_SMALL_BITMAP) encode the
- * object size.
+ * Objects bigger then this go into the large object space.  This size has a few
+ * constraints.  At least two of them must fit into a major heap block.  It must also play
+ * well with the run length GC descriptor, which encodes the object size.
  */
 #define SGEN_MAX_SMALL_OBJ_SIZE 8000
 
index 21331c18f0605a54fab15a1215c080eb6184a74c..c5589f672e80036859a28a37e14c29db8b8dee15 100644 (file)
 
 #include "mono/utils/mono-compiler.h"
 
-extern long long stat_copy_object_called_nursery;
-extern long long stat_objects_copied_nursery;
+extern guint64 stat_copy_object_called_nursery;
+extern guint64 stat_objects_copied_nursery;
 
-extern long long stat_nursery_copy_object_failed_from_space;
-extern long long stat_nursery_copy_object_failed_forwarded;
-extern long long stat_nursery_copy_object_failed_pinned;
+extern guint64 stat_nursery_copy_object_failed_from_space;
+extern guint64 stat_nursery_copy_object_failed_forwarded;
+extern guint64 stat_nursery_copy_object_failed_pinned;
 
-extern long long stat_slots_allocated_in_vain;
+extern guint64 stat_slots_allocated_in_vain;
 
 /*
+ * Copies an object and enqueues it if a queue is given.
+ *
  * This function can be used even if the vtable of obj is not valid
  * anymore, which is the case in the parallel collector.
  */
@@ -77,15 +79,20 @@ copy_object_no_checks (void *obj, SgenGrayQueue *queue)
        MonoVTable *vt = ((MonoObject*)obj)->vtable;
        gboolean has_references = SGEN_VTABLE_HAS_REFERENCES (vt);
        mword objsize = SGEN_ALIGN_UP (sgen_par_object_get_size (vt, (MonoObject*)obj));
+       /* FIXME: Does this not mark the newly allocated object? */
        char *destination = COLLECTOR_SERIAL_ALLOC_FOR_PROMOTION (vt, obj, objsize, has_references);
 
        if (G_UNLIKELY (!destination)) {
+               /* FIXME: Is this path ever tested? */
                collector_pin_object (obj, queue);
                sgen_set_pinned_from_failed_allocation (objsize);
                return obj;
        }
 
-       par_copy_object_no_checks (destination, vt, obj, objsize, has_references ? queue : NULL);
+       if (!has_references)
+               queue = NULL;
+
+       par_copy_object_no_checks (destination, vt, obj, objsize, queue);
        /* FIXME: mark mod union cards if necessary */
 
        /* set the forwarding pointer */
index 113078c1839661299582ad983a02433d8d511e6b..580f7c185e37d6711429ce6c8c14c21ff50cf026 100644 (file)
@@ -131,7 +131,7 @@ describe_pointer (char *ptr, gboolean need_setup)
        desc = ((GCVTable*)vtable)->desc;
        printf ("Descriptor: %lx\n", (long)desc);
 
-       type = desc & 0x7;
+       type = desc & DESC_TYPE_MASK;
        printf ("Descriptor type: %d (%s)\n", type, descriptor_types [type]);
 
        size = sgen_safe_object_get_size ((MonoObject*)ptr);
@@ -348,6 +348,16 @@ find_object_in_nursery_dump (char *object)
        return FALSE;
 }
 
+static void
+iterate_valid_nursery_objects (IterateObjectCallbackFunc callback, void *data)
+{
+       int i;
+       for (i = 0; i < valid_nursery_object_count; ++i) {
+               char *obj = valid_nursery_objects [i];
+               callback (obj, safe_object_get_size ((MonoObject*)obj), data);
+       }
+}
+
 static char*
 describe_nursery_ptr (char *ptr, gboolean need_setup)
 {
@@ -540,15 +550,14 @@ find_pinning_reference (char *obj, size_t size)
 #define HANDLE_PTR(ptr,obj)    do {                                    \
                char* __target = *(char**)ptr;                          \
                if (__target) {                                         \
-                       g_assert (is_valid_object_pointer (__target));  \
                        if (sgen_ptr_in_nursery (__target)) {           \
-                               g_assert (SGEN_OBJECT_IS_PINNED (__target)); \
-                       } else if (sgen_los_is_valid_object (__target)) { \
-                               g_assert (sgen_los_object_is_pinned (__target)); \
-                       } else if (major_collector.is_valid_object (__target)) { \
-                               g_assert (major_collector.is_object_live (__target)); \
+                               g_assert (!SGEN_OBJECT_IS_FORWARDED (__target)); \
                        } else {                                        \
-                               g_assert_not_reached ();                \
+                               mword __size = sgen_safe_object_get_size ((MonoObject*)__target); \
+                               if (__size <= SGEN_MAX_SMALL_OBJ_SIZE)  \
+                                       g_assert (major_collector.is_object_live (__target)); \
+                               else                                    \
+                                       g_assert (sgen_los_object_is_pinned (__target)); \
                        }                                               \
                }                                                       \
        } while (0)
@@ -556,10 +565,13 @@ find_pinning_reference (char *obj, size_t size)
 static void
 check_marked_callback (char *start, size_t size, void *dummy)
 {
-       gboolean is_los = (gboolean) (size_t) dummy;
+       gboolean flag = (gboolean) (size_t) dummy;
        mword desc;
 
-       if (is_los) {
+       if (sgen_ptr_in_nursery (start)) {
+               if (flag)
+                       SGEN_ASSERT (0, SGEN_OBJECT_IS_PINNED (start), "All objects remaining in the nursery must be pinned");
+       } else if (flag) {
                if (!sgen_los_object_is_pinned (start))
                        return;
        } else {
@@ -567,16 +579,17 @@ check_marked_callback (char *start, size_t size, void *dummy)
                        return;
        }
 
-       desc = sgen_obj_get_descriptor (start);
+       desc = sgen_obj_get_descriptor_safe (start);
 
 #include "sgen-scan-object.h"
 }
 
 void
-sgen_check_major_heap_marked (void)
+sgen_check_heap_marked (gboolean nursery_must_be_pinned)
 {
        setup_valid_nursery_objects ();
 
+       iterate_valid_nursery_objects (check_marked_callback, (void*)(size_t)nursery_must_be_pinned);
        major_collector.iterate_objects (ITERATE_OBJECTS_SWEEP_ALL, check_marked_callback, (void*)FALSE);
        sgen_los_iterate_objects (check_marked_callback, (void*)TRUE);
 }
@@ -620,7 +633,7 @@ scan_object_for_specific_ref (char *start, MonoObject *key)
                start = forwarded;
 
        if (scan_object_for_specific_ref_precise) {
-               mword desc = sgen_obj_get_descriptor (start);
+               mword desc = sgen_obj_get_descriptor_safe (start);
                #include "sgen-scan-object.h"
        } else {
                mword *words = (mword*)start;
index 6da8f7290d9316d930e1320d7ff2dba0ce5a8b85..de452becccb6b2e312fb525095992f08253cad72 100644 (file)
@@ -60,7 +60,8 @@ static int user_descriptors_next = 0;
 static void *all_ref_root_descrs [32];
 
 #ifdef HEAVY_STATISTICS
-static long long stat_scanned_count_per_descriptor [DESC_TYPE_MAX];
+static guint64 stat_scanned_count_per_descriptor [DESC_TYPE_MAX];
+static guint64 stat_copied_count_per_descriptor [DESC_TYPE_MAX];
 #endif
 
 static int
@@ -121,7 +122,7 @@ sgen_get_complex_descriptor (mword desc)
 void*
 mono_gc_make_descr_for_string (gsize *bitmap, int numbits)
 {
-       return (void*) DESC_TYPE_RUN_LENGTH;
+       return (void*)SGEN_DESC_STRING;
 }
 
 void*
@@ -145,14 +146,23 @@ mono_gc_make_descr_for_object (gsize *bitmap, int numbits, size_t obj_size)
 
        if (first_set < 0) {
                SGEN_LOG (6, "Ptrfree descriptor %p, size: %zd", (void*)desc, stored_size);
-               if (stored_size <= MAX_RUNLEN_OBJECT_SIZE)
-                       return (void*)(DESC_TYPE_RUN_LENGTH | stored_size);
+               if (stored_size <= MAX_RUNLEN_OBJECT_SIZE && stored_size <= SGEN_MAX_SMALL_OBJ_SIZE)
+                       return (void*)(DESC_TYPE_SMALL_PTRFREE | stored_size);
                return (void*)DESC_TYPE_COMPLEX_PTRFREE;
        }
 
        g_assert (!(stored_size & 0x7));
 
-       if (stored_size <= MAX_RUNLEN_OBJECT_SIZE) {
+       SGEN_ASSERT (5, stored_size == SGEN_ALIGN_UP (stored_size), "Size is not aligned");
+
+       /* we know the 2-word header is ptr-free */
+       if (last_set < BITMAP_NUM_BITS + OBJECT_HEADER_WORDS && stored_size <= SGEN_MAX_SMALL_OBJ_SIZE) {
+               desc = DESC_TYPE_BITMAP | ((*bitmap >> OBJECT_HEADER_WORDS) << LOW_TYPE_BITS);
+               SGEN_LOG (6, "Largebitmap descriptor %p, size: %zd, last set: %d", (void*)desc, stored_size, last_set);
+               return (void*) desc;
+       }
+
+       if (stored_size <= MAX_RUNLEN_OBJECT_SIZE && stored_size <= SGEN_MAX_SMALL_OBJ_SIZE) {
                /* check run-length encoding first: one byte offset, one byte number of pointers
                 * on 64 bit archs, we can have 3 runs, just one on 32.
                 * It may be better to use nibbles.
@@ -164,19 +174,6 @@ mono_gc_make_descr_for_object (gsize *bitmap, int numbits, size_t obj_size)
                }
        }
 
-       /* we know the 2-word header is ptr-free */
-       if (last_set < SMALL_BITMAP_SIZE + OBJECT_HEADER_WORDS && stored_size < (1 << SMALL_BITMAP_SHIFT)) {
-               desc = DESC_TYPE_SMALL_BITMAP | stored_size | ((*bitmap >> OBJECT_HEADER_WORDS) << SMALL_BITMAP_SHIFT);
-               SGEN_LOG (6, "Smallbitmap descriptor %p, size: %zd, last set: %d", (void*)desc, stored_size, last_set);
-               return (void*) desc;
-       }
-
-       /* we know the 2-word header is ptr-free */
-       if (last_set < LARGE_BITMAP_SIZE + OBJECT_HEADER_WORDS) {
-               desc = DESC_TYPE_LARGE_BITMAP | ((*bitmap >> OBJECT_HEADER_WORDS) << LOW_TYPE_BITS);
-               SGEN_LOG (6, "Largebitmap descriptor %p, size: %zd, last set: %d", (void*)desc, stored_size, last_set);
-               return (void*) desc;
-       }
        /* it's a complex object ... */
        desc = DESC_TYPE_COMPLEX | (alloc_complex_descriptor (bitmap, last_set + 1) << LOW_TYPE_BITS);
        return (void*) desc;
@@ -214,7 +211,7 @@ mono_gc_make_descr_for_array (int vector, gsize *elem_bitmap, int numbits, size_
                }
                /* FIXME: try run-len first */
                /* Note: we can't skip the object header here, because it's not present */
-               if (last_set < SMALL_BITMAP_SIZE) {
+               if (last_set < VECTOR_BITMAP_SIZE) {
                        return (void*)(desc | VECTOR_SUBTYPE_BITMAP | (*elem_bitmap << 16));
                }
        }
@@ -231,7 +228,7 @@ mono_gc_get_bitmap_for_descr (void *descr, int *numbits)
        mword d = (mword)descr;
        gsize *bitmap;
 
-       switch (d & 0x7) {
+       switch (d & DESC_TYPE_MASK) {
        case DESC_TYPE_RUN_LENGTH: {            
                int first_set = (d >> 16) & 0xff;
                int num_set = (d >> 24) & 0xff;
@@ -247,15 +244,7 @@ mono_gc_get_bitmap_for_descr (void *descr, int *numbits)
                return bitmap;
        }
 
-       case DESC_TYPE_SMALL_BITMAP:
-               bitmap = g_new0 (gsize, 1);
-
-               bitmap [0] = (d >> SMALL_BITMAP_SHIFT) << OBJECT_HEADER_WORDS;
-
-               *numbits = GC_BITS_PER_WORD;
-               return bitmap;
-
-       case DESC_TYPE_LARGE_BITMAP: {
+       case DESC_TYPE_BITMAP: {
                gsize bmap = (d >> LOW_TYPE_BITS) << OBJECT_HEADER_WORDS;
 
                bitmap = g_new0 (gsize, 1);
@@ -356,23 +345,39 @@ sgen_get_user_descriptor_func (mword desc)
 void
 sgen_descriptor_count_scanned_object (mword desc)
 {
-       int type = desc & 7;
+       int type = desc & DESC_TYPE_MASK;
        SGEN_ASSERT (0, type, "Descriptor type can't be zero");
        ++stat_scanned_count_per_descriptor [type - 1];
 }
+
+void
+sgen_descriptor_count_copied_object (mword desc)
+{
+       int type = desc & DESC_TYPE_MASK;
+       SGEN_ASSERT (0, type, "Descriptor type can't be zero");
+       ++stat_copied_count_per_descriptor [type - 1];
+}
 #endif
 
 void
 sgen_init_descriptors (void)
 {
 #ifdef HEAVY_STATISTICS
-       mono_counters_register ("# scanned RUN_LENGTH", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_RUN_LENGTH - 1]);
-       mono_counters_register ("# scanned SMALL_BITMAP", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_SMALL_BITMAP - 1]);
-       mono_counters_register ("# scanned COMPLEX", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX - 1]);
-       mono_counters_register ("# scanned VECTOR", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_VECTOR - 1]);
-       mono_counters_register ("# scanned LARGE_BITMAP", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_LARGE_BITMAP - 1]);
-       mono_counters_register ("# scanned COMPLEX_ARR", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX_ARR - 1]);
-       mono_counters_register ("# scanned COMPLEX_PTRFREE", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX_PTRFREE - 1]);
+       mono_counters_register ("# scanned RUN_LENGTH", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_RUN_LENGTH - 1]);
+       mono_counters_register ("# scanned SMALL_PTRFREE", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_SMALL_PTRFREE - 1]);
+       mono_counters_register ("# scanned COMPLEX", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX - 1]);
+       mono_counters_register ("# scanned VECTOR", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_VECTOR - 1]);
+       mono_counters_register ("# scanned BITMAP", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_BITMAP - 1]);
+       mono_counters_register ("# scanned COMPLEX_ARR", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX_ARR - 1]);
+       mono_counters_register ("# scanned COMPLEX_PTRFREE", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scanned_count_per_descriptor [DESC_TYPE_COMPLEX_PTRFREE - 1]);
+
+       mono_counters_register ("# copied RUN_LENGTH", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_RUN_LENGTH - 1]);
+       mono_counters_register ("# copied SMALL_PTRFREE", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_SMALL_PTRFREE - 1]);
+       mono_counters_register ("# copied COMPLEX", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_COMPLEX - 1]);
+       mono_counters_register ("# copied VECTOR", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_VECTOR - 1]);
+       mono_counters_register ("# copied BITMAP", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_BITMAP - 1]);
+       mono_counters_register ("# copied COMPLEX_ARR", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_COMPLEX_ARR - 1]);
+       mono_counters_register ("# copied COMPLEX_PTRFREE", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copied_count_per_descriptor [DESC_TYPE_COMPLEX_PTRFREE - 1]);
 #endif
 }
 
index c06354dd95820cc933b215680774bdce3b5522ca..de01e1c6a946404ef54cbaa80e1c3cc96e34822c 100644 (file)
  */
 #define OBJECT_HEADER_WORDS (sizeof(MonoObject)/sizeof(gpointer))
 #define LOW_TYPE_BITS 3
+#define DESC_TYPE_MASK ((1 << LOW_TYPE_BITS) - 1)
 #define MAX_RUNLEN_OBJECT_SIZE 0xFFFF
-#define SMALL_BITMAP_SHIFT 16
-#define SMALL_BITMAP_SIZE (GC_BITS_PER_WORD - SMALL_BITMAP_SHIFT)
 #define VECTOR_INFO_SHIFT 14
 #define VECTOR_KIND_SHIFT 13
 #define VECTOR_ELSIZE_SHIFT 3
-#define LARGE_BITMAP_SIZE (GC_BITS_PER_WORD - LOW_TYPE_BITS)
+#define VECTOR_BITMAP_SHIFT 16
+#define VECTOR_BITMAP_SIZE (GC_BITS_PER_WORD - VECTOR_BITMAP_SHIFT)
+#define BITMAP_NUM_BITS (GC_BITS_PER_WORD - LOW_TYPE_BITS)
 #define MAX_ELEMENT_SIZE 0x3ff
 #define VECTOR_SUBTYPE_PTRFREE (DESC_TYPE_V_PTRFREE << VECTOR_INFO_SHIFT)
 #define VECTOR_SUBTYPE_REFS    (DESC_TYPE_V_REFS << VECTOR_INFO_SHIFT)
-#define VECTOR_SUBTYPE_RUN_LEN (DESC_TYPE_V_RUN_LEN << VECTOR_INFO_SHIFT)
 #define VECTOR_SUBTYPE_BITMAP  (DESC_TYPE_V_BITMAP << VECTOR_INFO_SHIFT)
 
 #define VECTOR_KIND_SZARRAY  (DESC_TYPE_V_SZARRAY << VECTOR_KIND_SHIFT)
 #define VECTOR_KIND_ARRAY  (DESC_TYPE_V_ARRAY << VECTOR_KIND_SHIFT)
 
-/* objects are aligned to 8 bytes boundaries
+/*
+ * Objects are aligned to 8 bytes boundaries.
+ *
  * A descriptor is a pointer in MonoVTable, so 32 or 64 bits of size.
  * The low 3 bits define the type of the descriptor. The other bits
  * depend on the type.
+ *
+ * It's important to be able to quickly identify two properties of classes from their
+ * descriptors: whether they are small enough to live in the regular major heap (size <=
+ * SGEN_MAX_SMALL_OBJ_SIZE), and whether they contain references.
+ *
+ * To that end we have three descriptor types that only apply to small classes: RUN_LENGTH,
+ * BITMAP, and SMALL_PTRFREE.  We also have the type COMPLEX_PTRFREE, which applies to
+ * classes that are either not small or of unknown size (those being strings and arrays).
+ * The lowest two bits of the SMALL_PTRFREE and COMPLEX_PTRFREE tags are the same, so we can
+ * quickly check for references.
+ *
  * As a general rule the 13 remaining low bits define the size, either
  * of the whole object or of the elements in the arrays. While for objects
  * the size is already in bytes, for arrays we need to shift, because
  * will be allocated in the large object heap.
  * If we want 4-bytes alignment, we need to put vector and small bitmap
  * inside complex.
+ *
+ * We don't use 0 so that 0 isn't a valid GC descriptor.  No deep reason for this other than
+ * to be able to identify a non-inited descriptor for debugging.
  */
 enum {
-       /*
-        * We don't use 0 so that 0 isn't a valid GC descriptor.  No
-        * deep reason for this other than to be able to identify a
-        * non-inited descriptor for debugging.
-        *
-        * If an object contains no references, its GC descriptor is
-        * always DESC_TYPE_RUN_LENGTH, without a size, no exceptions.
-        * This is so that we can quickly check for that in
-        * copy_object_no_checks(), without having to fetch the
-        * object's class.
-        */
        DESC_TYPE_RUN_LENGTH = 1,   /* 16 bits aligned byte size | 1-3 (offset, numptr) bytes tuples */
-       DESC_TYPE_SMALL_BITMAP = 2, /* 16 bits aligned byte size | 16-48 bit bitmap */
-       DESC_TYPE_COMPLEX = 3,      /* index for bitmap into complex_descriptors */
-       DESC_TYPE_VECTOR = 4,       /* 10 bits element size | 1 bit kind | 2 bits desc | element desc */
-       DESC_TYPE_LARGE_BITMAP = 5, /* | 29-61 bitmap bits */
+       DESC_TYPE_BITMAP = 2,       /* | 29-61 bitmap bits */
+       DESC_TYPE_SMALL_PTRFREE = 3,
+       DESC_TYPE_MAX_SMALL_OBJ = 3,
+       DESC_TYPE_COMPLEX = 4,      /* index for bitmap into complex_descriptors */
+       DESC_TYPE_VECTOR = 5,       /* 10 bits element size | 1 bit kind | 2 bits desc | element desc */
        DESC_TYPE_COMPLEX_ARR = 6,  /* index for bitmap into complex_descriptors */
-       DESC_TYPE_COMPLEX_PTRFREE = 7, /*Nothing, used to encode large ptr objects. */
+       DESC_TYPE_COMPLEX_PTRFREE = 7, /* Nothing, used to encode large ptr objects and strings. */
        DESC_TYPE_MAX = 7,
-       /* values for array kind */
+
+       DESC_TYPE_PTRFREE_MASK = 3,
+       DESC_TYPE_PTRFREE_BITS = 3
+};
+
+/* values for array kind */
+enum {
        DESC_TYPE_V_SZARRAY = 0, /*vector with no bounds data */
        DESC_TYPE_V_ARRAY = 1, /* array with bounds data */
-       /* subtypes for arrays and vectors */
+};
+
+/* subtypes for arrays and vectors */
+enum {
        DESC_TYPE_V_PTRFREE = 0,/* there are no refs: keep first so it has a zero value  */
        DESC_TYPE_V_REFS,       /* all the array elements are refs */
        DESC_TYPE_V_RUN_LEN,    /* elements are run-length encoded as DESC_TYPE_RUN_LENGTH */
        DESC_TYPE_V_BITMAP      /* elements are as the bitmap in DESC_TYPE_SMALL_BITMAP */
 };
 
+#define SGEN_DESC_STRING       (DESC_TYPE_COMPLEX_PTRFREE | (1 << LOW_TYPE_BITS))
+
 /* Root bitmap descriptors are simpler: the lower three bits describe the type
  * and we either have 30/62 bitmap bits or nibble-based run-length,
  * or a complex descriptor, or a user defined marker function.
@@ -122,22 +139,20 @@ void sgen_init_descriptors (void) MONO_INTERNAL;
 
 #ifdef HEAVY_STATISTICS
 void sgen_descriptor_count_scanned_object (mword desc) MONO_INTERNAL;
+void sgen_descriptor_count_copied_object (mword desc) MONO_INTERNAL;
 #endif
 
 static inline gboolean
 sgen_gc_descr_has_references (mword desc)
 {
-       /*Both string and fixed size objects are encoded using a zero run RUN_LEN*/
-       if ((desc & 0xffff0007) == DESC_TYPE_RUN_LENGTH)
+       /* This covers SMALL_PTRFREE and COMPLEX_PTRFREE */
+       if ((desc & DESC_TYPE_PTRFREE_MASK) == DESC_TYPE_PTRFREE_BITS)
                return FALSE;
 
        /*The array is ptr-free*/
        if ((desc & 0xC007) == (DESC_TYPE_VECTOR | VECTOR_SUBTYPE_PTRFREE))
                return FALSE;
 
-       if ((desc & 0x7) == DESC_TYPE_COMPLEX_PTRFREE)
-               return FALSE;
-
        return TRUE;
 }
 
@@ -146,18 +161,10 @@ sgen_gc_descr_has_references (mword desc)
 #define SGEN_OBJECT_HAS_REFERENCES(o)  (SGEN_VTABLE_HAS_REFERENCES (SGEN_LOAD_VTABLE ((o))))
 
 /* helper macros to scan and traverse objects, macros because we resue them in many functions */
-#define OBJ_RUN_LEN_SIZE(size,desc,obj) do { \
-               (size) = ((desc) & 0xfff8);     \
-    } while (0)
-
-#define OBJ_BITMAP_SIZE(size,desc,obj) do { \
-               (size) = ((desc) & 0xfff8);     \
-    } while (0)
-
 #ifdef __GNUC__
-#define PREFETCH(addr) __builtin_prefetch ((addr))
+#define PREFETCH_READ(addr)    __builtin_prefetch ((addr), 0, 1)
 #else
-#define PREFETCH(addr)
+#define PREFETCH_READ(addr)
 #endif
 
 #if defined(__GNUC__) && SIZEOF_VOID_P==4
@@ -181,52 +188,38 @@ sgen_gc_descr_has_references (mword desc)
                }       \
        } while (0)
 
-#if defined(__GNUC__)
-#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
-               /* there are pointers */        \
-               void **_objptr = (void**)(obj); \
-               gsize _bmap = (desc) >> 16;     \
-               _objptr += OBJECT_HEADER_WORDS; \
-               do { \
-                       int _index = GNUC_BUILTIN_CTZ (_bmap);          \
-                       _objptr += _index; \
-                       _bmap >>= (_index + 1);                         \
-                       HANDLE_PTR (_objptr, (obj));            \
-                       _objptr ++;                                                     \
-               } while (_bmap);                                        \
-       } while (0)
-#else
-#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
-               /* there are pointers */        \
-               void **_objptr = (void**)(obj); \
-               gsize _bmap = (desc) >> 16;     \
-               _objptr += OBJECT_HEADER_WORDS; \
-               while (_bmap) {                                            \
-                       if ((_bmap & 1)) {                                                                 \
-                               HANDLE_PTR (_objptr, (obj));                               \
-                       }                                                                                                  \
-                       _bmap >>= 1;                                                                       \
-                       ++_objptr;                                                                                 \
-               }                                                                                                          \
-       } while (0)
-#endif
-
 /* a bitmap desc means that there are pointer references or we'd have
  * choosen run-length, instead: add an assert to check.
  */
-#define OBJ_LARGE_BITMAP_FOREACH_PTR(desc,obj) do {    \
+#ifdef __GNUC__
+#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {            \
+               /* there are pointers */                        \
+               void **_objptr = (void**)(obj);                 \
+               gsize _bmap = (desc) >> LOW_TYPE_BITS;          \
+               _objptr += OBJECT_HEADER_WORDS;                 \
+               do {                                            \
+                       int _index = GNUC_BUILTIN_CTZ (_bmap);  \
+                       _objptr += _index;                      \
+                       _bmap >>= (_index + 1);                 \
+                       HANDLE_PTR (_objptr, (obj));            \
+                       ++_objptr;                              \
+               } while (_bmap);                                \
+       } while (0)
+#else
+#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
                /* there are pointers */        \
                void **_objptr = (void**)(obj); \
                gsize _bmap = (desc) >> LOW_TYPE_BITS;  \
                _objptr += OBJECT_HEADER_WORDS; \
-               while (_bmap) { \
+               do {    \
                        if ((_bmap & 1)) {      \
                                HANDLE_PTR (_objptr, (obj));    \
                        }       \
                        _bmap >>= 1;    \
                        ++_objptr;      \
-               }       \
+               } while (_bmap)         \
        } while (0)
+#endif
 
 #define OBJ_COMPLEX_FOREACH_PTR(vt,obj)        do {    \
                /* there are pointers */        \
index 3793c9435be4b084f443ac9633bbce498cc61c5f..686e0c6090920eeaf2af499b04a7bcacc5fa5475 100644 (file)
@@ -30,6 +30,7 @@
 #include "metadata/sgen-gc.h"
 #include "metadata/sgen-gray.h"
 #include "metadata/sgen-protocol.h"
+#include "metadata/sgen-pointer-queue.h"
 #include "utils/dtrace.h"
 #include "utils/mono-counters.h"
 
@@ -73,7 +74,7 @@ tagged_object_apply (void *object, int tag_bits)
 static int
 tagged_object_hash (MonoObject *o)
 {
-       return mono_object_hash (tagged_object_get_object (o));
+       return mono_aligned_addr_hash (tagged_object_get_object (o));
 }
 
 static gboolean
@@ -116,6 +117,9 @@ sgen_collect_bridge_objects (int generation, ScanCopyContext ctx)
        MonoObject *object;
        gpointer dummy;
        char *copy;
+       SgenPointerQueue moved_fin_objects;
+
+       sgen_pointer_queue_init (&moved_fin_objects, INTERNAL_MEM_TEMPORARY);
 
        if (no_finalize)
                return;
@@ -154,12 +158,24 @@ sgen_collect_bridge_objects (int generation, ScanCopyContext ctx)
                        SGEN_LOG (5, "Promoting finalization of object %p (%s) (was at %p) to major table", copy, sgen_safe_name (copy), object);
 
                        continue;
-               } else {
+               } else if (copy != (char*)object) {
                        /* update pointer */
+                       SGEN_HASH_TABLE_FOREACH_REMOVE (TRUE);
+
+                       /* register for reinsertion */
+                       sgen_pointer_queue_add (&moved_fin_objects, tagged_object_apply (copy, tag));
+
                        SGEN_LOG (5, "Updating object for finalization: %p (%s) (was at %p)", copy, sgen_safe_name (copy), object);
-                       SGEN_HASH_TABLE_FOREACH_SET_KEY (tagged_object_apply (copy, tag));
+
+                       continue;
                }
        } SGEN_HASH_TABLE_FOREACH_END;
+
+       while (!sgen_pointer_queue_is_empty (&moved_fin_objects)) {
+               sgen_hash_table_replace (hash_table, sgen_pointer_queue_pop (&moved_fin_objects), NULL, NULL);
+       }
+
+       sgen_pointer_queue_free (&moved_fin_objects);
 }
 
 
@@ -172,6 +188,9 @@ sgen_finalize_in_range (int generation, ScanCopyContext ctx)
        SgenHashTable *hash_table = get_finalize_entry_hash_table (generation);
        MonoObject *object;
        gpointer dummy;
+       SgenPointerQueue moved_fin_objects;
+
+       sgen_pointer_queue_init (&moved_fin_objects, INTERNAL_MEM_TEMPORARY);
 
        if (no_finalize)
                return;
@@ -201,14 +220,26 @@ sgen_finalize_in_range (int generation, ScanCopyContext ctx)
                                        SGEN_LOG (5, "Promoting finalization of object %p (%s) (was at %p) to major table", copy, sgen_safe_name (copy), object);
 
                                        continue;
-                               } else {
+                               } else if (copy != object) {
                                        /* update pointer */
+                                       SGEN_HASH_TABLE_FOREACH_REMOVE (TRUE);
+
+                                       /* register for reinsertion */
+                                       sgen_pointer_queue_add (&moved_fin_objects, tagged_object_apply (copy, tag));
+
                                        SGEN_LOG (5, "Updating object for finalization: %p (%s) (was at %p)", copy, sgen_safe_name (copy), object);
-                                       SGEN_HASH_TABLE_FOREACH_SET_KEY (tagged_object_apply (copy, tag));
+
+                                       continue;
                                }
                        }
                }
        } SGEN_HASH_TABLE_FOREACH_END;
+
+       while (!sgen_pointer_queue_is_empty (&moved_fin_objects)) {
+               sgen_hash_table_replace (hash_table, sgen_pointer_queue_pop (&moved_fin_objects), NULL, NULL);
+       }
+
+       sgen_pointer_queue_free (&moved_fin_objects);
 }
 
 /* LOCKING: requires that the GC lock is held */
@@ -391,12 +422,12 @@ process_stage_entries (int num_entries, volatile gint32 *next_entry, StageEntry
 }
 
 #ifdef HEAVY_STATISTICS
-static long long stat_overflow_abort = 0;
-static long long stat_wait_for_processing = 0;
-static long long stat_increment_other_thread = 0;
-static long long stat_index_decremented = 0;
-static long long stat_entry_invalidated = 0;
-static long long stat_success = 0;
+static guint64 stat_overflow_abort = 0;
+static guint64 stat_wait_for_processing = 0;
+static guint64 stat_increment_other_thread = 0;
+static guint64 stat_index_decremented = 0;
+static guint64 stat_entry_invalidated = 0;
+static guint64 stat_success = 0;
 #endif
 
 static int
@@ -874,12 +905,12 @@ void
 sgen_init_fin_weak_hash (void)
 {
 #ifdef HEAVY_STATISTICS
-       mono_counters_register ("FinWeak Successes", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_success);
-       mono_counters_register ("FinWeak Overflow aborts", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_overflow_abort);
-       mono_counters_register ("FinWeak Wait for processing", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_wait_for_processing);
-       mono_counters_register ("FinWeak Increment other thread", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_increment_other_thread);
-       mono_counters_register ("FinWeak Index decremented", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_index_decremented);
-       mono_counters_register ("FinWeak Entry invalidated", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_entry_invalidated);
+       mono_counters_register ("FinWeak Successes", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_success);
+       mono_counters_register ("FinWeak Overflow aborts", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_overflow_abort);
+       mono_counters_register ("FinWeak Wait for processing", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wait_for_processing);
+       mono_counters_register ("FinWeak Increment other thread", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_increment_other_thread);
+       mono_counters_register ("FinWeak Index decremented", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_index_decremented);
+       mono_counters_register ("FinWeak Entry invalidated", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_entry_invalidated);
 #endif
 }
 
index c9a0792c519290d57e2059c1927f663658f78109..897b11af57dea98f91d3643c275fb5399f25fd12 100644 (file)
@@ -293,23 +293,23 @@ static gboolean do_dump_nursery_content = FALSE;
 static gboolean enable_nursery_canaries = FALSE;
 
 #ifdef HEAVY_STATISTICS
-long long stat_objects_alloced_degraded = 0;
-long long stat_bytes_alloced_degraded = 0;
+guint64 stat_objects_alloced_degraded = 0;
+guint64 stat_bytes_alloced_degraded = 0;
 
-long long stat_copy_object_called_nursery = 0;
-long long stat_objects_copied_nursery = 0;
-long long stat_copy_object_called_major = 0;
-long long stat_objects_copied_major = 0;
+guint64 stat_copy_object_called_nursery = 0;
+guint64 stat_objects_copied_nursery = 0;
+guint64 stat_copy_object_called_major = 0;
+guint64 stat_objects_copied_major = 0;
 
-long long stat_scan_object_called_nursery = 0;
-long long stat_scan_object_called_major = 0;
+guint64 stat_scan_object_called_nursery = 0;
+guint64 stat_scan_object_called_major = 0;
 
-long long stat_slots_allocated_in_vain;
+guint64 stat_slots_allocated_in_vain;
 
-long long stat_nursery_copy_object_failed_from_space = 0;
-long long stat_nursery_copy_object_failed_forwarded = 0;
-long long stat_nursery_copy_object_failed_pinned = 0;
-long long stat_nursery_copy_object_failed_to_space = 0;
+guint64 stat_nursery_copy_object_failed_from_space = 0;
+guint64 stat_nursery_copy_object_failed_forwarded = 0;
+guint64 stat_nursery_copy_object_failed_pinned = 0;
+guint64 stat_nursery_copy_object_failed_to_space = 0;
 
 static int stat_wbarrier_add_to_global_remset = 0;
 static int stat_wbarrier_set_field = 0;
@@ -322,32 +322,32 @@ static int stat_wbarrier_value_copy = 0;
 static int stat_wbarrier_object_copy = 0;
 #endif
 
-static long long stat_pinned_objects = 0;
-
-static long long time_minor_pre_collection_fragment_clear = 0;
-static long long time_minor_pinning = 0;
-static long long time_minor_scan_remsets = 0;
-static long long time_minor_scan_pinned = 0;
-static long long time_minor_scan_registered_roots = 0;
-static long long time_minor_scan_thread_data = 0;
-static long long time_minor_finish_gray_stack = 0;
-static long long time_minor_fragment_creation = 0;
-
-static long long time_major_pre_collection_fragment_clear = 0;
-static long long time_major_pinning = 0;
-static long long time_major_scan_pinned = 0;
-static long long time_major_scan_registered_roots = 0;
-static long long time_major_scan_thread_data = 0;
-static long long time_major_scan_alloc_pinned = 0;
-static long long time_major_scan_finalized = 0;
-static long long time_major_scan_big_objects = 0;
-static long long time_major_finish_gray_stack = 0;
-static long long time_major_free_bigobjs = 0;
-static long long time_major_los_sweep = 0;
-static long long time_major_sweep = 0;
-static long long time_major_fragment_creation = 0;
-
-static long long time_max = 0;
+static guint64 stat_pinned_objects = 0;
+
+static guint64 time_minor_pre_collection_fragment_clear = 0;
+static guint64 time_minor_pinning = 0;
+static guint64 time_minor_scan_remsets = 0;
+static guint64 time_minor_scan_pinned = 0;
+static guint64 time_minor_scan_registered_roots = 0;
+static guint64 time_minor_scan_thread_data = 0;
+static guint64 time_minor_finish_gray_stack = 0;
+static guint64 time_minor_fragment_creation = 0;
+
+static guint64 time_major_pre_collection_fragment_clear = 0;
+static guint64 time_major_pinning = 0;
+static guint64 time_major_scan_pinned = 0;
+static guint64 time_major_scan_registered_roots = 0;
+static guint64 time_major_scan_thread_data = 0;
+static guint64 time_major_scan_alloc_pinned = 0;
+static guint64 time_major_scan_finalized = 0;
+static guint64 time_major_scan_big_objects = 0;
+static guint64 time_major_finish_gray_stack = 0;
+static guint64 time_major_free_bigobjs = 0;
+static guint64 time_major_los_sweep = 0;
+static guint64 time_major_sweep = 0;
+static guint64 time_major_fragment_creation = 0;
+
+static guint64 time_max = 0;
 
 static SGEN_TV_DECLARE (time_major_conc_collection_start);
 static SGEN_TV_DECLARE (time_major_conc_collection_end);
@@ -371,7 +371,6 @@ mono_gc_flush_info (void)
 #define TV_DECLARE SGEN_TV_DECLARE
 #define TV_GETTIME SGEN_TV_GETTIME
 #define TV_ELAPSED SGEN_TV_ELAPSED
-#define TV_ELAPSED_MS SGEN_TV_ELAPSED_MS
 
 SGEN_TV_DECLARE (sgen_init_timestamp);
 
@@ -382,7 +381,6 @@ NurseryClearPolicy nursery_clear_policy = CLEAR_AT_TLAB_CREATION;
 #define object_is_forwarded    SGEN_OBJECT_IS_FORWARDED
 #define object_is_pinned       SGEN_OBJECT_IS_PINNED
 #define pin_object             SGEN_PIN_OBJECT
-#define unpin_object           SGEN_UNPIN_OBJECT
 
 #define ptr_in_nursery sgen_ptr_in_nursery
 
@@ -425,14 +423,10 @@ size_t degraded_mode = 0;
 static mword bytes_pinned_from_failed_allocation = 0;
 
 GCMemSection *nursery_section = NULL;
-static mword lowest_heap_address = ~(mword)0;
-static mword highest_heap_address = 0;
+static volatile mword lowest_heap_address = ~(mword)0;
+static volatile mword highest_heap_address = 0;
 
 LOCK_DECLARE (sgen_interruption_mutex);
-static LOCK_DECLARE (pin_queue_mutex);
-
-#define LOCK_PIN_QUEUE mono_mutex_lock (&pin_queue_mutex)
-#define UNLOCK_PIN_QUEUE mono_mutex_unlock (&pin_queue_mutex)
 
 typedef struct _FinalizeReadyEntry FinalizeReadyEntry;
 struct _FinalizeReadyEntry {
@@ -520,7 +514,6 @@ guint32 tlab_size = (1024 * 4);
 static MonoGCCallbacks gc_callbacks;
 
 #define ALLOC_ALIGN            SGEN_ALLOC_ALIGN
-#define ALLOC_ALIGN_BITS       SGEN_ALLOC_ALIGN_BITS
 
 #define ALIGN_UP               SGEN_ALIGN_UP
 
@@ -601,7 +594,6 @@ gray_queue_redirect (SgenGrayQueue *queue)
 {
        gboolean wake = FALSE;
 
-
        for (;;) {
                GrayQueueSection *section = sgen_gray_object_dequeue_section (queue);
                if (!section)
@@ -613,7 +605,7 @@ gray_queue_redirect (SgenGrayQueue *queue)
        if (wake) {
                g_assert (concurrent_collection_in_progress);
                if (sgen_workers_have_started ()) {
-                       sgen_workers_wake_up_all ();
+                       sgen_workers_ensure_awake ();
                } else {
                        if (concurrent_collection_in_progress)
                                g_assert (current_collection_generation == -1);
@@ -621,6 +613,16 @@ gray_queue_redirect (SgenGrayQueue *queue)
        }
 }
 
+static void
+gray_queue_enable_redirect (SgenGrayQueue *queue)
+{
+       if (!concurrent_collection_in_progress)
+               return;
+
+       sgen_gray_queue_set_alloc_prepare (queue, gray_queue_redirect, sgen_workers_get_distribute_section_gray_queue ());
+       gray_queue_redirect (queue);
+}
+
 void
 sgen_scan_area_with_callback (char *start, char *end, IterateObjectCallbackFunc callback, void *data, gboolean allow_flags)
 {
@@ -820,6 +822,7 @@ mono_gc_clear_domain (MonoDomain * domain)
        sgen_restart_world (0, NULL);
 
        binary_protocol_domain_unload_end (domain);
+       binary_protocol_flush_buffers (FALSE);
 
        UNLOCK_GC;
 }
@@ -886,6 +889,9 @@ sgen_drain_gray_stack (int max_objs, ScanCopyContext ctx)
        ScanObjectFunc scan_func = ctx.scan_func;
        GrayQueue *queue = ctx.queue;
 
+       if (current_collection_generation == GENERATION_OLD && major_collector.drain_gray_stack)
+               return major_collector.drain_gray_stack (ctx);
+
        do {
                int i;
                for (i = 0; i != max_objs; ++i) {
@@ -1091,8 +1097,6 @@ pin_objects_in_nursery (ScanCopyContext ctx)
 void
 sgen_pin_object (void *object, GrayQueue *queue)
 {
-       g_assert (!concurrent_collection_in_progress);
-
        SGEN_PIN_OBJECT (object);
        sgen_pin_stage_ptr (object);
        ++objects_pinned;
@@ -1230,6 +1234,7 @@ conservatively_pin_objects_from (void **start, void **end, void *start_nursery,
                        if (addr >= (mword)start_nursery && addr < (mword)end_nursery) {
                                SGEN_LOG (6, "Pinning address %p from %p", (void*)addr, start);
                                sgen_pin_stage_ptr ((void*)addr);
+                               binary_protocol_pin_stage (start, (void*)addr);
                                count++;
                        }
                        if (G_UNLIKELY (do_pin_stats)) { 
@@ -1317,7 +1322,6 @@ precisely_scan_objects_from (void** start_root, void** end_root, char* n_start,
                        if ((desc & 1) && *start_root) {
                                copy_func (start_root, queue);
                                SGEN_LOG (9, "Overwrote root at %p with %p", start_root, *start_root);
-                               sgen_drain_gray_stack (-1, ctx);
                        }
                        desc >>= 1;
                        start_root++;
@@ -1335,7 +1339,6 @@ precisely_scan_objects_from (void** start_root, void** end_root, char* n_start,
                                if ((bmap & 1) && *objptr) {
                                        copy_func (objptr, queue);
                                        SGEN_LOG (9, "Overwrote root at %p with %p", objptr, *objptr);
-                                       sgen_drain_gray_stack (-1, ctx);
                                }
                                bmap >>= 1;
                                ++objptr;
@@ -1928,32 +1931,32 @@ init_stats (void)
        if (inited)
                return;
 
-       mono_counters_register ("Collection max time",  MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME | MONO_COUNTER_MONOTONIC, &time_max);
-
-       mono_counters_register ("Minor fragment clear", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_pre_collection_fragment_clear);
-       mono_counters_register ("Minor pinning", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_pinning);
-       mono_counters_register ("Minor scan remembered set", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_scan_remsets);
-       mono_counters_register ("Minor scan pinned", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_scan_pinned);
-       mono_counters_register ("Minor scan registered roots", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_scan_registered_roots);
-       mono_counters_register ("Minor scan thread data", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_scan_thread_data);
-       mono_counters_register ("Minor finish gray stack", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_finish_gray_stack);
-       mono_counters_register ("Minor fragment creation", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_minor_fragment_creation);
-
-       mono_counters_register ("Major fragment clear", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_pre_collection_fragment_clear);
-       mono_counters_register ("Major pinning", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_pinning);
-       mono_counters_register ("Major scan pinned", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_pinned);
-       mono_counters_register ("Major scan registered roots", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_registered_roots);
-       mono_counters_register ("Major scan thread data", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_thread_data);
-       mono_counters_register ("Major scan alloc_pinned", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_alloc_pinned);
-       mono_counters_register ("Major scan finalized", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_finalized);
-       mono_counters_register ("Major scan big objects", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_scan_big_objects);
-       mono_counters_register ("Major finish gray stack", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_finish_gray_stack);
-       mono_counters_register ("Major free big objects", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_free_bigobjs);
-       mono_counters_register ("Major LOS sweep", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_los_sweep);
-       mono_counters_register ("Major sweep", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_sweep);
-       mono_counters_register ("Major fragment creation", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_major_fragment_creation);
-
-       mono_counters_register ("Number of pinned objects", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_pinned_objects);
+       mono_counters_register ("Collection max time",  MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME | MONO_COUNTER_MONOTONIC, &time_max);
+
+       mono_counters_register ("Minor fragment clear", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_pre_collection_fragment_clear);
+       mono_counters_register ("Minor pinning", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_pinning);
+       mono_counters_register ("Minor scan remembered set", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_scan_remsets);
+       mono_counters_register ("Minor scan pinned", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_scan_pinned);
+       mono_counters_register ("Minor scan registered roots", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_scan_registered_roots);
+       mono_counters_register ("Minor scan thread data", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_scan_thread_data);
+       mono_counters_register ("Minor finish gray stack", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_finish_gray_stack);
+       mono_counters_register ("Minor fragment creation", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_minor_fragment_creation);
+
+       mono_counters_register ("Major fragment clear", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_pre_collection_fragment_clear);
+       mono_counters_register ("Major pinning", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_pinning);
+       mono_counters_register ("Major scan pinned", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_pinned);
+       mono_counters_register ("Major scan registered roots", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_registered_roots);
+       mono_counters_register ("Major scan thread data", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_thread_data);
+       mono_counters_register ("Major scan alloc_pinned", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_alloc_pinned);
+       mono_counters_register ("Major scan finalized", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_finalized);
+       mono_counters_register ("Major scan big objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_scan_big_objects);
+       mono_counters_register ("Major finish gray stack", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_finish_gray_stack);
+       mono_counters_register ("Major free big objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_free_bigobjs);
+       mono_counters_register ("Major LOS sweep", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_los_sweep);
+       mono_counters_register ("Major sweep", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_sweep);
+       mono_counters_register ("Major fragment creation", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_major_fragment_creation);
+
+       mono_counters_register ("Number of pinned objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_pinned_objects);
 
 #ifdef HEAVY_STATISTICS
        mono_counters_register ("WBarrier remember pointer", MONO_COUNTER_GC | MONO_COUNTER_INT, &stat_wbarrier_add_to_global_remset);
@@ -1966,23 +1969,23 @@ init_stats (void)
        mono_counters_register ("WBarrier value copy", MONO_COUNTER_GC | MONO_COUNTER_INT, &stat_wbarrier_value_copy);
        mono_counters_register ("WBarrier object copy", MONO_COUNTER_GC | MONO_COUNTER_INT, &stat_wbarrier_object_copy);
 
-       mono_counters_register ("# objects allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_objects_alloced_degraded);
-       mono_counters_register ("bytes allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_bytes_alloced_degraded);
+       mono_counters_register ("# objects allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_objects_alloced_degraded);
+       mono_counters_register ("bytes allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_bytes_alloced_degraded);
 
-       mono_counters_register ("# copy_object() called (nursery)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_copy_object_called_nursery);
-       mono_counters_register ("# objects copied (nursery)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_objects_copied_nursery);
-       mono_counters_register ("# copy_object() called (major)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_copy_object_called_major);
-       mono_counters_register ("# objects copied (major)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_objects_copied_major);
+       mono_counters_register ("# copy_object() called (nursery)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copy_object_called_nursery);
+       mono_counters_register ("# objects copied (nursery)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_objects_copied_nursery);
+       mono_counters_register ("# copy_object() called (major)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_copy_object_called_major);
+       mono_counters_register ("# objects copied (major)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_objects_copied_major);
 
-       mono_counters_register ("# scan_object() called (nursery)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scan_object_called_nursery);
-       mono_counters_register ("# scan_object() called (major)", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_scan_object_called_major);
+       mono_counters_register ("# scan_object() called (nursery)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scan_object_called_nursery);
+       mono_counters_register ("# scan_object() called (major)", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_scan_object_called_major);
 
-       mono_counters_register ("Slots allocated in vain", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_slots_allocated_in_vain);
+       mono_counters_register ("Slots allocated in vain", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_slots_allocated_in_vain);
 
-       mono_counters_register ("# nursery copy_object() failed from space", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_nursery_copy_object_failed_from_space);
-       mono_counters_register ("# nursery copy_object() failed forwarded", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_nursery_copy_object_failed_forwarded);
-       mono_counters_register ("# nursery copy_object() failed pinned", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_nursery_copy_object_failed_pinned);
-       mono_counters_register ("# nursery copy_object() failed to space", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_nursery_copy_object_failed_to_space);
+       mono_counters_register ("# nursery copy_object() failed from space", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_nursery_copy_object_failed_from_space);
+       mono_counters_register ("# nursery copy_object() failed forwarded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_nursery_copy_object_failed_forwarded);
+       mono_counters_register ("# nursery copy_object() failed pinned", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_nursery_copy_object_failed_pinned);
+       mono_counters_register ("# nursery copy_object() failed to space", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_nursery_copy_object_failed_to_space);
 
        sgen_nursery_allocator_init_heavy_stats ();
        sgen_alloc_init_heavy_stats ();
@@ -2192,18 +2195,15 @@ check_nursery_is_clean (void)
 static void
 init_gray_queue (void)
 {
-       if (sgen_collection_is_concurrent ()) {
+       if (sgen_collection_is_concurrent ())
                sgen_workers_init_distribute_gray_queue ();
-               sgen_gray_object_queue_init_with_alloc_prepare (&gray_queue, NULL,
-                               gray_queue_redirect, sgen_workers_get_distribute_section_gray_queue ());
-       } else {
-               sgen_gray_object_queue_init (&gray_queue, NULL);
-       }
+       sgen_gray_object_queue_init (&gray_queue, NULL);
 }
 
 /*
- * Collect objects in the nursery.  Returns whether to trigger a major
- * collection.
+ * Perform a nursery collection.
+ *
+ * Return whether any objects were late-pinned due to being out of memory.
  */
 static gboolean
 collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
@@ -2272,6 +2272,13 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
 
        gc_stats.minor_gc_count ++;
 
+       if (whole_heap_check_before_collection) {
+               sgen_clear_nursery_fragments ();
+               sgen_check_whole_heap (finish_up_concurrent_mark);
+       }
+       if (consistency_check_at_minor_collection)
+               sgen_check_consistency ();
+
        MONO_GC_CHECKPOINT_1 (GENERATION_NURSERY);
 
        sgen_process_fin_stage_entries ();
@@ -2301,16 +2308,6 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
 
        MONO_GC_CHECKPOINT_3 (GENERATION_NURSERY);
 
-       if (whole_heap_check_before_collection) {
-               sgen_clear_nursery_fragments ();
-               sgen_check_whole_heap (finish_up_concurrent_mark);
-       }
-       if (consistency_check_at_minor_collection)
-               sgen_check_consistency ();
-
-       sgen_workers_start_all_workers ();
-       sgen_workers_start_marking ();
-
        frssjd = sgen_alloc_internal_dynamic (sizeof (FinishRememberedSetScanJobData), INTERNAL_MEM_WORKER_JOB_DATA, TRUE);
        frssjd->heap_start = sgen_get_nursery_start ();
        frssjd->heap_end = nursery_next;
@@ -2454,7 +2451,7 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
        objects_pinned = 0;
 
        MONO_GC_END (GENERATION_NURSERY);
-       binary_protocol_collection_end (gc_stats.minor_gc_count - 1, GENERATION_NURSERY);
+       binary_protocol_collection_end (gc_stats.minor_gc_count - 1, GENERATION_NURSERY, 0, 0);
 
        if (check_nursery_objects_pinned && !sgen_minor_collector.is_split)
                sgen_check_nursery_objects_pinned (unpin_queue != NULL);
@@ -2480,7 +2477,7 @@ scan_nursery_objects (ScanCopyContext ctx)
 }
 
 static void
-major_copy_or_mark_from_roots (size_t *old_next_pin_slot, gboolean finish_up_concurrent_mark, gboolean scan_mod_union)
+major_copy_or_mark_from_roots (size_t *old_next_pin_slot, gboolean start_concurrent_mark, gboolean finish_up_concurrent_mark, gboolean scan_mod_union, gboolean scan_whole_nursery)
 {
        LOSObject *bigobj;
        TV_DECLARE (atv);
@@ -2565,17 +2562,6 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, gboolean finish_up_con
 
        sgen_optimize_pin_queue ();
 
-       /*
-        * The concurrent collector doesn't move objects, neither on
-        * the major heap nor in the nursery, so we can mark even
-        * before pinning has finished.  For the non-concurrent
-        * collector we start the workers after pinning.
-        */
-       if (concurrent_collection_in_progress) {
-               sgen_workers_start_all_workers ();
-               sgen_workers_start_marking ();
-       }
-
        /*
         * pin_queue now contains all candidate pointers, sorted and
         * uniqued.  We must do two passes now to figure out which
@@ -2629,26 +2615,32 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, gboolean finish_up_con
        ctx.queue = WORKERS_DISTRIBUTE_GRAY_QUEUE;
 
        /*
-        * Concurrent mark never follows references into the nursery.
-        * In the start and finish pauses we must scan live nursery
-        * objects, though.  We could simply scan all nursery objects,
-        * but that would be conservative.  The easiest way is to do a
-        * nursery collection, which copies all live nursery objects
-        * (except pinned ones, with the simple nursery) to the major
-        * heap.  Scanning the mod union table later will then scan
-        * those promoted objects, provided they're reachable.  Pinned
-        * objects in the nursery - which we can trivially find in the
-        * pinning queue - are treated as roots in the mark pauses.
+        * Concurrent mark never follows references into the nursery.  In the start and
+        * finish pauses we must scan live nursery objects, though.
+        *
+        * In the finish pause we do this conservatively by scanning all nursery objects.
+        * Previously we would only scan pinned objects here.  We assumed that all objects
+        * that were pinned during the nursery collection immediately preceding this finish
+        * mark would be pinned again here.  Due to the way we get the stack end for the GC
+        * thread, however, that's not necessarily the case: we scan part of the stack used
+        * by the GC itself, which changes constantly, so pinning isn't entirely
+        * deterministic.
+        *
+        * The split nursery also complicates things because non-pinned objects can survive
+        * in the nursery.  That's why we need to do a full scan of the nursery for it, too.
+        *
+        * In the future we shouldn't do a preceding nursery collection at all and instead
+        * do the finish pause with promotion from the nursery.
         *
-        * The split nursery complicates the latter part because
-        * non-pinned objects can survive in the nursery.  That's why
-        * we need to do a full front-to-back scan of the nursery,
-        * marking all objects.
+        * A further complication arises when we have late-pinned objects from the preceding
+        * nursery collection.  Those are the result of being out of memory when trying to
+        * evacuate objects.  They won't be found from the roots, so we just scan the whole
+        * nursery.
         *
         * Non-concurrent mark evacuates from the nursery, so it's
         * sufficient to just scan pinned nursery objects.
         */
-       if (concurrent_collection_in_progress && sgen_minor_collector.is_split) {
+       if (scan_whole_nursery || finish_up_concurrent_mark || (concurrent_collection_in_progress && sgen_minor_collector.is_split)) {
                scan_nursery_objects (ctx);
        } else {
                pin_objects_in_nursery (ctx);
@@ -2667,6 +2659,17 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, gboolean finish_up_con
 
        major_collector.init_to_space ();
 
+       /*
+        * The concurrent collector doesn't move objects, neither on
+        * the major heap nor in the nursery, so we can mark even
+        * before pinning has finished.  For the non-concurrent
+        * collector we start the workers after pinning.
+        */
+       if (start_concurrent_mark) {
+               sgen_workers_start_all_workers ();
+               gray_queue_enable_redirect (WORKERS_DISTRIBUTE_GRAY_QUEUE);
+       }
+
 #ifdef SGEN_DEBUG_INTERNAL_ALLOC
        main_gc_thread = mono_native_thread_self ();
 #endif
@@ -2781,7 +2784,7 @@ major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
        if (major_collector.start_major_collection)
                major_collector.start_major_collection ();
 
-       major_copy_or_mark_from_roots (old_next_pin_slot, FALSE, FALSE);
+       major_copy_or_mark_from_roots (old_next_pin_slot, concurrent, FALSE, FALSE, FALSE);
 }
 
 static void
@@ -2792,43 +2795,37 @@ wait_for_workers_to_finish (void)
 }
 
 static void
-join_workers (void)
-{
-       if (concurrent_collection_in_progress) {
-               gray_queue_redirect (&gray_queue);
-               sgen_workers_join ();
-       }
-
-       g_assert (sgen_gray_object_queue_is_empty (&gray_queue));
-
-#ifdef SGEN_DEBUG_INTERNAL_ALLOC
-       main_gc_thread = NULL;
-#endif
-}
-
-static void
-major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean scan_mod_union)
+major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean scan_mod_union, gboolean scan_whole_nursery)
 {
+       ScannedObjectCounts counts;
        LOSObject *bigobj, *prevbo;
        TV_DECLARE (atv);
        TV_DECLARE (btv);
 
        TV_GETTIME (btv);
 
-       if (concurrent_collection_in_progress)
-               join_workers ();
-
        if (concurrent_collection_in_progress) {
+               sgen_workers_signal_start_nursery_collection_and_wait ();
+
                current_object_ops = major_collector.major_concurrent_ops;
 
-               major_copy_or_mark_from_roots (NULL, TRUE, scan_mod_union);
-               join_workers ();
+               major_copy_or_mark_from_roots (NULL, FALSE, TRUE, scan_mod_union, scan_whole_nursery);
+
+               sgen_workers_signal_finish_nursery_collection ();
+               gray_queue_enable_redirect (WORKERS_DISTRIBUTE_GRAY_QUEUE);
 
-               g_assert (sgen_gray_object_queue_is_empty (&gray_queue));
+               sgen_workers_join ();
+
+               SGEN_ASSERT (0, sgen_gray_object_queue_is_empty (&gray_queue), "Why is the gray queue not empty after workers have finished working?");
+
+#ifdef SGEN_DEBUG_INTERNAL_ALLOC
+               main_gc_thread = NULL;
+#endif
 
                if (do_concurrent_checks)
                        check_nursery_is_clean ();
        } else {
+               SGEN_ASSERT (0, !scan_whole_nursery, "scan_whole_nursery only applies to concurrent collections");
                current_object_ops = major_collector.major_ops;
        }
 
@@ -2845,6 +2842,8 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        TV_GETTIME (atv);
        time_major_finish_gray_stack += TV_ELAPSED (btv, atv);
 
+       SGEN_ASSERT (0, sgen_workers_all_done (), "Can't have workers working after joining");
+
        /*
         * The (single-threaded) finalization code might have done
         * some copying/marking so we can only reset the GC thread's
@@ -2878,8 +2877,33 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        reset_heap_boundaries ();
        sgen_update_heap_boundaries ((mword)sgen_get_nursery_start (), (mword)sgen_get_nursery_end ());
 
+       if (!concurrent_collection_in_progress) {
+               /* walk the pin_queue, build up the fragment list of free memory, unmark
+                * pinned objects as we go, memzero() the empty fragments so they are ready for the
+                * next allocations.
+                */
+               if (!sgen_build_nursery_fragments (nursery_section, NULL))
+                       degraded_mode = 1;
+
+               /* prepare the pin queue for the next collection */
+               sgen_finish_pinning ();
+
+               /* Clear TLABs for all threads */
+               sgen_clear_tlabs ();
+
+               sgen_pin_stats_reset ();
+       }
+
+       if (concurrent_collection_in_progress)
+               sgen_cement_concurrent_finish ();
+       sgen_cement_clear_below_threshold ();
+
        if (check_mark_bits_after_major_collection)
-               sgen_check_major_heap_marked ();
+               sgen_check_heap_marked (concurrent_collection_in_progress);
+
+       TV_GETTIME (btv);
+       time_major_fragment_creation += TV_ELAPSED (atv, btv);
+
 
        MONO_GC_SWEEP_BEGIN (GENERATION_OLD, !major_collector.sweeps_lazily);
 
@@ -2906,44 +2930,20 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
                bigobj = bigobj->next;
        }
 
-       TV_GETTIME (btv);
-       time_major_free_bigobjs += TV_ELAPSED (atv, btv);
+       TV_GETTIME (atv);
+       time_major_free_bigobjs += TV_ELAPSED (btv, atv);
 
        sgen_los_sweep ();
 
-       TV_GETTIME (atv);
-       time_major_los_sweep += TV_ELAPSED (btv, atv);
+       TV_GETTIME (btv);
+       time_major_los_sweep += TV_ELAPSED (atv, btv);
 
        major_collector.sweep ();
 
        MONO_GC_SWEEP_END (GENERATION_OLD, !major_collector.sweeps_lazily);
 
-       TV_GETTIME (btv);
-       time_major_sweep += TV_ELAPSED (atv, btv);
-
-       if (!concurrent_collection_in_progress) {
-               /* walk the pin_queue, build up the fragment list of free memory, unmark
-                * pinned objects as we go, memzero() the empty fragments so they are ready for the
-                * next allocations.
-                */
-               if (!sgen_build_nursery_fragments (nursery_section, NULL))
-                       degraded_mode = 1;
-
-               /* prepare the pin queue for the next collection */
-               sgen_finish_pinning ();
-
-               /* Clear TLABs for all threads */
-               sgen_clear_tlabs ();
-
-               sgen_pin_stats_reset ();
-       }
-
-       if (concurrent_collection_in_progress)
-               sgen_cement_concurrent_finish ();
-       sgen_cement_clear_below_threshold ();
-
        TV_GETTIME (atv);
-       time_major_fragment_creation += TV_ELAPSED (btv, atv);
+       time_major_sweep += TV_ELAPSED (btv, atv);
 
        if (heap_dump_file)
                dump_heap ("major", gc_stats.major_gc_count - 1, reason);
@@ -2958,10 +2958,12 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        sgen_memgov_major_collection_end ();
        current_collection_generation = -1;
 
-       major_collector.finish_major_collection ();
+       memset (&counts, 0, sizeof (ScannedObjectCounts));
+       major_collector.finish_major_collection (&counts);
 
        g_assert (sgen_section_gray_queue_is_empty (sgen_workers_get_distribute_section_gray_queue ()));
 
+       SGEN_ASSERT (0, sgen_workers_all_done (), "Can't have workers working after major collection has finished");
        if (concurrent_collection_in_progress)
                concurrent_collection_in_progress = FALSE;
 
@@ -2972,7 +2974,7 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        //consistency_check ();
 
        MONO_GC_END (GENERATION_OLD);
-       binary_protocol_collection_end (gc_stats.major_gc_count - 1, GENERATION_OLD);
+       binary_protocol_collection_end (gc_stats.major_gc_count - 1, GENERATION_OLD, counts.num_scanned_objects, counts.num_unique_scanned_objects);
 }
 
 static gboolean
@@ -2994,7 +2996,7 @@ major_do_collection (const char *reason)
        TV_GETTIME (time_start);
 
        major_start_collection (FALSE, &old_next_pin_slot);
-       major_finish_collection (reason, old_next_pin_slot, FALSE);
+       major_finish_collection (reason, old_next_pin_slot, FALSE, FALSE);
 
        TV_GETTIME (time_end);
        gc_stats.major_gc_time += TV_ELAPSED (time_start, time_end);
@@ -3029,7 +3031,7 @@ major_start_concurrent_collection (const char *reason)
        major_start_collection (TRUE, NULL);
 
        gray_queue_redirect (&gray_queue);
-       sgen_workers_wait_for_jobs ();
+       sgen_workers_wait_for_jobs_finished ();
 
        num_objects_marked = major_collector.get_and_reset_num_major_objects_marked ();
        MONO_GC_CONCURRENT_START_END (GENERATION_OLD, num_objects_marked);
@@ -3040,32 +3042,49 @@ major_start_concurrent_collection (const char *reason)
        current_collection_generation = -1;
 }
 
+/*
+ * Returns whether the major collection has finished.
+ */
 static gboolean
-major_update_or_finish_concurrent_collection (gboolean force_finish)
+major_should_finish_concurrent_collection (void)
+{
+       SGEN_ASSERT (0, sgen_gray_object_queue_is_empty (&gray_queue), "Why is the gray queue not empty before we have started doing anything?");
+       return sgen_workers_all_done ();
+}
+
+static void
+major_update_concurrent_collection (void)
 {
        TV_DECLARE (total_start);
        TV_DECLARE (total_end);
-       SgenGrayQueue unpin_queue;
-       memset (&unpin_queue, 0, sizeof (unpin_queue));
 
        TV_GETTIME (total_start);
 
        MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN (GENERATION_OLD, major_collector.get_and_reset_num_major_objects_marked ());
-       binary_protocol_concurrent_update_finish ();
+       binary_protocol_concurrent_update ();
 
-       g_assert (sgen_gray_object_queue_is_empty (&gray_queue));
+       major_collector.update_cardtable_mod_union ();
+       sgen_los_update_cardtable_mod_union ();
 
-       if (!force_finish && !sgen_workers_all_done ()) {
-               major_collector.update_cardtable_mod_union ();
-               sgen_los_update_cardtable_mod_union ();
+       MONO_GC_CONCURRENT_UPDATE_END (GENERATION_OLD, major_collector.get_and_reset_num_major_objects_marked ());
 
-               MONO_GC_CONCURRENT_UPDATE_END (GENERATION_OLD, major_collector.get_and_reset_num_major_objects_marked ());
+       TV_GETTIME (total_end);
+       gc_stats.major_gc_time += TV_ELAPSED (total_start, total_end);
+}
 
-               TV_GETTIME (total_end);
-               gc_stats.major_gc_time += TV_ELAPSED (total_start, total_end);
+static void
+major_finish_concurrent_collection (void)
+{
+       TV_DECLARE (total_start);
+       TV_DECLARE (total_end);
+       gboolean late_pinned;
+       SgenGrayQueue unpin_queue;
+       memset (&unpin_queue, 0, sizeof (unpin_queue));
 
-               return FALSE;
-       }
+       TV_GETTIME (total_start);
+
+       MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN (GENERATION_OLD, major_collector.get_and_reset_num_major_objects_marked ());
+       binary_protocol_concurrent_finish ();
 
        /*
         * The major collector can add global remsets which are processed in the finishing
@@ -3081,13 +3100,13 @@ major_update_or_finish_concurrent_collection (gboolean force_finish)
        major_collector.update_cardtable_mod_union ();
        sgen_los_update_cardtable_mod_union ();
 
-       collect_nursery (&unpin_queue, TRUE);
+       late_pinned = collect_nursery (&unpin_queue, TRUE);
 
        if (mod_union_consistency_check)
                sgen_check_mod_union_consistency ();
 
        current_collection_generation = GENERATION_OLD;
-       major_finish_collection ("finishing", -1, TRUE);
+       major_finish_collection ("finishing", -1, TRUE, late_pinned);
 
        if (whole_heap_check_before_collection)
                sgen_check_whole_heap (FALSE);
@@ -3101,8 +3120,6 @@ major_update_or_finish_concurrent_collection (gboolean force_finish)
        gc_stats.major_gc_time += TV_ELAPSED (total_start, total_end) - TV_ELAPSED (last_minor_collection_start_tv, last_minor_collection_end_tv);
 
        current_collection_generation = -1;
-
-       return TRUE;
 }
 
 /*
@@ -3155,6 +3172,7 @@ sgen_ensure_free_space (size_t size)
 void
 sgen_perform_collection (size_t requested_size, int generation_to_collect, const char *reason, gboolean wait_to_finish)
 {
+       TV_DECLARE (gc_start);
        TV_DECLARE (gc_end);
        TV_DECLARE (gc_total_start);
        TV_DECLARE (gc_total_end);
@@ -3167,67 +3185,94 @@ sgen_perform_collection (size_t requested_size, int generation_to_collect, const
        if (wait_to_finish)
                binary_protocol_collection_force (generation_to_collect);
 
-       g_assert (generation_to_collect == GENERATION_NURSERY || generation_to_collect == GENERATION_OLD);
+       SGEN_ASSERT (0, generation_to_collect == GENERATION_NURSERY || generation_to_collect == GENERATION_OLD, "What generation is this?");
 
-       memset (infos, 0, sizeof (infos));
        mono_profiler_gc_event (MONO_GC_EVENT_START, generation_to_collect);
 
-       infos [0].generation = generation_to_collect;
-       infos [0].reason = reason;
-       infos [0].is_overflow = FALSE;
-       TV_GETTIME (infos [0].total_time);
-       infos [1].generation = -1;
+       TV_GETTIME (gc_start);
 
        sgen_stop_world (generation_to_collect);
 
        TV_GETTIME (gc_total_start);
 
        if (concurrent_collection_in_progress) {
-               if (major_update_or_finish_concurrent_collection (wait_to_finish && generation_to_collect == GENERATION_OLD)) {
+               /*
+                * We update the concurrent collection.  If it finished, we're done.  If
+                * not, and we've been asked to do a nursery collection, we do that.
+                */
+               gboolean finish = major_should_finish_concurrent_collection () || (wait_to_finish && generation_to_collect == GENERATION_OLD);
+
+               if (finish) {
+                       major_finish_concurrent_collection ();
                        oldest_generation_collected = GENERATION_OLD;
-                       goto done;
-               }
-               if (generation_to_collect == GENERATION_OLD)
-                       goto done;
-       } else {
-               if (generation_to_collect == GENERATION_OLD &&
-                               allow_synchronous_major &&
-                               major_collector.want_synchronous_collection &&
-                               *major_collector.want_synchronous_collection) {
-                       wait_to_finish = TRUE;
+               } else {
+                       sgen_workers_signal_start_nursery_collection_and_wait ();
+
+                       major_update_concurrent_collection ();
+                       if (generation_to_collect == GENERATION_NURSERY)
+                               collect_nursery (NULL, FALSE);
+
+                       sgen_workers_signal_finish_nursery_collection ();
                }
+
+               goto done;
+       }
+
+       /*
+        * If we've been asked to do a major collection, and the major collector wants to
+        * run synchronously (to evacuate), we set the flag to do that.
+        */
+       if (generation_to_collect == GENERATION_OLD &&
+                       allow_synchronous_major &&
+                       major_collector.want_synchronous_collection &&
+                       *major_collector.want_synchronous_collection) {
+               wait_to_finish = TRUE;
        }
 
-       //FIXME extract overflow reason
+       SGEN_ASSERT (0, !concurrent_collection_in_progress, "Why did this not get handled above?");
+
+       /*
+        * There's no concurrent collection in progress.  Collect the generation we're asked
+        * to collect.  If the major collector is concurrent and we're not forced to wait,
+        * start a concurrent collection.
+        */
+       // FIXME: extract overflow reason
        if (generation_to_collect == GENERATION_NURSERY) {
                if (collect_nursery (NULL, FALSE)) {
                        overflow_generation_to_collect = GENERATION_OLD;
                        overflow_reason = "Minor overflow";
                }
        } else {
-               if (major_collector.is_concurrent) {
-                       g_assert (!concurrent_collection_in_progress);
-                       if (!wait_to_finish)
-                               collect_nursery (NULL, FALSE);
-               }
-
                if (major_collector.is_concurrent && !wait_to_finish) {
+                       collect_nursery (NULL, FALSE);
                        major_start_concurrent_collection (reason);
                        // FIXME: set infos[0] properly
                        goto done;
-               } else {
-                       if (major_do_collection (reason)) {
-                               overflow_generation_to_collect = GENERATION_NURSERY;
-                               overflow_reason = "Excessive pinning";
-                       }
+               }
+
+               if (major_do_collection (reason)) {
+                       overflow_generation_to_collect = GENERATION_NURSERY;
+                       overflow_reason = "Excessive pinning";
                }
        }
 
        TV_GETTIME (gc_end);
-       infos [0].total_time = SGEN_TV_ELAPSED (infos [0].total_time, gc_end);
 
+       memset (infos, 0, sizeof (infos));
+       infos [0].generation = generation_to_collect;
+       infos [0].reason = reason;
+       infos [0].is_overflow = FALSE;
+       infos [1].generation = -1;
+       infos [0].total_time = SGEN_TV_ELAPSED (gc_start, gc_end);
+
+       SGEN_ASSERT (0, !concurrent_collection_in_progress, "Why did this not get handled above?");
+
+       if (overflow_generation_to_collect != -1) {
+               /*
+                * We need to do an overflow collection, either because we ran out of memory
+                * or the nursery is fully pinned.
+                */
 
-       if (!major_collector.is_concurrent && overflow_generation_to_collect != -1) {
                mono_profiler_gc_event (MONO_GC_EVENT_START, overflow_generation_to_collect);
                infos [1].generation = overflow_generation_to_collect;
                infos [1].reason = overflow_reason;
@@ -4132,7 +4177,7 @@ void
 mono_gc_wbarrier_generic_store (gpointer ptr, MonoObject* value)
 {
        SGEN_LOG (8, "Wbarrier store at %p to %p (%s)", ptr, value, value ? safe_name (value) : "null");
-       *(void**)ptr = value;
+       SGEN_UPDATE_REFERENCE_ALLOW_NULL (ptr, value);
        if (ptr_in_nursery (value))
                mono_gc_wbarrier_generic_nostore (ptr);
        sgen_dummy_use (value);
@@ -4165,7 +4210,7 @@ void mono_gc_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size
                if (bitmap & 0x1)
                        mono_gc_wbarrier_generic_store (dest, (MonoObject*)*src);
                else
-                       *dest = *src;
+                       SGEN_UPDATE_REFERENCE_ALLOW_NULL (dest, *src);
                ++src;
                ++dest;
                size -= SIZEOF_VOID_P;
@@ -4585,6 +4630,8 @@ mono_gc_base_init (void)
        gboolean have_split_nursery = FALSE;
        gboolean cement_enabled = TRUE;
 
+       mono_counters_init ();
+
        do {
                result = InterlockedCompareExchange (&gc_initialized, -1, 0);
                switch (result) {
@@ -4623,7 +4670,6 @@ mono_gc_base_init (void)
        mono_threads_init (&cb, sizeof (SgenThreadInfo));
 
        LOCK_INIT (sgen_interruption_mutex);
-       LOCK_INIT (pin_queue_mutex);
 
        if ((env = g_getenv (MONO_GC_PARAMS_NAME))) {
                opts = g_strsplit (env, ",", -1);
@@ -5038,6 +5084,9 @@ mono_gc_base_init (void)
                g_strfreev (opts);
        }
 
+       if (check_mark_bits_after_major_collection)
+               nursery_clear_policy = CLEAR_AT_GC;
+
        if (major_collector.post_param_init)
                major_collector.post_param_init (&major_collector);
 
index 0fa761304114da3fa34dfc4cd29ad74856d0b45c..0e328097c7f1ed7ddc278278d9013f66bff51d0c 100644 (file)
@@ -67,7 +67,6 @@ NurseryClearPolicy sgen_get_nursery_clear_policy (void) MONO_INTERNAL;
 #define SGEN_TV_DECLARE(name) gint64 name
 #define SGEN_TV_GETTIME(tv) tv = mono_100ns_ticks ()
 #define SGEN_TV_ELAPSED(start,end) (int)((end-start))
-#define SGEN_TV_ELAPSED_MS(start,end) ((SGEN_TV_ELAPSED((start),(end)) + 5000) / 10000)
 
 #if !defined(__MACH__) && !MONO_MACH_ARCH_SUPPORTED && defined(HAVE_PTHREAD_KILL)
 #define SGEN_POSIX_STW 1
@@ -160,7 +159,6 @@ struct _GCMemSection {
                mono_mutex_lock (&gc_mutex);                    \
                MONO_GC_LOCKED ();                              \
        } while (0)
-#define TRYLOCK_GC (mono_mutex_trylock (&gc_mutex) == 0)
 #define UNLOCK_GC do { sgen_gc_unlock (); } while (0)
 
 extern LOCK_DECLARE (sgen_interruption_mutex);
@@ -190,10 +188,10 @@ extern LOCK_DECLARE (sgen_interruption_mutex);
 #endif
 
 #ifdef HEAVY_STATISTICS
-extern long long stat_objects_alloced_degraded;
-extern long long stat_bytes_alloced_degraded;
-extern long long stat_copy_object_called_major;
-extern long long stat_objects_copied_major;
+extern guint64 stat_objects_alloced_degraded;
+extern guint64 stat_bytes_alloced_degraded;
+extern guint64 stat_copy_object_called_major;
+extern guint64 stat_objects_copied_major;
 #endif
 
 #define SGEN_ASSERT(level, a, ...) do {        \
@@ -213,11 +211,6 @@ extern long long stat_objects_copied_major;
                        mono_gc_printf (gc_debug_file, format, ##__VA_ARGS__);  \
 } } while (0)
 
-#define SGEN_LOG_DO(level, fun) do {   \
-       if (G_UNLIKELY ((level) <= SGEN_MAX_DEBUG_LEVEL && (level) <= gc_debug_level)) {        \
-               fun;    \
-} } while (0)
-
 extern int gc_debug_level;
 extern FILE* gc_debug_file;
 
@@ -310,27 +303,37 @@ typedef struct {
        mword desc;
 } GCVTable;
 
-/* these bits are set in the object vtable: we could merge them since an object can be
- * either pinned or forwarded but not both.
- * We store them in the vtable slot because the bits are used in the sync block for
- * other purposes: if we merge them and alloc the sync blocks aligned to 8 bytes, we can change
+/*
+ * We use the lowest three bits in the vtable pointer of objects to tag whether they're
+ * forwarded, pinned, and/or cemented.  These are the valid states:
+ *
+ * | State            | bits |
+ * |------------------+------+
+ * | default          |  000 |
+ * | forwarded        |  001 |
+ * | pinned           |  010 |
+ * | pinned, cemented |  110 |
+ *
+ * We store them in the vtable slot because the bits are used in the sync block for other
+ * purposes: if we merge them and alloc the sync blocks aligned to 8 bytes, we can change
  * this and use bit 3 in the syncblock (with the lower two bits both set for forwarded, that
  * would be an invalid combination for the monitor and hash code).
- * The values are already shifted.
- * The forwarding address is stored in the sync block.
  */
 
-#define SGEN_VTABLE_BITS_MASK 0x3
-
 #include "sgen-tagged-pointer.h"
 
+#define SGEN_VTABLE_BITS_MASK  SGEN_TAGGED_POINTER_MASK
+
 #define SGEN_POINTER_IS_TAGGED_FORWARDED(p)    SGEN_POINTER_IS_TAGGED_1((p))
-#define SGEN_POINTER_TAG_FORWARDED(p)  SGEN_POINTER_TAG_1((p))
+#define SGEN_POINTER_TAG_FORWARDED(p)          SGEN_POINTER_TAG_1((p))
 
 #define SGEN_POINTER_IS_TAGGED_PINNED(p)       SGEN_POINTER_IS_TAGGED_2((p))
-#define SGEN_POINTER_TAG_PINNED(p)     SGEN_POINTER_TAG_2((p))
+#define SGEN_POINTER_TAG_PINNED(p)             SGEN_POINTER_TAG_2((p))
+
+#define SGEN_POINTER_IS_TAGGED_CEMENTED(p)     SGEN_POINTER_IS_TAGGED_4((p))
+#define SGEN_POINTER_TAG_CEMENTED(p)           SGEN_POINTER_TAG_4((p))
 
-#define SGEN_POINTER_UNTAG_VTABLE(p)   SGEN_POINTER_UNTAG_12((p))
+#define SGEN_POINTER_UNTAG_VTABLE(p)           SGEN_POINTER_UNTAG_ALL((p))
 
 /* returns NULL if not forwarded, or the forwarded address */
 #define SGEN_VTABLE_IS_FORWARDED(vtable) (SGEN_POINTER_IS_TAGGED_FORWARDED ((vtable)) ? SGEN_POINTER_UNTAG_VTABLE ((vtable)) : NULL)
@@ -339,6 +342,8 @@ typedef struct {
 #define SGEN_VTABLE_IS_PINNED(vtable) SGEN_POINTER_IS_TAGGED_PINNED ((vtable))
 #define SGEN_OBJECT_IS_PINNED(obj) (SGEN_VTABLE_IS_PINNED (((mword*)(obj))[0]))
 
+#define SGEN_OBJECT_IS_CEMENTED(obj) (SGEN_POINTER_IS_TAGGED_CEMENTED (((mword*)(obj))[0]))
+
 /* set the forwarded address fw_addr for object obj */
 #define SGEN_FORWARD_OBJECT(obj,fw_addr) do {                          \
                *(void**)(obj) = SGEN_POINTER_TAG_FORWARDED ((fw_addr));        \
@@ -346,15 +351,19 @@ typedef struct {
 #define SGEN_PIN_OBJECT(obj) do {      \
                *(void**)(obj) = SGEN_POINTER_TAG_PINNED (*(void**)(obj)); \
        } while (0)
+#define SGEN_CEMENT_OBJECT(obj) do {   \
+               *(void**)(obj) = SGEN_POINTER_TAG_CEMENTED (*(void**)(obj)); \
+       } while (0)
+/* Unpins and uncements */
 #define SGEN_UNPIN_OBJECT(obj) do {    \
-               *(void**)(obj) = SGEN_POINTER_UNTAG_2 (*(void**)(obj)); \
+               *(void**)(obj) = SGEN_POINTER_UNTAG_VTABLE (*(void**)(obj)); \
        } while (0)
 
 /*
  * Since we set bits in the vtable, use the macro to load it from the pointer to
  * an object that is potentially pinned.
  */
-#define SGEN_LOAD_VTABLE(addr) SGEN_POINTER_UNTAG_12 (*(void**)(addr))
+#define SGEN_LOAD_VTABLE(addr) SGEN_POINTER_UNTAG_ALL (*(void**)(addr))
 
 /*
 List of what each bit on of the vtable gc bits means. 
@@ -437,6 +446,7 @@ enum {
        INTERNAL_MEM_TOGGLEREF_DATA,
        INTERNAL_MEM_CARDTABLE_MOD_UNION,
        INTERNAL_MEM_BINARY_PROTOCOL,
+       INTERNAL_MEM_TEMPORARY,
        INTERNAL_MEM_MAX
 };
 
@@ -609,6 +619,27 @@ extern SgenMinorCollector sgen_minor_collector;
 void sgen_simple_nursery_init (SgenMinorCollector *collector) MONO_INTERNAL;
 void sgen_split_nursery_init (SgenMinorCollector *collector) MONO_INTERNAL;
 
+/* Updating references */
+
+#ifdef SGEN_CHECK_UPDATE_REFERENCE
+static inline void
+sgen_update_reference (void **p, void *o, gboolean allow_null)
+{
+       if (!allow_null)
+               SGEN_ASSERT (0, o, "Cannot update a reference with a NULL pointer");
+       SGEN_ASSERT (0, !sgen_is_worker_thread (mono_native_thread_id_get ()), "Can't update a reference in the worker thread");
+       *p = o;
+}
+
+#define SGEN_UPDATE_REFERENCE_ALLOW_NULL(p,o)  sgen_update_reference ((void**)(p), (void*)(o), TRUE)
+#define SGEN_UPDATE_REFERENCE(p,o)             sgen_update_reference ((void**)(p), (void*)(o), FALSE)
+#else
+#define SGEN_UPDATE_REFERENCE_ALLOW_NULL(p,o)  (*(void**)(p) = (void*)(o))
+#define SGEN_UPDATE_REFERENCE(p,o)             SGEN_UPDATE_REFERENCE_ALLOW_NULL ((p), (o))
+#endif
+
+/* Major collector */
+
 typedef void (*sgen_cardtable_block_callback) (mword start, mword size);
 void sgen_major_collector_iterate_live_block_ranges (sgen_cardtable_block_callback callback) MONO_INTERNAL;
 
@@ -622,6 +653,12 @@ typedef enum {
        ITERATE_OBJECTS_SWEEP_ALL = ITERATE_OBJECTS_SWEEP | ITERATE_OBJECTS_NON_PINNED | ITERATE_OBJECTS_PINNED
 } IterateObjectsFlags;
 
+typedef struct
+{
+       size_t num_scanned_objects;
+       size_t num_unique_scanned_objects;
+} ScannedObjectCounts;
+
 typedef struct _SgenMajorCollector SgenMajorCollector;
 struct _SgenMajorCollector {
        size_t section_size;
@@ -667,7 +704,8 @@ struct _SgenMajorCollector {
        void (*start_nursery_collection) (void);
        void (*finish_nursery_collection) (void);
        void (*start_major_collection) (void);
-       void (*finish_major_collection) (void);
+       void (*finish_major_collection) (ScannedObjectCounts *counts);
+       gboolean (*drain_gray_stack) (ScanCopyContext ctx);
        void (*have_computed_minor_collection_allowance) (void);
        gboolean (*ptr_is_in_non_pinned_space) (char *ptr, char **start);
        gboolean (*obj_is_from_pinned_alloc) (char *obj);
@@ -753,7 +791,7 @@ static inline mword
 sgen_obj_get_descriptor (char *obj)
 {
        MonoVTable *vtable = ((MonoObject*)obj)->vtable;
-       SGEN_ASSERT (0, !SGEN_POINTER_IS_TAGGED_1_OR_2 (vtable), "Object can't be tagged");
+       SGEN_ASSERT (9, !SGEN_POINTER_IS_TAGGED_ANY (vtable), "Object can't be tagged");
        return sgen_vtable_get_descriptor (vtable);
 }
 
@@ -773,13 +811,14 @@ static inline mword
 sgen_par_object_get_size (MonoVTable *vtable, MonoObject* o)
 {
        mword descr = (mword)vtable->gc_descr;
-       mword type = descr & 0x7;
+       mword type = descr & DESC_TYPE_MASK;
 
-       if (type == DESC_TYPE_RUN_LENGTH || type == DESC_TYPE_SMALL_BITMAP) {
+       if (type == DESC_TYPE_RUN_LENGTH || type == DESC_TYPE_SMALL_PTRFREE) {
                mword size = descr & 0xfff8;
-               if (size == 0) /* This is used to encode a string */
-                       return offsetof (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
+               SGEN_ASSERT (9, size >= sizeof (MonoObject), "Run length object size to small");
                return size;
+       } else if (descr == SGEN_DESC_STRING) {
+               return offsetof (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
        } else if (type == DESC_TYPE_VECTOR) {
                int element_size = ((descr) >> VECTOR_ELSIZE_SHIFT) & MAX_ELEMENT_SIZE;
                MonoArray *array = (MonoArray*)o;
@@ -1119,7 +1158,7 @@ void sgen_check_major_refs (void);
 void sgen_check_whole_heap (gboolean allow_missing_pinning);
 void sgen_check_whole_heap_stw (void) MONO_INTERNAL;
 void sgen_check_objref (char *obj);
-void sgen_check_major_heap_marked (void) MONO_INTERNAL;
+void sgen_check_heap_marked (gboolean nursery_must_be_pinned) MONO_INTERNAL;
 void sgen_check_nursery_objects_pinned (gboolean pinned) MONO_INTERNAL;
 void sgen_scan_for_registered_roots_in_domain (MonoDomain *domain, int root_type) MONO_INTERNAL;
 void sgen_check_for_xdomain_refs (void) MONO_INTERNAL;
index 247608751fe5fe850fdf6feed51797cf503b2715..6407ef8928dd3ad9f8f44467b91d5ec63de5751b 100644 (file)
 #include "sgen-protocol.h"
 
 #ifdef HEAVY_STATISTICS
-unsigned long long stat_gray_queue_section_alloc;
-unsigned long long stat_gray_queue_section_free;
-unsigned long long stat_gray_queue_enqueue_fast_path;
-unsigned long long stat_gray_queue_dequeue_fast_path;
-unsigned long long stat_gray_queue_enqueue_slow_path;
-unsigned long long stat_gray_queue_dequeue_slow_path;
+guint64 stat_gray_queue_section_alloc;
+guint64 stat_gray_queue_section_free;
+guint64 stat_gray_queue_enqueue_fast_path;
+guint64 stat_gray_queue_dequeue_fast_path;
+guint64 stat_gray_queue_enqueue_slow_path;
+guint64 stat_gray_queue_dequeue_slow_path;
 #endif
 
 #define GRAY_QUEUE_LENGTH_LIMIT        64
@@ -99,7 +99,7 @@ sgen_gray_object_free_queue_section (GrayQueueSection *section)
 void
 sgen_gray_object_enqueue (SgenGrayQueue *queue, char *obj, mword desc)
 {
-       GrayQueueEntry entry = { obj, desc };
+       GrayQueueEntry entry = SGEN_GRAY_QUEUE_ENTRY (obj, desc);
 
        HEAVY_STAT (stat_gray_queue_enqueue_slow_path ++);
 
@@ -146,7 +146,7 @@ sgen_gray_object_dequeue (SgenGrayQueue *queue)
        entry = *queue->cursor--;
 
 #ifdef SGEN_HEAVY_BINARY_PROTOCOL
-       binary_protocol_gray_dequeue (queue, queue->cursor + 1, obj);
+       binary_protocol_gray_dequeue (queue, queue->cursor + 1, entry.obj);
 #endif
 
        if (G_UNLIKELY (queue->cursor < GRAY_FIRST_CURSOR_POSITION (queue->first))) {
@@ -252,13 +252,20 @@ sgen_gray_object_queue_init_invalid (SgenGrayQueue *queue)
        queue->alloc_prepare_data = NULL;
 }
 
+void
+sgen_gray_queue_set_alloc_prepare (SgenGrayQueue *queue, GrayQueueAllocPrepareFunc alloc_prepare_func, void *data)
+{
+       SGEN_ASSERT (0, !queue->alloc_prepare_func && !queue->alloc_prepare_data, "Can't set gray queue alloc-prepare twice");
+       queue->alloc_prepare_func = alloc_prepare_func;
+       queue->alloc_prepare_data = data;
+}
+
 void
 sgen_gray_object_queue_init_with_alloc_prepare (SgenGrayQueue *queue, GrayQueueEnqueueCheckFunc enqueue_check_func,
                GrayQueueAllocPrepareFunc alloc_prepare_func, void *data)
 {
        sgen_gray_object_queue_init (queue, enqueue_check_func);
-       queue->alloc_prepare_func = alloc_prepare_func;
-       queue->alloc_prepare_data = data;
+       sgen_gray_queue_set_alloc_prepare (queue, alloc_prepare_func, data);
 }
 
 void
index c0ccd616bd7cebb1090739d92cf61a1f4688d73a..c51822c908ddf7c2ae3ea74ee3e38fb63d885fd2 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __MONO_SGEN_GRAY_H__
 #define __MONO_SGEN_GRAY_H__
 
+#include "metadata/sgen-protocol.h"
+
 /*
  * This gray queue has to be as optimized as possible, because it is in the core of
  * the mark/copy phase of the garbage collector. The memory access has then to be as
@@ -72,6 +74,8 @@ struct _GrayQueueEntry {
        mword desc;
 };
 
+#define SGEN_GRAY_QUEUE_ENTRY(obj,desc)        { (obj), (desc) }
+
 /*
  * This is a stack now instead of a queue, so the most recently added items are removed
  * first, improving cache locality, and keeping the stack size manageable.
@@ -122,12 +126,12 @@ struct _SgenSectionGrayQueue {
 #define GRAY_FIRST_CURSOR_POSITION(s) ((s)->entries)
 
 #ifdef HEAVY_STATISTICS
-extern unsigned long long stat_gray_queue_section_alloc;
-extern unsigned long long stat_gray_queue_section_free;
-extern unsigned long long stat_gray_queue_enqueue_fast_path;
-extern unsigned long long stat_gray_queue_dequeue_fast_path;
-extern unsigned long long stat_gray_queue_enqueue_slow_path;
-extern unsigned long long stat_gray_queue_dequeue_slow_path;
+extern guint64 stat_gray_queue_section_alloc;
+extern guint64 stat_gray_queue_section_free;
+extern guint64 stat_gray_queue_enqueue_fast_path;
+extern guint64 stat_gray_queue_dequeue_fast_path;
+extern guint64 stat_gray_queue_enqueue_slow_path;
+extern guint64 stat_gray_queue_dequeue_slow_path;
 #endif
 
 void sgen_init_gray_queues (void) MONO_INTERNAL;
@@ -139,6 +143,7 @@ void sgen_gray_object_enqueue_section (SgenGrayQueue *queue, GrayQueueSection *s
 void sgen_gray_object_queue_trim_free_list (SgenGrayQueue *queue) MONO_INTERNAL;
 void sgen_gray_object_queue_init (SgenGrayQueue *queue, GrayQueueEnqueueCheckFunc enqueue_check_func) MONO_INTERNAL;
 void sgen_gray_object_queue_init_invalid (SgenGrayQueue *queue) MONO_INTERNAL;
+void sgen_gray_queue_set_alloc_prepare (SgenGrayQueue *queue, GrayQueueAllocPrepareFunc alloc_prepare_func, void *data) MONO_INTERNAL;
 void sgen_gray_object_queue_init_with_alloc_prepare (SgenGrayQueue *queue, GrayQueueEnqueueCheckFunc enqueue_check_func,
                GrayQueueAllocPrepareFunc func, void *data) MONO_INTERNAL;
 void sgen_gray_object_queue_deinit (SgenGrayQueue *queue) MONO_INTERNAL;
@@ -152,6 +157,8 @@ gboolean sgen_section_gray_queue_is_empty (SgenSectionGrayQueue *queue) MONO_INT
 GrayQueueSection* sgen_section_gray_queue_dequeue (SgenSectionGrayQueue *queue) MONO_INTERNAL;
 void sgen_section_gray_queue_enqueue (SgenSectionGrayQueue *queue, GrayQueueSection *section) MONO_INTERNAL;
 
+gboolean sgen_gray_object_fill_prefetch (SgenGrayQueue *queue);
+
 static inline gboolean
 sgen_gray_object_queue_is_empty (SgenGrayQueue *queue)
 {
@@ -167,7 +174,7 @@ GRAY_OBJECT_ENQUEUE (SgenGrayQueue *queue, char* obj, mword desc)
        if (G_UNLIKELY (!queue->first || queue->cursor == GRAY_LAST_CURSOR_POSITION (queue->first))) {
                sgen_gray_object_enqueue (queue, obj, desc);
        } else {
-               GrayQueueEntry entry = { obj, desc };
+               GrayQueueEntry entry = SGEN_GRAY_QUEUE_ENTRY (obj, desc);
 
                HEAVY_STAT (stat_gray_queue_enqueue_fast_path ++);
 
@@ -184,7 +191,7 @@ GRAY_OBJECT_DEQUEUE (SgenGrayQueue *queue, char** obj, mword *desc)
 {
        GrayQueueEntry entry;
 #if SGEN_MAX_DEBUG_LEVEL >= 9
-       entry = sgen_gray_object_enqueue (queue);
+       entry = sgen_gray_object_dequeue (queue);
        *obj = entry.obj;
        *desc = entry.desc;
 #else
@@ -192,9 +199,6 @@ GRAY_OBJECT_DEQUEUE (SgenGrayQueue *queue, char** obj, mword *desc)
                HEAVY_STAT (stat_gray_queue_dequeue_fast_path ++);
 
                *obj = NULL;
-#ifdef SGEN_HEAVY_BINARY_PROTOCOL
-               binary_protocol_gray_dequeue (queue, queue->cursor, *obj);
-#endif
        } else if (G_UNLIKELY (queue->cursor == GRAY_FIRST_CURSOR_POSITION (queue->first))) {
                entry = sgen_gray_object_dequeue (queue);
                *obj = entry.obj;
index cebba4fae11c987f1edccd89e7a7c02a19900e8a..176a5634ade6aa9fe725ff34c330c55f590b7adc 100644 (file)
@@ -30,9 +30,9 @@
 #include <mono/utils/mono-counters.h>
 
 #ifdef HEAVY_STATISTICS
-static long long stat_lookups;
-static long long stat_lookup_iterations;
-static long long stat_lookup_max_iterations;
+static guint64 stat_lookups;
+static guint64 stat_lookup_iterations;
+static guint64 stat_lookup_max_iterations;
 #endif
 
 static void
@@ -82,7 +82,7 @@ lookup (SgenHashTable *hash_table, gpointer key, guint *_hash)
        guint hash;
        GEqualFunc equal = hash_table->equal_func;
 #ifdef HEAVY_STATISTICS
-       long long iterations = 0;
+       guint64 iterations = 0;
        ++stat_lookups;
 #endif
 
@@ -241,9 +241,9 @@ void
 sgen_init_hash_table (void)
 {
 #ifdef HEAVY_STATISTICS
-       mono_counters_register ("Hash table lookups", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_lookups);
-       mono_counters_register ("Hash table lookup iterations", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_lookup_iterations);
-       mono_counters_register ("Hash table lookup max iterations", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_lookup_max_iterations);
+       mono_counters_register ("Hash table lookups", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_lookups);
+       mono_counters_register ("Hash table lookup iterations", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_lookup_iterations);
+       mono_counters_register ("Hash table lookup max iterations", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_lookup_max_iterations);
 #endif
 }
 
index 333f8c3ee419261cdd9e103d4b7b4779cf1dce0f..f5b8995355fe58edeb341cb656fd8c0763ade96b 100644 (file)
@@ -150,6 +150,7 @@ description_for_type (int type)
        case INTERNAL_MEM_TOGGLEREF_DATA: return "toggleref-data";
        case INTERNAL_MEM_CARDTABLE_MOD_UNION: return "cardtable-mod-union";
        case INTERNAL_MEM_BINARY_PROTOCOL: return "binary-protocol";
+       case INTERNAL_MEM_TEMPORARY: return "temporary";
        default:
                g_assert_not_reached ();
        }
index 8e823b055377b046c0ae574e46f0edc5f3d19b56..dc104a0a8cd2accf415b382e86590aada62b12be 100644 (file)
@@ -38,6 +38,7 @@
 #include "metadata/sgen-cardtable.h"
 #include "metadata/sgen-memory-governor.h"
 #include "utils/mono-mmap.h"
+#include "utils/mono-compiler.h"
 
 #define LOS_SECTION_SIZE       (1024 * 1024)
 
index e912be704c21dd8baa4635b845f33b9c635c07af..a4b10ff85df2967fd4a4ba18740a88d838c6cd9b 100644 (file)
@@ -29,7 +29,5 @@
 } while (0)
 
 #define COLLECTOR_SERIAL_ALLOC_FOR_PROMOTION sgen_minor_collector.alloc_for_promotion
-#define COLLECTOR_PARALLEL_ALLOC_FOR_PROMOTION sgen_minor_collector.par_alloc_for_promotion
-
 
 #include "sgen-copy-object.h"
diff --git a/mono/metadata/sgen-major-scan-object.h b/mono/metadata/sgen-major-scan-object.h
deleted file mode 100644 (file)
index 14b1131..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * sgen-major-scan-object.h: Object scanning in the major collectors.
- *
- * Copyright 2001-2003 Ximian, Inc
- * Copyright 2003-2010 Novell, Inc.
- * Copyright (C) 2012 Xamarin Inc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License 2.0 as published by the Free Software Foundation;
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License 2.0 along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-extern long long stat_scan_object_called_major;
-
-#ifdef FIXED_HEAP
-#define PREFETCH_DYNAMIC_HEAP(addr)
-#else
-#define PREFETCH_DYNAMIC_HEAP(addr)    PREFETCH ((addr))
-#endif
-
-#ifdef SCAN_FOR_CONCURRENT_MARK
-#define FOLLOW_OBJECT(addr)    (!sgen_ptr_in_nursery ((addr)))
-#define ALWAYS_ADD_TO_GLOBAL_REMSET    1
-#define CONCURRENT_NAME(x)     x ## _concurrent
-#else
-#define FOLLOW_OBJECT(addr)    1
-#define ALWAYS_ADD_TO_GLOBAL_REMSET    0
-#define CONCURRENT_NAME(x)     x
-#endif
-
-/*
- * FIXME: We use the same scanning function in the concurrent collector whether we scan
- * during the starting/finishing collection pause (with the world stopped) or from the
- * concurrent worker thread.
- *
- * As long as the world is stopped, we should just follow pointers into the nursery and
- * evict if possible.  In that case we also don't need the ALWAYS_ADD_TO_GLOBAL_REMSET case,
- * which only seems to make sense for when the world is stopped, in which case we only need
- * it because we don't follow into the nursery.
- */
-
-#undef HANDLE_PTR
-#define HANDLE_PTR(ptr,obj)    do {                                    \
-               void *__old = *(ptr);                                   \
-               SGEN_OBJECT_LAYOUT_STATISTICS_MARK_BITMAP ((obj), (ptr)); \
-               if (__old && FOLLOW_OBJECT (__old)) {                   \
-                       void *__copy;                                   \
-                       PREFETCH_DYNAMIC_HEAP (__old);                  \
-                       CONCURRENT_NAME (major_copy_or_mark_object) ((ptr), __old, queue); \
-                       __copy = *(ptr);                                \
-                       SGEN_COND_LOG (9, __old != __copy, "Overwrote field at %p with %p (was: %p)", (ptr), *(ptr), __old); \
-                       if (G_UNLIKELY (sgen_ptr_in_nursery (__copy) && !sgen_ptr_in_nursery ((ptr)))) \
-                               sgen_add_to_global_remset ((ptr), __copy);      \
-               } else {                                                \
-                       if (ALWAYS_ADD_TO_GLOBAL_REMSET && G_UNLIKELY (sgen_ptr_in_nursery (__old) && !sgen_ptr_in_nursery ((ptr)))) \
-                               sgen_add_to_global_remset ((ptr), __old); \
-               }                                                       \
-       } while (0)
-
-static void
-CONCURRENT_NAME (major_scan_object) (char *start, mword desc, SgenGrayQueue *queue)
-{
-       SGEN_OBJECT_LAYOUT_STATISTICS_DECLARE_BITMAP;
-
-#ifdef HEAVY_STATISTICS
-       sgen_descriptor_count_scanned_object (desc);
-#endif
-
-#define SCAN_OBJECT_PROTOCOL
-#include "sgen-scan-object.h"
-
-       SGEN_OBJECT_LAYOUT_STATISTICS_COMMIT_BITMAP;
-       HEAVY_STAT (++stat_scan_object_called_major);
-}
-
-#ifdef SCAN_FOR_CONCURRENT_MARK
-#ifdef SGEN_PARALLEL_MARK
-#error concurrent and parallel mark not supported yet
-#else
-static void
-CONCURRENT_NAME (major_scan_vtype) (char *start, mword desc, SgenGrayQueue *queue BINARY_PROTOCOL_ARG (size_t size))
-{
-       SGEN_OBJECT_LAYOUT_STATISTICS_DECLARE_BITMAP;
-
-       /* The descriptors include info about the MonoObject header as well */
-       start -= sizeof (MonoObject);
-
-#define SCAN_OBJECT_NOVTABLE
-#define SCAN_OBJECT_PROTOCOL
-#include "sgen-scan-object.h"
-
-       SGEN_OBJECT_LAYOUT_STATISTICS_COMMIT_BITMAP;
-}
-#endif
-#endif
-
-#undef PREFETCH_DYNAMIC_HEAP
-#undef FOLLOW_OBJECT
-#undef ALWAYS_ADD_TO_GLOBAL_REMSET
-#undef CONCURRENT_NAME
diff --git a/mono/metadata/sgen-marksweep-drain-gray-stack.h b/mono/metadata/sgen-marksweep-drain-gray-stack.h
new file mode 100644 (file)
index 0000000..da962a8
--- /dev/null
@@ -0,0 +1,248 @@
+/*
+ * sgen-marksweep-drain-gray-stack.h: The copy/mark and gray stack
+ *     draining functions of the M&S major collector.
+ *
+ * Copyright (C) 2014 Xamarin Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License 2.0 as published by the Free Software Foundation;
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License 2.0 along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ * COPY_OR_MARK_FUNCTION_NAME must be defined to be the function name of the copy/mark
+ * function.
+ *
+ * SCAN_OBJECT_FUNCTION_NAME must be defined to be the function name of the object scanning
+ * function.
+ *
+ * DRAIN_GRAY_STACK_FUNCTION_NAME must be defined to be the function name of the gray stack
+ * draining function.
+ *
+ * Define COPY_OR_MARK_WITH_EVACUATION to support evacuation.
+ */
+
+/* Returns whether the object is still in the nursery. */
+static inline MONO_ALWAYS_INLINE gboolean
+COPY_OR_MARK_FUNCTION_NAME (void **ptr, void *obj, SgenGrayQueue *queue)
+{
+       MSBlockInfo *block;
+
+#ifdef HEAVY_STATISTICS
+       ++stat_optimized_copy;
+       {
+               char *forwarded;
+               mword desc;
+               if ((forwarded = SGEN_OBJECT_IS_FORWARDED (obj)))
+                       desc = sgen_obj_get_descriptor_safe (forwarded);
+               else
+                       desc = sgen_obj_get_descriptor_safe (obj);
+
+               sgen_descriptor_count_copied_object (desc);
+       }
+#endif
+
+       SGEN_ASSERT (9, obj, "null object from pointer %p", ptr);
+       SGEN_ASSERT (9, current_collection_generation == GENERATION_OLD, "old gen parallel allocator called from a %d collection", current_collection_generation);
+
+       if (sgen_ptr_in_nursery (obj)) {
+               int word, bit;
+               char *forwarded, *old_obj;
+               mword vtable_word = *(mword*)obj;
+
+               HEAVY_STAT (++stat_optimized_copy_nursery);
+
+#if SGEN_MAX_DEBUG_LEVEL >= 9
+               if (sgen_nursery_is_to_space (obj))
+                       SGEN_ASSERT (9, !SGEN_VTABLE_IS_PINNED (vtable_word) && !SGEN_VTABLE_IS_FORWARDED (vtable_word), "To-space object can't be pinned or forwarded.");
+#endif
+
+               if (SGEN_VTABLE_IS_PINNED (vtable_word)) {
+                       SGEN_ASSERT (9, !SGEN_VTABLE_IS_FORWARDED (vtable_word), "Cannot be both pinned and forwarded.");
+                       HEAVY_STAT (++stat_optimized_copy_nursery_pinned);
+                       return TRUE;
+               }
+               if ((forwarded = SGEN_VTABLE_IS_FORWARDED (vtable_word))) {
+                       HEAVY_STAT (++stat_optimized_copy_nursery_forwarded);
+                       *ptr = forwarded;
+                       return sgen_ptr_in_nursery (forwarded);
+               }
+
+               /* An object in the nursery To Space has already been copied and grayed. Nothing to do. */
+               if (sgen_nursery_is_to_space (obj))
+                       return TRUE;
+
+#ifdef COPY_OR_MARK_WITH_EVACUATION
+       do_copy_object:
+#endif
+               old_obj = obj;
+               obj = copy_object_no_checks (obj, queue);
+               if (G_UNLIKELY (old_obj == obj)) {
+                       /*
+                        * If we fail to evacuate an object we just stop doing it for a
+                        * given block size as all other will surely fail too.
+                        */
+                       /* FIXME: test this case somehow. */
+                       if (!sgen_ptr_in_nursery (obj)) {
+                               int size_index;
+                               block = MS_BLOCK_FOR_OBJ (obj);
+                               size_index = block->obj_size_index;
+                               evacuate_block_obj_sizes [size_index] = FALSE;
+                               MS_MARK_OBJECT_AND_ENQUEUE (obj, sgen_obj_get_descriptor (obj), block, queue);
+                               return FALSE;
+                       }
+                       return TRUE;
+               }
+               HEAVY_STAT (++stat_objects_copied_major);
+               *ptr = obj;
+
+               if (sgen_ptr_in_nursery (obj))
+                       return TRUE;
+
+               /*
+                * FIXME: See comment for copy_object_no_checks().  If
+                * we have that, we can let the allocation function
+                * give us the block info, too, and we won't have to
+                * re-fetch it.
+                *
+                * FIXME (2): We should rework this to avoid all those nursery checks.
+                */
+               /*
+                * For the split nursery allocator the object might
+                * still be in the nursery despite having being
+                * promoted, in which case we can't mark it.
+                */
+               block = MS_BLOCK_FOR_OBJ (obj);
+               MS_CALC_MARK_BIT (word, bit, obj);
+               SGEN_ASSERT (9, !MS_MARK_BIT (block, word, bit), "object %p already marked", obj);
+               MS_SET_MARK_BIT (block, word, bit);
+               binary_protocol_mark (obj, (gpointer)LOAD_VTABLE (obj), sgen_safe_object_get_size ((MonoObject*)obj));
+
+               return FALSE;
+       } else {
+               mword vtable_word = *(mword*)obj;
+               mword desc = sgen_vtable_get_descriptor ((MonoVTable*)vtable_word);
+               int type = desc & DESC_TYPE_MASK;
+
+               HEAVY_STAT (++stat_optimized_copy_major);
+
+#ifdef COPY_OR_MARK_WITH_EVACUATION
+               {
+                       char *forwarded;
+                       if ((forwarded = SGEN_VTABLE_IS_FORWARDED (vtable_word))) {
+                               HEAVY_STAT (++stat_optimized_copy_major_forwarded);
+                               *ptr = forwarded;
+                               SGEN_ASSERT (9, !sgen_ptr_in_nursery (forwarded), "Cannot be forwarded to nursery.");
+                               return FALSE;
+                       }
+               }
+#endif
+
+               if (type <= DESC_TYPE_MAX_SMALL_OBJ || SGEN_ALIGN_UP (sgen_safe_object_get_size ((MonoObject*)obj)) <= SGEN_MAX_SMALL_OBJ_SIZE) {
+#ifdef HEAVY_STATISTICS
+                       if (type <= DESC_TYPE_MAX_SMALL_OBJ)
+                               ++stat_optimized_copy_major_small_fast;
+                       else
+                               ++stat_optimized_copy_major_small_slow;
+#endif
+
+                       block = MS_BLOCK_FOR_OBJ (obj);
+
+#ifdef COPY_OR_MARK_WITH_EVACUATION
+                       {
+                               int size_index = block->obj_size_index;
+
+                               if (evacuate_block_obj_sizes [size_index] && !block->has_pinned) {
+                                       HEAVY_STAT (++stat_optimized_copy_major_small_evacuate);
+                                       if (block->is_to_space)
+                                               return FALSE;
+                                       goto do_copy_object;
+                               }
+                       }
+#endif
+
+                       MS_MARK_OBJECT_AND_ENQUEUE (obj, desc, block, queue);
+               } else {
+                       HEAVY_STAT (++stat_optimized_copy_major_large);
+
+                       if (sgen_los_object_is_pinned (obj))
+                               return FALSE;
+                       binary_protocol_pin (obj, (gpointer)SGEN_LOAD_VTABLE (obj), sgen_safe_object_get_size ((MonoObject*)obj));
+
+                       sgen_los_pin_object (obj);
+                       if (SGEN_OBJECT_HAS_REFERENCES (obj))
+                               GRAY_OBJECT_ENQUEUE (queue, obj, sgen_obj_get_descriptor (obj));
+               }
+               return FALSE;
+       }
+       return FALSE;
+}
+
+static void
+SCAN_OBJECT_FUNCTION_NAME (char *obj, mword desc, SgenGrayQueue *queue)
+{
+       char *start = obj;
+
+#ifdef HEAVY_STATISTICS
+       ++stat_optimized_major_scan;
+       if (!sgen_gc_descr_has_references (desc))
+               ++stat_optimized_major_scan_no_refs;
+       sgen_descriptor_count_scanned_object (desc);
+#endif
+#ifdef SGEN_HEAVY_BINARY_PROTOCOL
+       add_scanned_object (start);
+#endif
+
+       /* Now scan the object. */
+
+#undef HANDLE_PTR
+#define HANDLE_PTR(ptr,obj)    do {                                    \
+               void *__old = *(ptr);                                   \
+               binary_protocol_scan_process_reference ((obj), (ptr), __old); \
+               if (__old) {                                            \
+                       gboolean __still_in_nursery = COPY_OR_MARK_FUNCTION_NAME ((ptr), __old, queue); \
+                       if (G_UNLIKELY (__still_in_nursery && !sgen_ptr_in_nursery ((ptr)) && !SGEN_OBJECT_IS_CEMENTED (*(ptr)))) { \
+                               void *__copy = *(ptr);                  \
+                               sgen_add_to_global_remset ((ptr), __copy); \
+                       }                                               \
+               }                                                       \
+       } while (0)
+
+#define SCAN_OBJECT_PROTOCOL
+#include "sgen-scan-object.h"
+}
+
+static gboolean
+DRAIN_GRAY_STACK_FUNCTION_NAME (ScanCopyContext ctx)
+{
+       SgenGrayQueue *queue = ctx.queue;
+
+       SGEN_ASSERT (0, ctx.scan_func == major_scan_object_with_evacuation, "Wrong scan function");
+
+       for (;;) {
+               char *obj;
+               mword desc;
+
+               HEAVY_STAT (++stat_drain_loops);
+
+               GRAY_OBJECT_DEQUEUE (queue, &obj, &desc);
+               if (!obj)
+                       return TRUE;
+
+               SCAN_OBJECT_FUNCTION_NAME (obj, desc, ctx.queue);
+       }
+}
+
+#undef COPY_OR_MARK_FUNCTION_NAME
+#undef COPY_OR_MARK_WITH_EVACUATION
+#undef SCAN_OBJECT_FUNCTION_NAME
+#undef DRAIN_GRAY_STACK_FUNCTION_NAME
diff --git a/mono/metadata/sgen-marksweep-scan-object-concurrent.h b/mono/metadata/sgen-marksweep-scan-object-concurrent.h
new file mode 100644 (file)
index 0000000..7902104
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * sgen-major-scan-object.h: Object scanning in the major collectors.
+ *
+ * Copyright 2001-2003 Ximian, Inc
+ * Copyright 2003-2010 Novell, Inc.
+ * Copyright (C) 2012 Xamarin Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License 2.0 as published by the Free Software Foundation;
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License 2.0 along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+extern guint64 stat_scan_object_called_major;
+
+/*
+ * FIXME: We use the same scanning function in the concurrent collector whether we scan
+ * during the starting/finishing collection pause (with the world stopped) or from the
+ * concurrent worker thread.
+ *
+ * As long as the world is stopped, we should just follow pointers into the nursery and
+ * evict if possible.  In that case we also don't need the ALWAYS_ADD_TO_GLOBAL_REMSET case,
+ * which only seems to make sense for when the world is stopped, in which case we only need
+ * it because we don't follow into the nursery.
+ */
+
+#undef HANDLE_PTR
+#define HANDLE_PTR(ptr,obj)    do {                                    \
+               void *__old = *(ptr);                                   \
+               SGEN_OBJECT_LAYOUT_STATISTICS_MARK_BITMAP ((obj), (ptr)); \
+               binary_protocol_scan_process_reference ((obj), (ptr), __old); \
+               if (__old && !sgen_ptr_in_nursery (__old)) {            \
+                       void *__copy;                                   \
+                       PREFETCH_READ (__old);                  \
+                       major_copy_or_mark_object_with_evacuation_concurrent ((ptr), __old, queue); \
+                       __copy = *(ptr);                                \
+                       SGEN_COND_LOG (9, __old != __copy, "Overwrote field at %p with %p (was: %p)", (ptr), *(ptr), __old); \
+                       if (G_UNLIKELY (sgen_ptr_in_nursery (__copy) && !sgen_ptr_in_nursery ((ptr)) && !SGEN_OBJECT_IS_CEMENTED (__copy))) \
+                               sgen_add_to_global_remset ((ptr), __copy);      \
+               } else {                                                \
+                       if (G_UNLIKELY (sgen_ptr_in_nursery (__old) && !sgen_ptr_in_nursery ((ptr)))) \
+                               sgen_add_to_global_remset ((ptr), __old); \
+               }                                                       \
+       } while (0)
+
+/* FIXME: Unify this with optimized code in sgen-marksweep.c. */
+
+static void
+major_scan_object_no_mark_concurrent (char *start, mword desc, SgenGrayQueue *queue)
+{
+       SGEN_OBJECT_LAYOUT_STATISTICS_DECLARE_BITMAP;
+
+#ifdef HEAVY_STATISTICS
+       sgen_descriptor_count_scanned_object (desc);
+#endif
+#ifdef SGEN_HEAVY_BINARY_PROTOCOL
+       add_scanned_object (start);
+#endif
+
+#define SCAN_OBJECT_PROTOCOL
+#include "sgen-scan-object.h"
+
+       SGEN_OBJECT_LAYOUT_STATISTICS_COMMIT_BITMAP;
+       HEAVY_STAT (++stat_scan_object_called_major);
+}
+
+static void
+major_scan_vtype_concurrent (char *start, mword desc, SgenGrayQueue *queue BINARY_PROTOCOL_ARG (size_t size))
+{
+       SGEN_OBJECT_LAYOUT_STATISTICS_DECLARE_BITMAP;
+
+#ifdef HEAVY_STATISTICS
+       /* FIXME: We're half scanning this object.  How do we account for that? */
+       //add_scanned_object (start);
+#endif
+
+       /* The descriptors include info about the MonoObject header as well */
+       start -= sizeof (MonoObject);
+
+#define SCAN_OBJECT_NOVTABLE
+#define SCAN_OBJECT_PROTOCOL
+#include "sgen-scan-object.h"
+
+       SGEN_OBJECT_LAYOUT_STATISTICS_COMMIT_BITMAP;
+}
index 1dfaf23d5e500d64f2b89963ad3e894d389a012b..88664226b9abdcec1108362a26abe1f9a24b2525 100644 (file)
@@ -42,6 +42,7 @@
 #include "metadata/gc-internal.h"
 #include "metadata/sgen-pointer-queue.h"
 #include "metadata/sgen-pinning.h"
+#include "metadata/sgen-workers.h"
 
 #define SGEN_HAVE_CONCURRENT_MARK
 
@@ -49,8 +50,8 @@
 #define MS_BLOCK_SIZE  ARCH_MIN_MS_BLOCK_SIZE
 #define MS_BLOCK_SIZE_SHIFT    ARCH_MIN_MS_BLOCK_SIZE_SHIFT
 #else
-#define MS_BLOCK_SIZE  (16*1024)
-#define MS_BLOCK_SIZE_SHIFT    14
+#define MS_BLOCK_SIZE_SHIFT     14      /* INT FASTENABLE */
+#define MS_BLOCK_SIZE           (1 << MS_BLOCK_SIZE_SHIFT)
 #endif
 #define MAJOR_SECTION_SIZE     MS_BLOCK_SIZE
 #define CARDS_PER_BLOCK (MS_BLOCK_SIZE / CARD_SIZE_IN_BYTES)
  * of a block is the MSBlockHeader, then opional padding, then come
  * the objects, so this must be >= sizeof (MSBlockHeader).
  */
-#define MS_BLOCK_SKIP  16
+#define MS_BLOCK_SKIP  ((sizeof (MSBlockHeader) + 15) & ~15)
 
 #define MS_BLOCK_FREE  (MS_BLOCK_SIZE - MS_BLOCK_SKIP)
 
 #define MS_NUM_MARK_WORDS      ((MS_BLOCK_SIZE / SGEN_ALLOC_ALIGN + sizeof (mword) * 8 - 1) / (sizeof (mword) * 8))
 
-#if SGEN_MAX_SMALL_OBJ_SIZE > MS_BLOCK_FREE / 2
-#error MAX_SMALL_OBJ_SIZE must be at most MS_BLOCK_FREE / 2
-#endif
-
 typedef struct _MSBlockInfo MSBlockInfo;
 struct _MSBlockInfo {
        int obj_size;
@@ -85,7 +82,6 @@ struct _MSBlockInfo {
        unsigned int has_pinned : 1;    /* means cannot evacuate */
        unsigned int is_to_space : 1;
        unsigned int swept : 1;
-       char *block;
        void **free_list;
        MSBlockInfo *next_free;
        size_t pin_queue_first_entry;
@@ -96,17 +92,17 @@ struct _MSBlockInfo {
        mword mark_words [MS_NUM_MARK_WORDS];
 };
 
-#define MS_BLOCK_FOR_BLOCK_INFO(b)     ((b)->block)
+#define MS_BLOCK_FOR_BLOCK_INFO(b)     ((char*)(b))
 
 #define MS_BLOCK_OBJ(b,i)              (MS_BLOCK_FOR_BLOCK_INFO(b) + MS_BLOCK_SKIP + (b)->obj_size * (i))
 #define MS_BLOCK_OBJ_FOR_SIZE(b,i,obj_size)            (MS_BLOCK_FOR_BLOCK_INFO(b) + MS_BLOCK_SKIP + (obj_size) * (i))
 #define MS_BLOCK_DATA_FOR_OBJ(o)       ((char*)((mword)(o) & ~(mword)(MS_BLOCK_SIZE - 1)))
 
 typedef struct {
-       MSBlockInfo *info;
+       MSBlockInfo info;
 } MSBlockHeader;
 
-#define MS_BLOCK_FOR_OBJ(o)            (((MSBlockHeader*)MS_BLOCK_DATA_FOR_OBJ ((o)))->info)
+#define MS_BLOCK_FOR_OBJ(o)            (&((MSBlockHeader*)MS_BLOCK_DATA_FOR_OBJ ((o)))->info)
 
 /* object index will always be small */
 #define MS_BLOCK_OBJ_INDEX(o,b)        ((int)(((char*)(o) - (MS_BLOCK_FOR_BLOCK_INFO(b) + MS_BLOCK_SKIP)) / (b)->obj_size))
@@ -125,25 +121,10 @@ typedef struct {
 
 #define MS_MARK_BIT(bl,w,b)    ((bl)->mark_words [(w)] & (ONE_P << (b)))
 #define MS_SET_MARK_BIT(bl,w,b)        ((bl)->mark_words [(w)] |= (ONE_P << (b)))
-#define MS_PAR_SET_MARK_BIT(was_marked,bl,w,b) do {                    \
-               mword __old = (bl)->mark_words [(w)];                   \
-               mword __bitmask = ONE_P << (b);                         \
-               if (__old & __bitmask) {                                \
-                       was_marked = TRUE;                              \
-                       break;                                          \
-               }                                                       \
-               if (SGEN_CAS_PTR ((gpointer*)&(bl)->mark_words [(w)],   \
-                                               (gpointer)(__old | __bitmask), \
-                                               (gpointer)__old) ==     \
-                               (gpointer)__old) {                      \
-                       was_marked = FALSE;                             \
-                       break;                                          \
-               }                                                       \
-       } while (1)
 
 #define MS_OBJ_ALLOCED(o,b)    (*(void**)(o) && (*(char**)(o) < MS_BLOCK_FOR_BLOCK_INFO (b) || *(char**)(o) >= MS_BLOCK_FOR_BLOCK_INFO (b) + MS_BLOCK_SIZE))
 
-#define MS_BLOCK_OBJ_SIZE_FACTOR       (sqrt (2.0))
+#define MS_BLOCK_OBJ_SIZE_FACTOR       (pow (2.0, 1.0 / 3))
 
 /*
  * This way we can lookup block object size indexes for sizes up to
@@ -196,25 +177,41 @@ static size_t num_major_sections = 0;
 /* one free block list for each block object size */
 static MSBlockInfo **free_block_lists [MS_BLOCK_TYPE_MAX];
 
-static long long stat_major_blocks_alloced = 0;
-static long long stat_major_blocks_freed = 0;
-static long long stat_major_blocks_lazy_swept = 0;
-static long long stat_major_objects_evacuated = 0;
+static guint64 stat_major_blocks_alloced = 0;
+static guint64 stat_major_blocks_freed = 0;
+static guint64 stat_major_blocks_lazy_swept = 0;
+static guint64 stat_major_objects_evacuated = 0;
 
 #if SIZEOF_VOID_P != 8
-static long long stat_major_blocks_freed_ideal = 0;
-static long long stat_major_blocks_freed_less_ideal = 0;
-static long long stat_major_blocks_freed_individual = 0;
-static long long stat_major_blocks_alloced_less_ideal = 0;
+static guint64 stat_major_blocks_freed_ideal = 0;
+static guint64 stat_major_blocks_freed_less_ideal = 0;
+static guint64 stat_major_blocks_freed_individual = 0;
+static guint64 stat_major_blocks_alloced_less_ideal = 0;
 #endif
 
 #ifdef SGEN_COUNT_NUMBER_OF_MAJOR_OBJECTS_MARKED
-static long long num_major_objects_marked = 0;
+static guint64 num_major_objects_marked = 0;
 #define INC_NUM_MAJOR_OBJECTS_MARKED() (++num_major_objects_marked)
 #else
 #define INC_NUM_MAJOR_OBJECTS_MARKED()
 #endif
 
+#ifdef SGEN_HEAVY_BINARY_PROTOCOL
+static mono_mutex_t scanned_objects_list_lock;
+static SgenPointerQueue scanned_objects_list;
+
+static void
+add_scanned_object (void *ptr)
+{
+       if (!binary_protocol_is_enabled ())
+               return;
+
+       mono_mutex_lock (&scanned_objects_list_lock);
+       sgen_pointer_queue_add (&scanned_objects_list, ptr);
+       mono_mutex_unlock (&scanned_objects_list_lock);
+}
+#endif
+
 static void
 sweep_block (MSBlockInfo *block, gboolean during_major_collection);
 
@@ -419,7 +416,6 @@ ms_alloc_block (int size_index, gboolean pinned, gboolean has_references)
        int size = block_obj_sizes [size_index];
        int count = MS_BLOCK_FREE / size;
        MSBlockInfo *info;
-       MSBlockHeader *header;
        MSBlockInfo **free_blocks = FREE_BLOCKS (pinned, has_references);
        char *obj_start;
        int i;
@@ -427,7 +423,7 @@ ms_alloc_block (int size_index, gboolean pinned, gboolean has_references)
        if (!sgen_memgov_try_alloc_space (MS_BLOCK_SIZE, SPACE_MAJOR))
                return FALSE;
 
-       info = sgen_alloc_internal (INTERNAL_MEM_MS_BLOCK_INFO);
+       info = (MSBlockInfo*)ms_get_empty_block ();
 
        SGEN_ASSERT (9, count >= 2, "block with %d objects, it must hold at least 2", count);
 
@@ -444,10 +440,6 @@ ms_alloc_block (int size_index, gboolean pinned, gboolean has_references)
         */
        info->is_to_space = (sgen_get_current_collection_generation () == GENERATION_OLD);
        info->swept = 1;
-       info->block = ms_get_empty_block ();
-
-       header = (MSBlockHeader*) info->block;
-       header->info = info;
 #ifdef SGEN_HAVE_CONCURRENT_MARK
        info->cardtable_mod_union = NULL;
 #endif
@@ -619,8 +611,6 @@ major_alloc_degraded (MonoVTable *vtable, size_t size)
        return obj;
 }
 
-#define MAJOR_OBJ_IS_IN_TO_SPACE(obj)  FALSE
-
 /*
  * obj is some object.  If it's not in the major heap (i.e. if it's in
  * the nursery or LOS), return FALSE.  Otherwise return whether it's
@@ -840,9 +830,9 @@ major_dump_heap (FILE *heap_dump_file)
 #define MS_MARK_OBJECT_AND_ENQUEUE_CHECKED(obj,desc,block,queue) do {  \
                int __word, __bit;                                      \
                MS_CALC_MARK_BIT (__word, __bit, (obj));                \
-               if (!MS_MARK_BIT ((block), __word, __bit) && MS_OBJ_ALLOCED ((obj), (block))) { \
+               if (!MS_MARK_BIT ((block), __word, __bit) && MS_OBJ_ALLOCED ((obj), (block))) { \
                        MS_SET_MARK_BIT ((block), __word, __bit);       \
-                       if ((block)->has_references)                    \
+                       if (sgen_gc_descr_has_references (desc))                        \
                                GRAY_OBJECT_ENQUEUE ((queue), (obj), (desc)); \
                        binary_protocol_mark ((obj), (gpointer)LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((MonoObject*)(obj))); \
                        INC_NUM_MAJOR_OBJECTS_MARKED ();                \
@@ -851,23 +841,10 @@ major_dump_heap (FILE *heap_dump_file)
 #define MS_MARK_OBJECT_AND_ENQUEUE(obj,desc,block,queue) do {          \
                int __word, __bit;                                      \
                MS_CALC_MARK_BIT (__word, __bit, (obj));                \
-               SGEN_ASSERT (9, MS_OBJ_ALLOCED ((obj), (block)), "object %p not allocated", obj);       \
+               SGEN_ASSERT (9, MS_OBJ_ALLOCED ((obj), (block)), "object %p not allocated", obj); \
                if (!MS_MARK_BIT ((block), __word, __bit)) {            \
                        MS_SET_MARK_BIT ((block), __word, __bit);       \
-                       if ((block)->has_references)                    \
-                               GRAY_OBJECT_ENQUEUE ((queue), (obj), (desc)); \
-                       binary_protocol_mark ((obj), (gpointer)LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((MonoObject*)(obj))); \
-                       INC_NUM_MAJOR_OBJECTS_MARKED ();                \
-               }                                                       \
-       } while (0)
-#define MS_PAR_MARK_OBJECT_AND_ENQUEUE(obj,desc,block,queue) do {      \
-               int __word, __bit;                                      \
-               gboolean __was_marked;                                  \
-               SGEN_ASSERT (9, MS_OBJ_ALLOCED ((obj), (block)), "object %p not allocated", obj);       \
-               MS_CALC_MARK_BIT (__word, __bit, (obj));                \
-               MS_PAR_SET_MARK_BIT (__was_marked, (block), __word, __bit); \
-               if (!__was_marked) {                                    \
-                       if ((block)->has_references)                    \
+                       if (sgen_gc_descr_has_references (desc))                        \
                                GRAY_OBJECT_ENQUEUE ((queue), (obj), (desc)); \
                        binary_protocol_mark ((obj), (gpointer)LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((MonoObject*)(obj))); \
                        INC_NUM_MAJOR_OBJECTS_MARKED ();                \
@@ -893,8 +870,11 @@ pin_major_object (char *obj, SgenGrayQueue *queue)
 
 #ifdef SGEN_HAVE_CONCURRENT_MARK
 static void
-major_copy_or_mark_object_concurrent (void **ptr, void *obj, SgenGrayQueue *queue)
+major_copy_or_mark_object_with_evacuation_concurrent (void **ptr, void *obj, SgenGrayQueue *queue)
 {
+       SGEN_ASSERT (9, sgen_concurrent_collection_in_progress (), "Why are we scanning concurrently when there's no concurrent collection on?");
+       SGEN_ASSERT (9, !sgen_workers_are_working () || sgen_is_worker_thread (mono_native_thread_id_get ()), "We must not scan from two threads at the same time!");
+
        g_assert (!SGEN_OBJECT_IS_FORWARDED (obj));
 
        if (!sgen_ptr_in_nursery (obj)) {
@@ -925,156 +905,84 @@ major_copy_or_mark_object_concurrent (void **ptr, void *obj, SgenGrayQueue *queu
 }
 #endif
 
-static void
-major_copy_or_mark_object (void **ptr, void *obj, SgenGrayQueue *queue)
+static long long
+major_get_and_reset_num_major_objects_marked (void)
 {
-       MSBlockInfo *block;
-
-       HEAVY_STAT (++stat_copy_object_called_major);
-
-       SGEN_ASSERT (9, obj, "null object from pointer %p", ptr);
-       SGEN_ASSERT (9, current_collection_generation == GENERATION_OLD, "old gen parallel allocator called from a %d collection", current_collection_generation);
+#ifdef SGEN_COUNT_NUMBER_OF_MAJOR_OBJECTS_MARKED
+       long long num = num_major_objects_marked;
+       num_major_objects_marked = 0;
+       return num;
+#else
+       return 0;
+#endif
+}
 
-       if (sgen_ptr_in_nursery (obj)) {
-               int word, bit;
-               char *forwarded, *old_obj;
+#ifdef HEAVY_STATISTICS
+static guint64 stat_optimized_copy;
+static guint64 stat_optimized_copy_nursery;
+static guint64 stat_optimized_copy_nursery_forwarded;
+static guint64 stat_optimized_copy_nursery_pinned;
+static guint64 stat_optimized_copy_major;
+static guint64 stat_optimized_copy_major_small_fast;
+static guint64 stat_optimized_copy_major_small_slow;
+static guint64 stat_optimized_copy_major_large;
+static guint64 stat_optimized_copy_major_forwarded;
+static guint64 stat_optimized_copy_major_small_evacuate;
+static guint64 stat_optimized_major_scan;
+static guint64 stat_optimized_major_scan_no_refs;
+
+static guint64 stat_drain_prefetch_fills;
+static guint64 stat_drain_prefetch_fill_failures;
+static guint64 stat_drain_loops;
+#endif
 
-               if ((forwarded = SGEN_OBJECT_IS_FORWARDED (obj))) {
-                       *ptr = forwarded;
-                       return;
-               }
-               if (SGEN_OBJECT_IS_PINNED (obj))
-                       return;
+static void major_scan_object_with_evacuation (char *start, mword desc, SgenGrayQueue *queue);
 
-               /* An object in the nursery To Space has already been copied and grayed. Nothing to do. */
-               if (sgen_nursery_is_to_space (obj))
-                       return;
+#define COPY_OR_MARK_FUNCTION_NAME     major_copy_or_mark_object_no_evacuation
+#define SCAN_OBJECT_FUNCTION_NAME      major_scan_object_no_evacuation
+#define DRAIN_GRAY_STACK_FUNCTION_NAME drain_gray_stack_no_evacuation
+#include "sgen-marksweep-drain-gray-stack.h"
 
-               HEAVY_STAT (++stat_objects_copied_major);
-
-       do_copy_object:
-               old_obj = obj;
-               obj = copy_object_no_checks (obj, queue);
-               if (G_UNLIKELY (old_obj == obj)) {
-                       /*If we fail to evacuate an object we just stop doing it for a given block size as all other will surely fail too.*/
-                       if (!sgen_ptr_in_nursery (obj)) {
-                               int size_index;
-                               block = MS_BLOCK_FOR_OBJ (obj);
-                               size_index = block->obj_size_index;
-                               evacuate_block_obj_sizes [size_index] = FALSE;
-                               MS_MARK_OBJECT_AND_ENQUEUE (obj, sgen_obj_get_descriptor (obj), block, queue);
-                       }
-                       return;
-               }
-               *ptr = obj;
-
-               /*
-                * FIXME: See comment for copy_object_no_checks().  If
-                * we have that, we can let the allocation function
-                * give us the block info, too, and we won't have to
-                * re-fetch it.
-                *
-                * FIXME (2): We should rework this to avoid all those nursery checks.
-                */
-               /*
-                * For the split nursery allocator the object might
-                * still be in the nursery despite having being
-                * promoted, in which case we can't mark it.
-                */
-               if (!sgen_ptr_in_nursery (obj)) {
-                       block = MS_BLOCK_FOR_OBJ (obj);
-                       MS_CALC_MARK_BIT (word, bit, obj);
-                       SGEN_ASSERT (9, !MS_MARK_BIT (block, word, bit), "object %p already marked", obj);
-                       MS_SET_MARK_BIT (block, word, bit);
-                       binary_protocol_mark (obj, (gpointer)LOAD_VTABLE (obj), sgen_safe_object_get_size ((MonoObject*)obj));
-               }
-       } else {
-               char *forwarded;
-               mword objsize;
+#define COPY_OR_MARK_WITH_EVACUATION
+#define COPY_OR_MARK_FUNCTION_NAME     major_copy_or_mark_object_with_evacuation
+#define SCAN_OBJECT_FUNCTION_NAME      major_scan_object_with_evacuation
+#define DRAIN_GRAY_STACK_FUNCTION_NAME drain_gray_stack_with_evacuation
+#include "sgen-marksweep-drain-gray-stack.h"
 
-               /*
-                * If we have don't have a fixed heap we cannot know
-                * whether an object is in the LOS or in the small
-                * object major heap without checking its size.  To do
-                * that, however, we need to know that we actually
-                * have a valid object, not a forwarding pointer, so
-                * we have to do this check first.
-                */
-               if ((forwarded = SGEN_OBJECT_IS_FORWARDED (obj))) {
-                       *ptr = forwarded;
-                       return;
+static gboolean
+drain_gray_stack (ScanCopyContext ctx)
+{
+       gboolean evacuation = FALSE;
+       int i;
+       for (i = 0; i < num_block_obj_sizes; ++i) {
+               if (evacuate_block_obj_sizes [i]) {
+                       evacuation = TRUE;
+                       break;
                }
+       }
 
-               objsize = SGEN_ALIGN_UP (sgen_safe_object_get_size ((MonoObject*)obj));
-
-               if (objsize <= SGEN_MAX_SMALL_OBJ_SIZE) {
-                       int size_index;
-                       gboolean evacuate;
-
-                       block = MS_BLOCK_FOR_OBJ (obj);
-                       size_index = block->obj_size_index;
-                       evacuate = evacuate_block_obj_sizes [size_index];
-
-                       if (evacuate && !block->has_pinned) {
-                               g_assert (!SGEN_OBJECT_IS_PINNED (obj));
-                               if (block->is_to_space)
-                                       return;
-                               HEAVY_STAT (++stat_major_objects_evacuated);
-                               goto do_copy_object;
-                       } else {
-                               MS_MARK_OBJECT_AND_ENQUEUE (obj, sgen_obj_get_descriptor (obj), block, queue);
-                       }
-               } else {
-                       if (sgen_los_object_is_pinned (obj))
-                               return;
-                       binary_protocol_pin (obj, (gpointer)SGEN_LOAD_VTABLE (obj), sgen_safe_object_get_size ((MonoObject*)obj));
+       if (evacuation)
+               return drain_gray_stack_with_evacuation (ctx);
+       else
+               return drain_gray_stack_no_evacuation (ctx);
+}
 
-#ifdef ENABLE_DTRACE
-                       if (G_UNLIKELY (MONO_GC_OBJ_PINNED_ENABLED ())) {
-                               MonoVTable *vt = (MonoVTable*)SGEN_LOAD_VTABLE (obj);
-                               MONO_GC_OBJ_PINNED ((mword)obj, sgen_safe_object_get_size (obj), vt->klass->name_space, vt->klass->name, GENERATION_OLD);
-                       }
+#ifdef SGEN_HAVE_CONCURRENT_MARK
+#include "sgen-marksweep-scan-object-concurrent.h"
 #endif
 
-                       sgen_los_pin_object (obj);
-                       if (SGEN_OBJECT_HAS_REFERENCES (obj))
-                               GRAY_OBJECT_ENQUEUE (queue, obj, sgen_obj_get_descriptor (obj));
-               }
-       }
-}
-
 static void
 major_copy_or_mark_object_canonical (void **ptr, SgenGrayQueue *queue)
 {
-       major_copy_or_mark_object (ptr, *ptr, queue);
+       major_copy_or_mark_object_with_evacuation (ptr, *ptr, queue);
 }
 
 #ifdef SGEN_HAVE_CONCURRENT_MARK
 static void
 major_copy_or_mark_object_concurrent_canonical (void **ptr, SgenGrayQueue *queue)
 {
-       major_copy_or_mark_object_concurrent (ptr, *ptr, queue);
-}
-#endif
-
-static long long
-major_get_and_reset_num_major_objects_marked (void)
-{
-#ifdef SGEN_COUNT_NUMBER_OF_MAJOR_OBJECTS_MARKED
-       long long num = num_major_objects_marked;
-       num_major_objects_marked = 0;
-       return num;
-#else
-       return 0;
-#endif
+       major_copy_or_mark_object_with_evacuation_concurrent (ptr, *ptr, queue);
 }
-
-#include "sgen-major-scan-object.h"
-
-#ifdef SGEN_HAVE_CONCURRENT_MARK
-#define SCAN_FOR_CONCURRENT_MARK
-#include "sgen-major-scan-object.h"
-#undef SCAN_FOR_CONCURRENT_MARK
 #endif
 
 static void
@@ -1294,8 +1202,7 @@ ms_sweep (void)
                        DELETE_BLOCK_IN_FOREACH ();
 
                        binary_protocol_empty (MS_BLOCK_OBJ (block, 0), (char*)MS_BLOCK_OBJ (block, count) - (char*)MS_BLOCK_OBJ (block, 0));
-                       ms_free_block (block->block);
-                       sgen_free_internal (block, INTERNAL_MEM_MS_BLOCK_INFO);
+                       ms_free_block (block);
 
                        --num_major_sections;
                }
@@ -1459,8 +1366,18 @@ major_start_major_collection (void)
 }
 
 static void
-major_finish_major_collection (void)
+major_finish_major_collection (ScannedObjectCounts *counts)
 {
+#ifdef SGEN_HEAVY_BINARY_PROTOCOL
+       if (binary_protocol_is_enabled ()) {
+               counts->num_scanned_objects = scanned_objects_list.next_slot;
+
+               sgen_pointer_queue_sort_uniq (&scanned_objects_list);
+               counts->num_unique_scanned_objects = scanned_objects_list.next_slot;
+
+               sgen_pointer_queue_clear (&scanned_objects_list);
+       }
+#endif
 }
 
 #if SIZEOF_VOID_P != 8
@@ -1730,10 +1647,10 @@ major_iterate_live_block_ranges (sgen_cardtable_block_callback callback)
 }
 
 #ifdef HEAVY_STATISTICS
-extern long long marked_cards;
-extern long long scanned_cards;
-extern long long scanned_objects;
-extern long long remarked_cards;
+extern guint64 marked_cards;
+extern guint64 scanned_cards;
+extern guint64 scanned_objects;
+extern guint64 remarked_cards;
 #endif
 
 #define CARD_WORDS_PER_BLOCK (CARDS_PER_BLOCK / SIZEOF_VOID_P)
@@ -1843,6 +1760,8 @@ major_scan_card_table (gboolean mod_union, SgenGrayQueue *queue)
                        end = block_start + MS_BLOCK_SIZE;
                        base = sgen_card_table_align_pointer (obj);
 
+                       cards += MS_BLOCK_SKIP >> CARD_BITS;
+
                        while (obj < end) {
                                size_t card_offset;
 
@@ -1897,6 +1816,8 @@ major_scan_card_table (gboolean mod_union, SgenGrayQueue *queue)
                        }
                        card_data_end = card_data + CARDS_PER_BLOCK;
 
+                       card_data += MS_BLOCK_SKIP >> CARD_BITS;
+
                        for (card_data = initial_skip_card (card_data); card_data < card_data_end; ++card_data) { //card_data = skip_card (card_data + 1, card_data_end)) {
                                size_t index;
                                size_t idx = card_data - card_base;
@@ -2047,15 +1968,15 @@ sgen_marksweep_init_internal (SgenMajorCollector *collector, gboolean is_concurr
        for (i = 0; i < MS_NUM_FAST_BLOCK_OBJ_SIZE_INDEXES * 8; ++i)
                g_assert (MS_BLOCK_OBJ_SIZE_INDEX (i) == ms_find_block_obj_size_index (i));
 
-       mono_counters_register ("# major blocks allocated", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_alloced);
-       mono_counters_register ("# major blocks freed", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_freed);
-       mono_counters_register ("# major blocks lazy swept", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_lazy_swept);
-       mono_counters_register ("# major objects evacuated", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_objects_evacuated);
+       mono_counters_register ("# major blocks allocated", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_alloced);
+       mono_counters_register ("# major blocks freed", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_freed);
+       mono_counters_register ("# major blocks lazy swept", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_lazy_swept);
+       mono_counters_register ("# major objects evacuated", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_objects_evacuated);
 #if SIZEOF_VOID_P != 8
-       mono_counters_register ("# major blocks freed ideally", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_freed_ideal);
-       mono_counters_register ("# major blocks freed less ideally", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_freed_less_ideal);
-       mono_counters_register ("# major blocks freed individually", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_freed_individual);
-       mono_counters_register ("# major blocks allocated less ideally", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_major_blocks_alloced_less_ideal);
+       mono_counters_register ("# major blocks freed ideally", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_freed_ideal);
+       mono_counters_register ("# major blocks freed less ideally", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_freed_less_ideal);
+       mono_counters_register ("# major blocks freed individually", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_freed_individual);
+       mono_counters_register ("# major blocks allocated less ideally", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_major_blocks_alloced_less_ideal);
 #endif
 
        collector->section_size = MAJOR_SECTION_SIZE;
@@ -2118,15 +2039,44 @@ sgen_marksweep_init_internal (SgenMajorCollector *collector, gboolean is_concurr
        collector->count_cards = major_count_cards;
 
        collector->major_ops.copy_or_mark_object = major_copy_or_mark_object_canonical;
-       collector->major_ops.scan_object = major_scan_object;
+       collector->major_ops.scan_object = major_scan_object_with_evacuation;
 #ifdef SGEN_HAVE_CONCURRENT_MARK
        if (is_concurrent) {
                collector->major_concurrent_ops.copy_or_mark_object = major_copy_or_mark_object_concurrent_canonical;
-               collector->major_concurrent_ops.scan_object = major_scan_object_concurrent;
+               collector->major_concurrent_ops.scan_object = major_scan_object_no_mark_concurrent;
                collector->major_concurrent_ops.scan_vtype = major_scan_vtype_concurrent;
        }
 #endif
 
+#if !defined (FIXED_HEAP) && !defined (SGEN_PARALLEL_MARK)
+       /* FIXME: this will not work with evacuation or the split nursery. */
+       if (!is_concurrent)
+               collector->drain_gray_stack = drain_gray_stack;
+
+#ifdef HEAVY_STATISTICS
+       mono_counters_register ("Optimized copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy);
+       mono_counters_register ("Optimized copy nursery", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_nursery);
+       mono_counters_register ("Optimized copy nursery forwarded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_nursery_forwarded);
+       mono_counters_register ("Optimized copy nursery pinned", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_nursery_pinned);
+       mono_counters_register ("Optimized copy major", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_major);
+       mono_counters_register ("Optimized copy major small fast", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_major_small_fast);
+       mono_counters_register ("Optimized copy major small slow", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_major_small_slow);
+       mono_counters_register ("Optimized copy major large", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_copy_major_large);
+       mono_counters_register ("Optimized major scan", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_major_scan);
+       mono_counters_register ("Optimized major scan no refs", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_optimized_major_scan_no_refs);
+
+       mono_counters_register ("Gray stack drain loops", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_drain_loops);
+       mono_counters_register ("Gray stack prefetch fills", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_drain_prefetch_fills);
+       mono_counters_register ("Gray stack prefetch failures", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_drain_prefetch_fill_failures);
+#endif
+#endif
+
+#ifdef SGEN_HEAVY_BINARY_PROTOCOL
+       mono_mutex_init (&scanned_objects_list_lock);
+#endif
+
+       SGEN_ASSERT (0, SGEN_MAX_SMALL_OBJ_SIZE <= MS_BLOCK_FREE / 2, "MAX_SMALL_OBJ_SIZE must be at most MS_BLOCK_FREE / 2");
+
        /*cardtable requires major pages to be 8 cards aligned*/
        g_assert ((MS_BLOCK_SIZE % (8 * CARD_SIZE_IN_BYTES)) == 0);
 }
index 5d17a0d721cb0d1c08b4daa4c1f6d84991f8592b..5e498220ebc2bfe27903262ecc170d0a1784d842 100644 (file)
@@ -355,8 +355,10 @@ sgen_memgov_release_space (mword size, int space)
 gboolean
 sgen_memgov_try_alloc_space (mword size, int space)
 {
-       if (sgen_memgov_available_free_space () < size)
+       if (sgen_memgov_available_free_space () < size) {
+               SGEN_ASSERT (4, !sgen_is_worker_thread (mono_native_thread_id_get ()), "Memory shouldn't run out in worker thread");
                return FALSE;
+       }
 
        SGEN_ATOMIC_ADD_P (allocated_heap, size);
        mono_runtime_resource_check_limit (MONO_RESOURCE_GC_HEAP, allocated_heap);
index c18e49f16dd46c01180d2c6ceef6f0c4fb5df9e7..f1061ee2c4732f2e50562f8cf79c91610bb13ac9 100644 (file)
@@ -22,7 +22,7 @@
 #define collector_pin_object(obj, queue) sgen_pin_object (obj, queue);
 #define COLLECTOR_SERIAL_ALLOC_FOR_PROMOTION alloc_for_promotion
 
-extern long long stat_nursery_copy_object_failed_to_space; /* from sgen-gc.c */
+extern guint64 stat_nursery_copy_object_failed_to_space; /* from sgen-gc.c */
 
 #include "mono/utils/mono-compiler.h"
 
@@ -52,6 +52,7 @@ static MONO_ALWAYS_INLINE void
 SERIAL_COPY_OBJECT (void **obj_slot, SgenGrayQueue *queue) 
 {
        char *forwarded;
+       char *copy;
        char *obj = *obj_slot;
 
        SGEN_ASSERT (9, current_collection_generation == GENERATION_NURSERY, "calling minor-serial-copy from a %d generation collection", current_collection_generation);
@@ -75,7 +76,7 @@ SERIAL_COPY_OBJECT (void **obj_slot, SgenGrayQueue *queue)
                SGEN_ASSERT (9, (*(MonoVTable**)SGEN_LOAD_VTABLE (obj))->gc_descr,  "forwarded object %p has no gc descriptor", forwarded);
                SGEN_LOG (9, " (already forwarded to %p)", forwarded);
                HEAVY_STAT (++stat_nursery_copy_object_failed_forwarded);
-               *obj_slot = forwarded;
+               SGEN_UPDATE_REFERENCE (obj_slot, forwarded);
                return;
        }
        if (G_UNLIKELY (SGEN_OBJECT_IS_PINNED (obj))) {
@@ -96,7 +97,8 @@ SERIAL_COPY_OBJECT (void **obj_slot, SgenGrayQueue *queue)
 
        HEAVY_STAT (++stat_objects_copied_nursery);
 
-       *obj_slot = copy_object_no_checks (obj, queue);
+       copy = copy_object_no_checks (obj, queue);
+       SGEN_UPDATE_REFERENCE (obj_slot, copy);
 }
 
 /*
@@ -132,9 +134,9 @@ SERIAL_COPY_OBJECT_FROM_OBJ (void **obj_slot, SgenGrayQueue *queue)
                SGEN_ASSERT (9, (*(MonoVTable**)SGEN_LOAD_VTABLE (obj))->gc_descr,  "forwarded object %p has no gc descriptor", forwarded);
                SGEN_LOG (9, " (already forwarded to %p)", forwarded);
                HEAVY_STAT (++stat_nursery_copy_object_failed_forwarded);
-               *obj_slot = forwarded;
+               SGEN_UPDATE_REFERENCE (obj_slot, forwarded);
 #ifndef SGEN_SIMPLE_NURSERY
-               if (G_UNLIKELY (sgen_ptr_in_nursery (forwarded) && !sgen_ptr_in_nursery (obj_slot)))
+               if (G_UNLIKELY (sgen_ptr_in_nursery (forwarded) && !sgen_ptr_in_nursery (obj_slot) && !SGEN_OBJECT_IS_CEMENTED (forwarded)))
                        sgen_add_to_global_remset (obj_slot, forwarded);
 #endif
                return;
@@ -143,7 +145,7 @@ SERIAL_COPY_OBJECT_FROM_OBJ (void **obj_slot, SgenGrayQueue *queue)
                SGEN_ASSERT (9, ((MonoVTable*)SGEN_LOAD_VTABLE(obj))->gc_descr, "pinned object %p has no gc descriptor", obj);
                SGEN_LOG (9, " (pinned, no change)");
                HEAVY_STAT (++stat_nursery_copy_object_failed_pinned);
-               if (!sgen_ptr_in_nursery (obj_slot))
+               if (!sgen_ptr_in_nursery (obj_slot) && !SGEN_OBJECT_IS_CEMENTED (obj))
                        sgen_add_to_global_remset (obj_slot, obj);
                return;
        }
@@ -187,7 +189,7 @@ SERIAL_COPY_OBJECT_FROM_OBJ (void **obj_slot, SgenGrayQueue *queue)
                 * remsets will be overwritten.  Scanning objects at
                 * most once would be the icing on the cake.
                 */
-               if (!sgen_ptr_in_nursery (obj_slot))
+               if (!sgen_ptr_in_nursery (obj_slot) && !SGEN_OBJECT_IS_CEMENTED (obj))
                        sgen_add_to_global_remset (obj_slot, obj);
 
                return;
@@ -197,14 +199,14 @@ SERIAL_COPY_OBJECT_FROM_OBJ (void **obj_slot, SgenGrayQueue *queue)
        HEAVY_STAT (++stat_objects_copied_nursery);
 
        copy = copy_object_no_checks (obj, queue);
-       *obj_slot = copy;
+       SGEN_UPDATE_REFERENCE (obj_slot, copy);
 #ifndef SGEN_SIMPLE_NURSERY
-       if (G_UNLIKELY (sgen_ptr_in_nursery (copy) && !sgen_ptr_in_nursery (obj_slot)))
+       if (G_UNLIKELY (sgen_ptr_in_nursery (copy) && !sgen_ptr_in_nursery (obj_slot) && !SGEN_OBJECT_IS_CEMENTED (copy)))
                sgen_add_to_global_remset (obj_slot, copy);
 #else
        /* copy_object_no_checks () can return obj on OOM */
        if (G_UNLIKELY (obj == copy)) {
-               if (G_UNLIKELY (sgen_ptr_in_nursery (copy) && !sgen_ptr_in_nursery (obj_slot)))
+               if (G_UNLIKELY (sgen_ptr_in_nursery (copy) && !sgen_ptr_in_nursery (obj_slot) && !SGEN_OBJECT_IS_CEMENTED (copy)))
                        sgen_add_to_global_remset (obj_slot, copy);
        }
 #endif
index 3cff269a7da3d5bc65ceedcb658fe34461b2ad57..cd660cc9de277aaa4bae2e781b2edc1e47103a9b 100644 (file)
@@ -19,7 +19,7 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-extern long long stat_scan_object_called_nursery;
+extern guint64 stat_scan_object_called_nursery;
 
 #if defined(SGEN_SIMPLE_NURSERY)
 #define SERIAL_SCAN_OBJECT simple_nursery_serial_scan_object
@@ -38,6 +38,7 @@ extern long long stat_scan_object_called_nursery;
 #define HANDLE_PTR(ptr,obj)    do {    \
                void *__old = *(ptr);   \
                SGEN_OBJECT_LAYOUT_STATISTICS_MARK_BITMAP ((obj), (ptr)); \
+               binary_protocol_scan_process_reference ((obj), (ptr), __old); \
                if (__old) {    \
                        SERIAL_COPY_OBJECT_FROM_OBJ ((ptr), queue);     \
                        SGEN_COND_LOG (9, __old != *(ptr), "Overwrote field at %p with %p (was: %p)", (ptr), *(ptr), __old); \
@@ -53,6 +54,8 @@ SERIAL_SCAN_OBJECT (char *start, mword desc, SgenGrayQueue *queue)
        sgen_descriptor_count_scanned_object (desc);
 #endif
 
+       SGEN_ASSERT (9, sgen_get_current_collection_generation () == GENERATION_NURSERY, "Must not use minor scan during major collection.");
+
 #define SCAN_OBJECT_PROTOCOL
 #include "sgen-scan-object.h"
 
@@ -65,6 +68,8 @@ SERIAL_SCAN_VTYPE (char *start, mword desc, SgenGrayQueue *queue BINARY_PROTOCOL
 {
        SGEN_OBJECT_LAYOUT_STATISTICS_DECLARE_BITMAP;
 
+       SGEN_ASSERT (9, sgen_get_current_collection_generation () == GENERATION_NURSERY, "Must not use minor scan during major collection.");
+
        /* The descriptors include info about the MonoObject header as well */
        start -= sizeof (MonoObject);
 
index c895d7471ea53e0539423c751e2aacb20c06e980..dac7f8e48b840618a4bd03bac964b4f9ad163add 100644 (file)
@@ -37,6 +37,7 @@ void
 sgen_init_pinning (void)
 {
        memset (pin_hash_filter, 0, sizeof (pin_hash_filter));
+       pin_queue.mem_type = INTERNAL_MEM_PIN_QUEUE;
 }
 
 void
@@ -292,6 +293,9 @@ sgen_cement_lookup_or_register (char *obj)
 
        ++hash [i].count;
        if (hash [i].count == SGEN_CEMENT_THRESHOLD) {
+               SGEN_ASSERT (9, SGEN_OBJECT_IS_PINNED (obj), "Can only cement pinned objects");
+               SGEN_CEMENT_OBJECT (obj);
+
                if (G_UNLIKELY (MONO_GC_OBJ_CEMENTED_ENABLED())) {
                        MonoVTable *vt G_GNUC_UNUSED = (MonoVTable*)SGEN_LOAD_VTABLE (obj);
                        MONO_GC_OBJ_CEMENTED ((mword)obj, sgen_safe_object_get_size ((MonoObject*)obj),
@@ -304,21 +308,32 @@ sgen_cement_lookup_or_register (char *obj)
        return FALSE;
 }
 
-void
-sgen_pin_cemented_objects (void)
+static void
+pin_from_hash (CementHashEntry *hash, gboolean has_been_reset)
 {
        int i;
        for (i = 0; i < SGEN_CEMENT_HASH_SIZE; ++i) {
-               if (!cement_hash [i].count)
+               if (!hash [i].count)
                        continue;
 
-               SGEN_ASSERT (5, cement_hash [i].count >= SGEN_CEMENT_THRESHOLD, "Cementing hash inconsistent");
+               if (has_been_reset)
+                       SGEN_ASSERT (5, hash [i].count >= SGEN_CEMENT_THRESHOLD, "Cementing hash inconsistent");
 
-               sgen_pin_stage_ptr (cement_hash [i].obj);
+               sgen_pin_stage_ptr (hash [i].obj);
                /* FIXME: do pin stats if enabled */
+
+               SGEN_CEMENT_OBJECT (hash [i].obj);
        }
 }
 
+void
+sgen_pin_cemented_objects (void)
+{
+       pin_from_hash (cement_hash, TRUE);
+       if (cement_concurrent)
+               pin_from_hash (cement_hash_concurrent, FALSE);
+}
+
 void
 sgen_cement_clear_below_threshold (void)
 {
index 3c1d8fb6c61d8d036a670924fd68f6c768984acb..e201e12751b3eb9b427a28262af9970ef84a4c8b 100644 (file)
@@ -17,6 +17,7 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include "utils/mono-compiler.h"
 #include "metadata/sgen-gc.h"
 #include "metadata/sgen-pointer-queue.h"
 
@@ -28,13 +29,23 @@ sgen_pointer_queue_clear (SgenPointerQueue *queue)
        queue->next_slot = 0;
 }
 
+void
+sgen_pointer_queue_init (SgenPointerQueue *queue, int mem_type)
+{
+       queue->next_slot = 0;
+       queue->size = 0;
+       queue->data = NULL;
+       queue->mem_type = mem_type;
+}
+
 static void
 realloc_queue (SgenPointerQueue *queue)
 {
        size_t new_size = queue->size ? queue->size + queue->size/2 : 1024;
-       void **new_data = sgen_alloc_internal_dynamic (sizeof (void*) * new_size, INTERNAL_MEM_PIN_QUEUE, TRUE);
+       void **new_data = sgen_alloc_internal_dynamic (sizeof (void*) * new_size, queue->mem_type, TRUE);
+
        memcpy (new_data, queue->data, sizeof (void*) * queue->next_slot);
-       sgen_free_internal_dynamic (queue->data, sizeof (void*) * queue->size, INTERNAL_MEM_PIN_QUEUE);
+       sgen_free_internal_dynamic (queue->data, sizeof (void*) * queue->size, queue->mem_type);
        queue->data = new_data;
        queue->size = new_size;
        SGEN_LOG (4, "Reallocated pointer queue to size: %lu", new_size);
@@ -49,6 +60,14 @@ sgen_pointer_queue_add (SgenPointerQueue *queue, void *ptr)
        queue->data [queue->next_slot++] = ptr;
 }
 
+void*
+sgen_pointer_queue_pop (SgenPointerQueue *queue)
+{
+       g_assert (queue->next_slot);
+
+       return queue->data [--queue->next_slot];
+}
+
 size_t
 sgen_pointer_queue_search (SgenPointerQueue *queue, void *addr)
 {
@@ -120,4 +139,16 @@ sgen_pointer_queue_find (SgenPointerQueue *queue, void *ptr)
        return (size_t)-1;
 }
 
+gboolean
+sgen_pointer_queue_is_empty (SgenPointerQueue *queue)
+{
+       return !queue->next_slot;
+}
+
+void
+sgen_pointer_queue_free (SgenPointerQueue *queue)
+{
+       sgen_free_internal_dynamic (queue->data, sizeof (void*) * queue->size, queue->mem_type);
+}
+
 #endif
index d972f3cc92e235f04cb200d33622846f9ed53bd8..0bbeedfdd67f21a71d20a2f7c1335b50481f5421 100644 (file)
 #ifndef __MONO_SGEN_POINTER_QUEUE_H__
 #define __MONO_SGEN_POINTER_QUEUE_H__
 
+#include <glib.h>
+
 typedef struct {
        void **data;
        size_t size;
        size_t next_slot;
+       int mem_type;
 } SgenPointerQueue;
 
 void sgen_pointer_queue_add (SgenPointerQueue *queue, void *ptr) MONO_INTERNAL;
@@ -32,5 +35,9 @@ void sgen_pointer_queue_remove_nulls (SgenPointerQueue *queue) MONO_INTERNAL;
 void sgen_pointer_queue_sort_uniq (SgenPointerQueue *queue) MONO_INTERNAL;
 size_t sgen_pointer_queue_search (SgenPointerQueue *queue, void *addr) MONO_INTERNAL;
 size_t sgen_pointer_queue_find (SgenPointerQueue *queue, void *ptr) MONO_INTERNAL;
+void sgen_pointer_queue_init (SgenPointerQueue *queue, int mem_type) MONO_INTERNAL;
+void* sgen_pointer_queue_pop (SgenPointerQueue *queue) MONO_INTERNAL;
+gboolean sgen_pointer_queue_is_empty (SgenPointerQueue *queue) MONO_INTERNAL;
+void sgen_pointer_queue_free (SgenPointerQueue *queue) MONO_INTERNAL;
 
 #endif
index a8f9b34c8254c381003874d423a1313b980cc51a..92e4fd189943a069cb6c3b20bd0682a8832dc67f 100644 (file)
 #include "utils/mono-mmap.h"
 #include "utils/mono-threads.h"
 
-/* If not null, dump binary protocol to this file */
-static FILE *binary_protocol_file = NULL;
+#include <errno.h>
+#ifdef HAVE_UNISTD_H
+#include <fcntl.h>
+#endif
+
+/* FIXME Implement binary protocol IO on systems that don't have unistd */
+#ifdef HAVE_UNISTD_H
+/* If valid, dump binary protocol to this file */
+static int binary_protocol_file = -1;
 
 /* We set this to -1 to indicate an exclusive lock */
 static volatile int binary_protocol_use_count = 0;
@@ -82,27 +89,48 @@ binary_protocol_open_file (void)
        else
                filename = filename_or_prefix;
 
-       binary_protocol_file = fopen (filename, "w");
+       do {
+               binary_protocol_file = open (filename, O_CREAT|O_WRONLY|O_TRUNC, 0644);
+               if (binary_protocol_file == -1 && errno != EINTR)
+                       break; /* Failed */
+       } while (binary_protocol_file == -1);
 
        if (file_size_limit > 0)
                free_filename (filename);
 }
+#endif
 
 void
 binary_protocol_init (const char *filename, long long limit)
 {
+#ifdef HAVE_UNISTD_H
        filename_or_prefix = sgen_alloc_internal_dynamic (strlen (filename) + 1, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
        strcpy (filename_or_prefix, filename);
 
        file_size_limit = limit;
 
        binary_protocol_open_file ();
+#endif
 }
 
 gboolean
 binary_protocol_is_enabled (void)
 {
-       return binary_protocol_file != NULL;
+#ifdef HAVE_UNISTD_H
+       return binary_protocol_file != -1;
+#else
+       return FALSE;
+#endif
+}
+
+#ifdef HAVE_UNISTD_H
+
+static void
+close_binary_protocol_file (void)
+{
+       while (close (binary_protocol_file) == -1 && errno == EINTR)
+               ;
+       binary_protocol_file = -1;
 }
 
 static gboolean
@@ -155,8 +183,21 @@ unlock_recursive (void)
 static void
 binary_protocol_flush_buffer (BinaryProtocolBuffer *buffer)
 {
+       ssize_t ret;
+       size_t to_write = buffer->index;
+       size_t written = 0;
        g_assert (buffer->index > 0);
-       fwrite (buffer->buffer, 1, buffer->index, binary_protocol_file);
+
+       while (written < to_write) {
+               ret = write (binary_protocol_file, buffer->buffer + written, to_write - written);
+               if (ret >= 0)
+                       written += ret;
+               else if (errno == EINTR)
+                       continue;
+               else
+                       close_binary_protocol_file ();
+       }
+
        current_file_size += buffer->index;
 
        sgen_free_os_memory (buffer, sizeof (BinaryProtocolBuffer), SGEN_ALLOC_INTERNAL);
@@ -168,8 +209,7 @@ binary_protocol_check_file_overflow (void)
        if (file_size_limit <= 0 || current_file_size < file_size_limit)
                return;
 
-       fclose (binary_protocol_file);
-       binary_protocol_file = NULL;
+       close_binary_protocol_file ();
 
        if (current_file_index > 0) {
                char *filename = filename_for_index (current_file_index - 1);
@@ -182,15 +222,17 @@ binary_protocol_check_file_overflow (void)
 
        binary_protocol_open_file ();
 }
+#endif
 
 void
 binary_protocol_flush_buffers (gboolean force)
 {
+#ifdef HAVE_UNISTD_H
        int num_buffers = 0, i;
        BinaryProtocolBuffer *buf;
        BinaryProtocolBuffer **bufs;
 
-       if (!binary_protocol_file)
+       if (binary_protocol_file == -1)
                return;
 
        if (!force && !try_lock_exclusive ())
@@ -214,15 +256,14 @@ binary_protocol_flush_buffers (gboolean force)
 
        if (!force)
                unlock_exclusive ();
-
-       fflush (binary_protocol_file);
+#endif
 }
 
+#ifdef HAVE_UNISTD_H
 static BinaryProtocolBuffer*
 binary_protocol_get_buffer (int length)
 {
        BinaryProtocolBuffer *buffer, *new_buffer;
-
  retry:
        buffer = binary_protocol_buffers;
        if (buffer && buffer->index + length <= BINARY_PROTOCOL_BUFFER_SIZE)
@@ -239,15 +280,16 @@ binary_protocol_get_buffer (int length)
 
        return new_buffer;
 }
-
+#endif
 
 static void
 protocol_entry (unsigned char type, gpointer data, int size)
 {
+#ifdef HAVE_UNISTD_H
        int index;
        BinaryProtocolBuffer *buffer;
 
-       if (!binary_protocol_file)
+       if (binary_protocol_file == -1)
                return;
 
        if (sgen_is_worker_thread (mono_native_thread_id_get ()))
@@ -275,6 +317,7 @@ protocol_entry (unsigned char type, gpointer data, int size)
        g_assert (index <= BINARY_PROTOCOL_BUFFER_SIZE);
 
        unlock_recursive ();
+#endif
 }
 
 void
@@ -288,17 +331,17 @@ binary_protocol_collection_force (int generation)
 void
 binary_protocol_collection_begin (int index, int generation)
 {
-       SGenProtocolCollection entry = { index, generation };
+       SGenProtocolCollectionBegin entry = { index, generation };
        binary_protocol_flush_buffers (FALSE);
-       protocol_entry (SGEN_PROTOCOL_COLLECTION_BEGIN, &entry, sizeof (SGenProtocolCollection));
+       protocol_entry (SGEN_PROTOCOL_COLLECTION_BEGIN, &entry, sizeof (SGenProtocolCollectionBegin));
 }
 
 void
-binary_protocol_collection_end (int index, int generation)
+binary_protocol_collection_end (int index, int generation, long long num_objects_scanned, long long num_unique_objects_scanned)
 {
-       SGenProtocolCollection entry = { index, generation };
+       SGenProtocolCollectionEnd entry = { index, generation, num_objects_scanned, num_unique_objects_scanned };
        binary_protocol_flush_buffers (FALSE);
-       protocol_entry (SGEN_PROTOCOL_COLLECTION_END, &entry, sizeof (SGenProtocolCollection));
+       protocol_entry (SGEN_PROTOCOL_COLLECTION_END, &entry, sizeof (SGenProtocolCollectionEnd));
 }
 
 void
@@ -308,9 +351,15 @@ binary_protocol_concurrent_start (void)
 }
 
 void
-binary_protocol_concurrent_update_finish (void)
+binary_protocol_concurrent_update (void)
+{
+       protocol_entry (SGEN_PROTOCOL_CONCURRENT_UPDATE, NULL, 0);
+}
+
+void
+binary_protocol_concurrent_finish (void)
 {
-       protocol_entry (SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH, NULL, 0);
+       protocol_entry (SGEN_PROTOCOL_CONCURRENT_FINISH, NULL, 0);
 }
 
 void
@@ -437,6 +486,13 @@ binary_protocol_copy (gpointer from, gpointer to, gpointer vtable, int size)
        protocol_entry (SGEN_PROTOCOL_COPY, &entry, sizeof (SGenProtocolCopy));
 }
 
+void
+binary_protocol_pin_stage (gpointer addr_ptr, gpointer addr)
+{
+       SGenProtocolPinStage entry = { addr_ptr, addr };
+       protocol_entry (SGEN_PROTOCOL_PIN_STAGE, &entry, sizeof (SGenProtocolPinStage));
+}
+
 void
 binary_protocol_pin (gpointer obj, gpointer vtable, int size)
 {
@@ -465,6 +521,13 @@ binary_protocol_scan_vtype_begin (gpointer obj, int size)
        protocol_entry (SGEN_PROTOCOL_SCAN_VTYPE_BEGIN, &entry, sizeof (SGenProtocolScanVTypeBegin));
 }
 
+void
+binary_protocol_scan_process_reference (gpointer obj, gpointer ptr, gpointer value)
+{
+       SGenProtocolScanProcessReference entry = { obj, ptr, value };
+       protocol_entry (SGEN_PROTOCOL_SCAN_PROCESS_REFERENCE, &entry, sizeof (SGenProtocolScanProcessReference));
+}
+
 void
 binary_protocol_wbarrier (gpointer ptr, gpointer value, gpointer value_vtable)
 {
index c2552280df40f93069ca535ee0d2d8b7d4833d55..fbf3df6412f11444ef469baf6be3497789731155 100644 (file)
@@ -30,17 +30,20 @@ enum {
        SGEN_PROTOCOL_COLLECTION_BEGIN,
        SGEN_PROTOCOL_COLLECTION_END,
        SGEN_PROTOCOL_CONCURRENT_START,
-       SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH,
+       SGEN_PROTOCOL_CONCURRENT_UPDATE,
+       SGEN_PROTOCOL_CONCURRENT_FINISH,
        SGEN_PROTOCOL_WORLD_STOPPING,
        SGEN_PROTOCOL_WORLD_STOPPED,
        SGEN_PROTOCOL_WORLD_RESTARTING,
        SGEN_PROTOCOL_WORLD_RESTARTED,
        SGEN_PROTOCOL_ALLOC,
        SGEN_PROTOCOL_COPY,
+       SGEN_PROTOCOL_PIN_STAGE,
        SGEN_PROTOCOL_PIN,
        SGEN_PROTOCOL_MARK,
        SGEN_PROTOCOL_SCAN_BEGIN,
        SGEN_PROTOCOL_SCAN_VTYPE_BEGIN,
+       SGEN_PROTOCOL_SCAN_PROCESS_REFERENCE,
        SGEN_PROTOCOL_WBARRIER,
        SGEN_PROTOCOL_GLOBAL_REMSET,
        SGEN_PROTOCOL_PTR_UPDATE,
@@ -71,7 +74,13 @@ typedef struct {
 
 typedef struct {
        int index, generation;
-} SGenProtocolCollection;
+} SGenProtocolCollectionBegin;
+
+typedef struct {
+       int index, generation;
+       long long num_scanned_objects;
+       long long num_unique_scanned_objects;
+} SGenProtocolCollectionEnd;
 
 typedef struct {
        long long timestamp;
@@ -112,6 +121,11 @@ typedef struct {
        int size;
 } SGenProtocolCopy;
 
+typedef struct {
+       gpointer addr_ptr;
+       gpointer addr;
+} SGenProtocolPinStage;
+
 typedef struct {
        gpointer obj;
        gpointer vtable;
@@ -135,6 +149,12 @@ typedef struct {
        int size;
 } SGenProtocolScanVTypeBegin;
 
+typedef struct {
+       gpointer obj;
+       gpointer ptr;
+       gpointer value;
+} SGenProtocolScanProcessReference;
+
 typedef struct {
        gpointer ptr;
        gpointer value;
@@ -241,9 +261,10 @@ void binary_protocol_flush_buffers (gboolean force) MONO_INTERNAL;
 
 void binary_protocol_collection_force (int generation) MONO_INTERNAL;
 void binary_protocol_collection_begin (int index, int generation) MONO_INTERNAL;
-void binary_protocol_collection_end (int index, int generation) MONO_INTERNAL;
+void binary_protocol_collection_end (int index, int generation, long long num_objects_scanned, long long num_unique_objects_scanned) MONO_INTERNAL;
 void binary_protocol_concurrent_start (void) MONO_INTERNAL;
-void binary_protocol_concurrent_update_finish (void) MONO_INTERNAL;
+void binary_protocol_concurrent_update (void) MONO_INTERNAL;
+void binary_protocol_concurrent_finish (void) MONO_INTERNAL;
 void binary_protocol_world_stopping (long long timestamp) MONO_INTERNAL;
 void binary_protocol_world_stopped (long long timestamp, long long total_major_cards,
                long long marked_major_cards, long long total_los_cards, long long marked_los_cards) MONO_INTERNAL;
@@ -272,10 +293,12 @@ void binary_protocol_alloc (gpointer obj, gpointer vtable, int size) MONO_INTERN
 void binary_protocol_alloc_pinned (gpointer obj, gpointer vtable, int size) MONO_INTERNAL;
 void binary_protocol_alloc_degraded (gpointer obj, gpointer vtable, int size) MONO_INTERNAL;
 void binary_protocol_copy (gpointer from, gpointer to, gpointer vtable, int size) MONO_INTERNAL;
+void binary_protocol_pin_stage (gpointer addr_ptr, gpointer addr) MONO_INTERNAL;
 void binary_protocol_pin (gpointer obj, gpointer vtable, int size) MONO_INTERNAL;
 void binary_protocol_mark (gpointer obj, gpointer vtable, int size) MONO_INTERNAL;
 void binary_protocol_scan_begin (gpointer obj, gpointer vtable, int size) MONO_INTERNAL;
 void binary_protocol_scan_vtype_begin (gpointer start, int size) MONO_INTERNAL;
+void binary_protocol_scan_process_reference (gpointer obj, gpointer ptr, gpointer value) MONO_INTERNAL;
 void binary_protocol_wbarrier (gpointer ptr, gpointer value, gpointer value_vtable) MONO_INTERNAL;
 void binary_protocol_global_remset (gpointer ptr, gpointer value, gpointer value_vtable) MONO_INTERNAL;
 void binary_protocol_ptr_update (gpointer ptr, gpointer old_value, gpointer new_value, gpointer vtable, int size) MONO_INTERNAL;
@@ -296,10 +319,12 @@ void binary_protocol_gray_dequeue (gpointer queue, gpointer cursor, gpointer val
 #define binary_protocol_alloc_pinned(obj, vtable, size)
 #define binary_protocol_alloc_degraded(obj, vtable, size)
 #define binary_protocol_copy(from, to, vtable, size)
+#define binary_protocol_pin_stage(addr_ptr, addr)
 #define binary_protocol_pin(obj, vtable, size)
 #define binary_protocol_mark(obj, vtable, size)
 #define binary_protocol_scan_begin(obj, vtable, size)
 #define binary_protocol_scan_vtype_begin(obj, size)
+#define binary_protocol_scan_process_reference(obj, ptr, value)
 #define binary_protocol_wbarrier(ptr, value, value_vtable)
 #define binary_protocol_global_remset(ptr, value, value_vtable)
 #define binary_protocol_ptr_update(ptr, old_value, new_value, vtable, size)
index ad569dda3595206fad7a2dd294c5040688b119c1..30c43fb2854f75c9de34be501b5ccb959c9d2288 100644 (file)
        binary_protocol_scan_vtype_begin (start + sizeof (MonoObject), size);
 #endif
 #endif
-       switch (desc & 0x7) {
+       switch (desc & DESC_TYPE_MASK) {
        case DESC_TYPE_RUN_LENGTH:
 #define SCAN OBJ_RUN_LEN_FOREACH_PTR (desc, start)
 #ifndef SCAN_OBJECT_NOSCAN
                SCAN;
 #endif
-#undef SCAN
-               break;
-       case DESC_TYPE_SMALL_BITMAP:
-#define SCAN OBJ_BITMAP_FOREACH_PTR (desc, start)
-#ifndef SCAN_OBJECT_NOSCAN
-               SCAN;
-#endif
 #undef SCAN
                break;
        case DESC_TYPE_VECTOR:
@@ -75,8 +68,8 @@
 #endif
 #undef SCAN
                break;
-       case DESC_TYPE_LARGE_BITMAP:
-#define SCAN OBJ_LARGE_BITMAP_FOREACH_PTR (desc, start)
+       case DESC_TYPE_BITMAP:
+#define SCAN OBJ_BITMAP_FOREACH_PTR (desc, start)
 #ifndef SCAN_OBJECT_NOSCAN
                SCAN;
 #endif
 #undef SCAN
                break;
 #endif
+       case DESC_TYPE_SMALL_PTRFREE:
        case DESC_TYPE_COMPLEX_PTRFREE:
                /*Nothing to do*/
                break;
index 2a9bf34788c6826a485c41998a56dee33e553072..eb6a50d9726cb6c44a2f6733da86c17ebd931e3e 100644 (file)
@@ -38,7 +38,6 @@
 #define TV_DECLARE SGEN_TV_DECLARE
 #define TV_GETTIME SGEN_TV_GETTIME
 #define TV_ELAPSED SGEN_TV_ELAPSED
-#define TV_ELAPSED_MS SGEN_TV_ELAPSED_MS
 
 inline static void*
 align_pointer (void *ptr)
@@ -202,8 +201,8 @@ count_cards (long long *major_total, long long *major_marked, long long *los_tot
 static TV_DECLARE (stop_world_time);
 static unsigned long max_pause_usec = 0;
 
-static long long time_stop_world;
-static long long time_restart_world;
+static guint64 time_stop_world;
+static guint64 time_restart_world;
 
 /* LOCKING: assumes the GC lock is held */
 int
@@ -235,8 +234,9 @@ sgen_stop_world (int generation)
        mono_profiler_gc_event (MONO_GC_EVENT_POST_STOP_WORLD, generation);
        MONO_GC_WORLD_STOP_END ();
        if (binary_protocol_is_enabled ()) {
-               long long major_total, major_marked, los_total, los_marked;
-               count_cards (&major_total, &major_marked, &los_total, &los_marked);
+               long long major_total = -1, major_marked = -1, los_total = -1, los_marked = -1;
+               if (binary_protocol_is_heavy_enabled ())
+                       count_cards (&major_total, &major_marked, &los_total, &los_marked);
                binary_protocol_world_stopped (sgen_timestamp (), major_total, major_marked, los_total, los_marked);
        }
 
@@ -262,8 +262,9 @@ sgen_restart_world (int generation, GGTimingInfo *timing)
        unsigned long usec, bridge_usec;
 
        if (binary_protocol_is_enabled ()) {
-               long long major_total, major_marked, los_total, los_marked;
-               count_cards (&major_total, &major_marked, &los_total, &los_marked);
+               long long major_total = -1, major_marked = -1, los_total = -1, los_marked = -1;
+               if (binary_protocol_is_heavy_enabled ())
+                       count_cards (&major_total, &major_marked, &los_total, &los_marked);
                binary_protocol_world_restarting (generation, sgen_timestamp (), major_total, major_marked, los_total, los_marked);
        }
 
@@ -326,8 +327,8 @@ sgen_restart_world (int generation, GGTimingInfo *timing)
 void
 sgen_init_stw (void)
 {
-       mono_counters_register ("World stop", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_stop_world);
-       mono_counters_register ("World restart", MONO_COUNTER_GC | MONO_COUNTER_LONG | MONO_COUNTER_TIME, &time_restart_world);
+       mono_counters_register ("World stop", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_stop_world);
+       mono_counters_register ("World restart", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &time_restart_world);
 }
 
 #endif
index fc065f7f96b520ba494ec2ad197bb060981e64cf..3d63e94bfcd89bb3678b5c5bbae166e594a5ad34 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __MONO_SGEN_TAGGED_POINTER_H__
 #define __MONO_SGEN_TAGGED_POINTER_H__
 
+#define SGEN_TAGGED_POINTER_MASK       7
+
 #define SGEN_POINTER_IS_TAGGED_1(p)    ((mword)(p) & 1)
 #define SGEN_POINTER_TAG_1(p)          ((void*)((mword)(p) | 1))
 #define SGEN_POINTER_UNTAG_1(p)                ((void*)((mword)(p) & ~1))
 #define SGEN_POINTER_TAG_2(p)          ((void*)((mword)(p) | 2))
 #define SGEN_POINTER_UNTAG_2(p)                ((void*)((mword)(p) & ~2))
 
-#define SGEN_POINTER_IS_TAGGED_1_OR_2(p)       ((mword)(p) & 3)
-#define SGEN_POINTER_UNTAG_12(p)       ((void*)((mword)(p) & ~3))
+#define SGEN_POINTER_TAG_12(p)         ((mword)(p) & 3)
+#define SGEN_POINTER_SET_TAG_12(p,t)   ((void*)(((mword)(p) & ~3) | (t)))
+
+#define SGEN_POINTER_IS_TAGGED_4(p)    ((mword)(p) & 4)
+#define SGEN_POINTER_TAG_4(p)          ((void*)((mword)(p) | 4))
+#define SGEN_POINTER_UNTAG_4(p)                ((void*)((mword)(p) & ~4))
+
+#define SGEN_POINTER_UNTAG_24(p)       ((void*)((mword)(p) & ~6))
+
+#define SGEN_POINTER_IS_TAGGED_ANY(p)  ((mword)(p) & SGEN_TAGGED_POINTER_MASK)
+#define SGEN_POINTER_UNTAG_ALL(p)      ((void*)((mword)(p) & ~SGEN_TAGGED_POINTER_MASK))
 
 #endif
index 2d48745762b3b7fe21b29a48c2de3226d2b8ece7..9144fc27c28e933869b3d9b3e6f8f1cb57882f05 100644 (file)
@@ -33,21 +33,32 @@ static void *workers_gc_thread_major_collector_data = NULL;
 static SgenSectionGrayQueue workers_distribute_gray_queue;
 static gboolean workers_distribute_gray_queue_inited;
 
-static volatile gboolean workers_marking = FALSE;
 static gboolean workers_started = FALSE;
 
+enum {
+       STATE_NOT_WORKING,
+       STATE_WORKING,
+       STATE_NURSERY_COLLECTION
+} WorkersStateName;
+
+/*
+ * | state                    | num_awake | num_posted                 | post_done |
+ * |--------------------------+-----------+----------------------------+-----------|
+ * | STATE_NOT_WORKING        | 0         | *                          |         0 |
+ * | STATE_WORKING            | > 0       | <= workers_num - num_awake |         * |
+ * | STATE_NURSERY_COLLECTION | *         | <= workers_num - num_awake |         1 |
+ * | STATE_NURSERY_COLLECTION | 0         | 0                          |         0 |
+ */
 typedef union {
        gint32 value;
        struct {
-               /*
-                * Decremented by the main thread and incremented by
-                * worker threads.
-                */
-               guint32 num_waiting : 8;
-               /* Set by worker threads and reset by the main thread. */
-               guint32 done_posted : 1;
-               /* Set by the main thread. */
-               guint32 gc_in_progress : 1;
+               guint state : 4; /* WorkersStateName */
+               /* Number of worker threads awake. */
+               guint num_awake : 8;
+               /* The state of the waiting semaphore. */
+               guint num_posted : 8;
+               /* Whether to post `workers_done_sem` */
+               guint post_done : 1;
        } data;
 } State;
 
@@ -62,79 +73,147 @@ static LOCK_DECLARE (workers_job_queue_mutex);
 static int workers_num_jobs_enqueued = 0;
 static volatile int workers_num_jobs_finished = 0;
 
-static long long stat_workers_stolen_from_self_lock;
-static long long stat_workers_stolen_from_self_no_lock;
-static long long stat_workers_stolen_from_others;
-static long long stat_workers_num_waited;
+static guint64 stat_workers_stolen_from_self_lock;
+static guint64 stat_workers_stolen_from_self_no_lock;
+static guint64 stat_workers_stolen_from_others;
+static guint64 stat_workers_num_waited;
 
 static gboolean
 set_state (State old_state, State new_state)
 {
+       if (old_state.data.state == STATE_NURSERY_COLLECTION)
+               SGEN_ASSERT (0, new_state.data.state != STATE_NOT_WORKING, "Can't go from nursery collection to not working");
+
        return InterlockedCompareExchange (&workers_state.value,
                        new_state.value, old_state.value) == old_state.value;
 }
 
 static void
-workers_wake_up (int max)
+assert_not_working (State state)
+{
+       SGEN_ASSERT (0, state.data.state == STATE_NOT_WORKING, "Can only signal enqueue work when in no work state");
+       SGEN_ASSERT (0, state.data.num_awake == 0, "No workers can be awake when not working");
+       SGEN_ASSERT (0, state.data.num_posted == 0, "Can't have posted already");
+       SGEN_ASSERT (0, !state.data.post_done, "post_done can only be set when working");
+
+}
+
+static void
+assert_working (State state, gboolean from_worker)
+{
+       SGEN_ASSERT (0, state.data.state == STATE_WORKING, "A worker can't wait without being in working state");
+       if (from_worker)
+               SGEN_ASSERT (0, state.data.num_awake > 0, "How can we be awake, yet we are not counted?");
+       else
+               SGEN_ASSERT (0, state.data.num_awake + state.data.num_posted > 0, "How can we be working, yet no worker threads are awake or to be awoken?");
+       SGEN_ASSERT (0, state.data.num_awake + state.data.num_posted <= workers_num, "There are too many worker threads awake");
+}
+
+static void
+assert_nursery_collection (State state, gboolean from_worker)
 {
+       SGEN_ASSERT (0, state.data.state == STATE_NURSERY_COLLECTION, "Must be in the nursery collection state");
+       if (from_worker) {
+               SGEN_ASSERT (0, state.data.num_awake > 0, "We're awake, but num_awake is zero");
+               SGEN_ASSERT (0, state.data.post_done, "post_done must be set in the nursery collection state");
+       }
+       SGEN_ASSERT (0, state.data.num_awake <= workers_num, "There are too many worker threads awake");
+       if (!state.data.post_done) {
+               SGEN_ASSERT (0, state.data.num_awake == 0, "Once done has been posted no threads can be awake");
+               SGEN_ASSERT (0, state.data.num_posted == 0, "Once done has been posted no thread must be awoken");
+       }
+}
+
+static void
+assert_working_or_nursery_collection (State state)
+{
+       if (state.data.state == STATE_WORKING)
+               assert_working (state, TRUE);
+       else
+               assert_nursery_collection (state, TRUE);
+}
+
+static void
+workers_signal_enqueue_work (int num_wake_up, gboolean from_nursery_collection)
+{
+       State old_state = workers_state;
+       State new_state = old_state;
        int i;
+       gboolean did_set_state;
+
+       SGEN_ASSERT (0, num_wake_up <= workers_num, "Cannot wake up more workers than are present");
 
-       for (i = 0; i < max; ++i) {
-               State old_state, new_state;
-               do {
-                       old_state = new_state = workers_state;
-                       /*
-                        * We must not wake workers up once done has
-                        * been posted.
-                        */
-                       if (old_state.data.done_posted)
-                               return;
-                       if (old_state.data.num_waiting == 0)
-                               return;
-                       --new_state.data.num_waiting;
-               } while (!set_state (old_state, new_state));
+       if (from_nursery_collection)
+               assert_nursery_collection (old_state, FALSE);
+       else
+               assert_not_working (old_state);
+
+       new_state.data.state = STATE_WORKING;
+       new_state.data.num_posted = num_wake_up;
+
+       did_set_state = set_state (old_state, new_state);
+       SGEN_ASSERT (0, did_set_state, "Nobody else should be mutating the state");
+
+       for (i = 0; i < num_wake_up; ++i)
                MONO_SEM_POST (&workers_waiting_sem);
-       }
 }
 
 static void
-workers_wake_up_all (void)
+workers_signal_enqueue_work_if_necessary (int num_wake_up)
 {
-       workers_wake_up (workers_num);
+       if (workers_state.data.state == STATE_NOT_WORKING)
+               workers_signal_enqueue_work (num_wake_up, FALSE);
 }
 
 void
-sgen_workers_wake_up_all (void)
+sgen_workers_ensure_awake (void)
 {
-       g_assert (workers_state.data.gc_in_progress);
-       workers_wake_up_all ();
+       SGEN_ASSERT (0, workers_state.data.state != STATE_NURSERY_COLLECTION, "Can't wake workers during nursery collection");
+       workers_signal_enqueue_work_if_necessary (workers_num);
 }
 
 static void
 workers_wait (void)
 {
        State old_state, new_state;
+       gboolean post_done;
+
        ++stat_workers_num_waited;
+
        do {
-               old_state = new_state = workers_state;
-               /*
-                * Only the last worker thread awake can set the done
-                * posted flag, and since we're awake and haven't set
-                * it yet, it cannot be set.
-                */
-               g_assert (!old_state.data.done_posted);
-               ++new_state.data.num_waiting;
-               /*
-                * This is the only place where we use
-                * workers_gc_in_progress in the worker threads.
-                */
-               if (new_state.data.num_waiting == workers_num && !old_state.data.gc_in_progress)
-                       new_state.data.done_posted = 1;
+               new_state = old_state = workers_state;
+
+               assert_working_or_nursery_collection (old_state);
+
+               --new_state.data.num_awake;
+               post_done = FALSE;
+               if (!new_state.data.num_awake && !new_state.data.num_posted) {
+                       /* We are the last thread to go to sleep. */
+                       if (old_state.data.state == STATE_WORKING)
+                               new_state.data.state = STATE_NOT_WORKING;
+
+                       new_state.data.post_done = 0;
+                       if (old_state.data.post_done)
+                               post_done = TRUE;
+               }
        } while (!set_state (old_state, new_state));
-       mono_memory_barrier ();
-       if (new_state.data.done_posted)
+
+       if (post_done)
                MONO_SEM_POST (&workers_done_sem);
+
        MONO_SEM_WAIT (&workers_waiting_sem);
+
+       do {
+               new_state = old_state = workers_state;
+
+               SGEN_ASSERT (0, old_state.data.num_posted > 0, "How can we be awake without the semaphore having been posted?");
+               SGEN_ASSERT (0, old_state.data.num_awake < workers_num, "There are too many worker threads awake");
+
+               --new_state.data.num_posted;
+               ++new_state.data.num_awake;
+
+               assert_working_or_nursery_collection (new_state);
+       } while (!set_state (old_state, new_state));
 }
 
 static gboolean
@@ -154,8 +233,6 @@ sgen_workers_enqueue_job (JobFunc func, void *data)
                return;
        }
 
-       g_assert (workers_state.data.gc_in_progress);
-
        entry = sgen_alloc_internal (INTERNAL_MEM_JOB_QUEUE_ENTRY);
        entry->func = func;
        entry->data = data;
@@ -167,23 +244,60 @@ sgen_workers_enqueue_job (JobFunc func, void *data)
        ++workers_num_jobs_enqueued;
        mono_mutex_unlock (&workers_job_queue_mutex);
 
-       workers_wake_up (num_entries);
+       if (workers_state.data.state != STATE_NURSERY_COLLECTION)
+               workers_signal_enqueue_work_if_necessary (num_entries);
 }
 
 void
-sgen_workers_wait_for_jobs (void)
+sgen_workers_wait_for_jobs_finished (void)
 {
        // FIXME: implement this properly
        while (workers_num_jobs_finished < workers_num_jobs_enqueued) {
-               State state = workers_state;
-               g_assert (state.data.gc_in_progress);
-               g_assert (!state.data.done_posted);
-               if (state.data.num_waiting == workers_num)
-                       workers_wake_up_all ();
+               workers_signal_enqueue_work_if_necessary (workers_num);
+               /* FIXME: sleep less? */
                g_usleep (1000);
        }
 }
 
+void
+sgen_workers_signal_start_nursery_collection_and_wait (void)
+{
+       State old_state, new_state;
+
+       do {
+               new_state = old_state = workers_state;
+
+               new_state.data.state = STATE_NURSERY_COLLECTION;
+
+               if (old_state.data.state == STATE_NOT_WORKING) {
+                       assert_not_working (old_state);
+               } else {
+                       assert_working (old_state, FALSE);
+                       SGEN_ASSERT (0, !old_state.data.post_done, "We are not waiting for the workers");
+
+                       new_state.data.post_done = 1;
+               }
+       } while (!set_state (old_state, new_state));
+
+       if (new_state.data.post_done)
+               MONO_SEM_WAIT (&workers_done_sem);
+
+       old_state = workers_state;
+       assert_nursery_collection (old_state, FALSE);
+       SGEN_ASSERT (0, !old_state.data.post_done, "We got the semaphore, so it must have been posted");
+}
+
+void
+sgen_workers_signal_finish_nursery_collection (void)
+{
+       State old_state = workers_state;
+
+       assert_nursery_collection (old_state, FALSE);
+       SGEN_ASSERT (0, !old_state.data.post_done, "We are finishing the nursery collection, so we should have waited for the semaphore earlier");
+
+       workers_signal_enqueue_work (workers_num, TRUE);
+}
+
 static gboolean
 workers_dequeue_and_do_job (WorkerData *data)
 {
@@ -325,8 +439,7 @@ workers_gray_queue_share_redirect (SgenGrayQueue *queue)
                 * There are still objects in the stealable stack, so
                 * wake up any workers that might be sleeping
                 */
-               if (workers_state.data.gc_in_progress)
-                       workers_wake_up_all ();
+               workers_signal_enqueue_work_if_necessary (workers_num);
                return;
        }
 
@@ -355,8 +468,7 @@ workers_gray_queue_share_redirect (SgenGrayQueue *queue)
 
        mono_mutex_unlock (&data->stealable_stack_mutex);
 
-       if (workers_state.data.gc_in_progress)
-               workers_wake_up_all ();
+       workers_signal_enqueue_work_if_necessary (workers_num);
 }
 
 static void
@@ -391,12 +503,14 @@ workers_thread_func (void *data_untyped)
        for (;;) {
                gboolean did_work = FALSE;
 
-               while (workers_dequeue_and_do_job (data)) {
+               SGEN_ASSERT (0, sgen_get_current_collection_generation () != GENERATION_NURSERY, "Why are we doing work while there's a nursery collection happening?");
+
+               while (workers_state.data.state == STATE_WORKING && workers_dequeue_and_do_job (data)) {
                        did_work = TRUE;
                        /* FIXME: maybe distribute the gray queue here? */
                }
 
-               if (workers_marking && (!sgen_gray_object_queue_is_empty (&data->private_gray_queue) || workers_get_work (data))) {
+               if (!sgen_gray_object_queue_is_empty (&data->private_gray_queue) || workers_get_work (data)) {
                        SgenObjectOperations *ops = sgen_concurrent_collection_in_progress ()
                                ? &major->major_concurrent_ops
                                : &major->major_ops;
@@ -404,8 +518,12 @@ workers_thread_func (void *data_untyped)
 
                        g_assert (!sgen_gray_object_queue_is_empty (&data->private_gray_queue));
 
-                       while (!sgen_drain_gray_stack (32, ctx))
+                       while (!sgen_drain_gray_stack (32, ctx)) {
+                               if (workers_state.data.state == STATE_NURSERY_COLLECTION)
+                                       workers_wait ();
+
                                workers_gray_queue_share_redirect (&data->private_gray_queue);
+                       }
                        g_assert (sgen_gray_object_queue_is_empty (&data->private_gray_queue));
 
                        init_private_gray_queue (data);
@@ -482,10 +600,10 @@ sgen_workers_init (int num_workers)
 
        sgen_register_fixed_internal_mem_type (INTERNAL_MEM_JOB_QUEUE_ENTRY, sizeof (JobQueueEntry));
 
-       mono_counters_register ("Stolen from self lock", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_workers_stolen_from_self_lock);
-       mono_counters_register ("Stolen from self no lock", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_workers_stolen_from_self_no_lock);
-       mono_counters_register ("Stolen from others", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_workers_stolen_from_others);
-       mono_counters_register ("# workers waited", MONO_COUNTER_GC | MONO_COUNTER_LONG, &stat_workers_num_waited);
+       mono_counters_register ("Stolen from self lock", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_workers_stolen_from_self_lock);
+       mono_counters_register ("Stolen from self no lock", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_workers_stolen_from_self_no_lock);
+       mono_counters_register ("Stolen from others", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_workers_stolen_from_others);
+       mono_counters_register ("# workers waited", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_workers_num_waited);
 }
 
 /* only the GC thread is allowed to start and join workers */
@@ -504,6 +622,7 @@ sgen_workers_start_all_workers (void)
 {
        State old_state, new_state;
        int i;
+       gboolean result;
 
        if (!collection_needs_workers ())
                return;
@@ -512,35 +631,21 @@ sgen_workers_start_all_workers (void)
                sgen_get_major_collector ()->init_worker_thread (workers_gc_thread_major_collector_data);
 
        old_state = new_state = workers_state;
-       g_assert (!old_state.data.gc_in_progress);
-       new_state.data.gc_in_progress = TRUE;
-
-       workers_marking = FALSE;
+       assert_not_working (old_state);
 
        g_assert (workers_job_queue_num_entries == 0);
        workers_num_jobs_enqueued = 0;
        workers_num_jobs_finished = 0;
 
        if (workers_started) {
-               g_assert (old_state.data.done_posted);
-               if (old_state.data.num_waiting != workers_num) {
-                       g_error ("Expecting all %d sgen workers to be parked, but only %d are",
-                                       workers_num, old_state.data.num_waiting);
-               }
-
-               /* Clear the done posted flag */
-               new_state.data.done_posted = 0;
-               if (!set_state (old_state, new_state))
-                       g_assert_not_reached ();
-
-               workers_wake_up_all ();
+               workers_signal_enqueue_work (workers_num, FALSE);
                return;
        }
 
-       g_assert (!old_state.data.done_posted);
-
-       if (!set_state (old_state, new_state))
-               g_assert_not_reached ();
+       new_state.data.state = STATE_WORKING;
+       new_state.data.num_awake = workers_num;
+       result = set_state (old_state, new_state);
+       SGEN_ASSERT (0, result, "Nobody else should have modified the state - workers have not been started yet");
 
        for (i = 0; i < workers_num; ++i)
                workers_start_worker (i);
@@ -551,84 +656,51 @@ sgen_workers_start_all_workers (void)
 gboolean
 sgen_workers_have_started (void)
 {
-       return workers_state.data.gc_in_progress;
-}
-
-void
-sgen_workers_start_marking (void)
-{
-       if (!collection_needs_workers ())
-               return;
-
-       g_assert (workers_started && workers_state.data.gc_in_progress);
-       g_assert (!workers_marking);
-
-       workers_marking = TRUE;
-
-       workers_wake_up_all ();
+       return workers_started;
 }
 
 void
 sgen_workers_join (void)
 {
-       State old_state, new_state;
+       State old_state;
        int i;
 
        if (!collection_needs_workers ())
                return;
 
-       do {
-               old_state = new_state = workers_state;
-               g_assert (old_state.data.gc_in_progress);
-               g_assert (!old_state.data.done_posted);
+       for (;;) {
+               old_state = workers_state;
+               SGEN_ASSERT (0, old_state.data.state != STATE_NURSERY_COLLECTION, "Can't be in nursery collection when joining");
 
-               new_state.data.gc_in_progress = 0;
-       } while (!set_state (old_state, new_state));
+               if (old_state.data.state == STATE_WORKING) {
+                       State new_state = old_state;
 
-       if (new_state.data.num_waiting == workers_num) {
-               /*
-                * All the workers have shut down but haven't posted
-                * the done semaphore yet, or, if we come from below,
-                * haven't done all their work yet.
-                *
-                * It's not a big deal to wake them up again - they'll
-                * just do one iteration of their loop trying to find
-                * something to do and then go back to waiting again.
-                */
-       reawaken:
-               workers_wake_up_all ();
-       }
-       MONO_SEM_WAIT (&workers_done_sem);
+                       SGEN_ASSERT (0, !old_state.data.post_done, "Why is post_done already set?");
+                       new_state.data.post_done = 1;
+                       if (!set_state (old_state, new_state))
+                               continue;
 
-       old_state = new_state = workers_state;
-       g_assert (old_state.data.num_waiting == workers_num);
-       g_assert (old_state.data.done_posted);
+                       MONO_SEM_WAIT (&workers_done_sem);
+
+                       old_state = workers_state;
+               }
+
+               assert_not_working (old_state);
 
-       if (workers_job_queue_num_entries || !sgen_section_gray_queue_is_empty (&workers_distribute_gray_queue)) {
                /*
-                * There's a small race condition that we avoid here.
-                * It's possible that a worker thread runs out of
-                * things to do, so it goes to sleep.  Right at that
-                * moment a new job is enqueued, but the thread is
-                * still registered as running.  Now the threads are
-                * joined, and we wait for the semaphore.  Only at
-                * this point does the worker go to sleep, and posts
-                * the semaphore, because workers_gc_in_progress is
-                * already FALSE.  The job is still in the queue,
-                * though.
-                *
-                * Clear the done posted flag.
+                * Checking whether there is still work left and, if not, going to sleep,
+                * are two separate actions that are not performed atomically by the
+                * workers.  Therefore there's a race condition where work can be added
+                * after they've checked for work, and before they've gone to sleep.
                 */
-               new_state.data.done_posted = 0;
-               if (!set_state (old_state, new_state))
-                       g_assert_not_reached ();
-               goto reawaken;
+               if (!workers_job_queue_num_entries && sgen_section_gray_queue_is_empty (&workers_distribute_gray_queue))
+                       break;
+
+               workers_signal_enqueue_work (workers_num, FALSE);
        }
 
        /* At this point all the workers have stopped. */
 
-       workers_marking = FALSE;
-
        if (sgen_get_major_collector ()->reset_worker_data) {
                for (i = 0; i < workers_num; ++i)
                        sgen_get_major_collector ()->reset_worker_data (workers_data [i].major_collector_data);
@@ -644,15 +716,15 @@ sgen_workers_join (void)
 
 gboolean
 sgen_workers_all_done (void)
+{
+       return workers_state.data.state == STATE_NOT_WORKING;
+}
+
+gboolean
+sgen_workers_are_working (void)
 {
        State state = workers_state;
-       /*
-        * Can only be called while the collection is still in
-        * progress, i.e., before done has been posted.
-        */
-       g_assert (state.data.gc_in_progress);
-       g_assert (!state.data.done_posted);
-       return state.data.num_waiting == workers_num;
+       return state.data.num_awake > 0 || state.data.num_posted > 0;
 }
 
 gboolean
index d13c460967437a25387240f4bac000aae8735ac5..298071bec144a99c26df9215d2b9e62a263af228 100644 (file)
@@ -50,15 +50,18 @@ struct _JobQueueEntry {
 void sgen_workers_init (int num_workers) MONO_INTERNAL;
 void sgen_workers_start_all_workers (void) MONO_INTERNAL;
 gboolean sgen_workers_have_started (void) MONO_INTERNAL;
-void sgen_workers_wake_up_all (void) MONO_INTERNAL;
+void sgen_workers_ensure_awake (void) MONO_INTERNAL;
 void sgen_workers_init_distribute_gray_queue (void) MONO_INTERNAL;
 void sgen_workers_enqueue_job (JobFunc func, void *data) MONO_INTERNAL;
-void sgen_workers_wait_for_jobs (void) MONO_INTERNAL;
-void sgen_workers_start_marking (void) MONO_INTERNAL;
+void sgen_workers_wait_for_jobs_finished (void) MONO_INTERNAL;
 void sgen_workers_distribute_gray_queue_sections (void) MONO_INTERNAL;
 void sgen_workers_reset_data (void) MONO_INTERNAL;
 void sgen_workers_join (void) MONO_INTERNAL;
 gboolean sgen_workers_all_done (void) MONO_INTERNAL;
+gboolean sgen_workers_are_working (void) MONO_INTERNAL;
 SgenSectionGrayQueue* sgen_workers_get_distribute_section_gray_queue (void) MONO_INTERNAL;
 
+void sgen_workers_signal_start_nursery_collection_and_wait (void) MONO_INTERNAL;
+void sgen_workers_signal_finish_nursery_collection (void) MONO_INTERNAL;
+
 #endif
index 949164e5548c4e82fcc5f27f9c524c9963c825ba..0b75405bd0acd42aca213b10a011e745d1ecc636 100644 (file)
@@ -13,7 +13,7 @@
 
 #ifndef DISABLE_SOCKETS
 
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__FreeBSD__)
 #define __APPLE_USE_RFC_3542
 #endif
 
 #define AI_ADDRCONFIG 0
 #endif
 
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__FreeBSD__)
 /*
  * We remove this until we have a Darwin implementation
  * that can walk the result of struct ifconf.  The current
@@ -2051,7 +2051,7 @@ static struct in6_addr ipaddress_to_struct_in6_addr(MonoObject *ipaddr)
 #endif /* AF_INET6 */
 #endif
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__FreeBSD__)
 
 #if defined(HAVE_GETIFADDRS) && defined(HAVE_IF_NAMETOINDEX)
 static int
@@ -2089,7 +2089,7 @@ get_local_interface_id (int family)
 }
 #endif
 
-#endif /* __APPLE__ */
+#endif /* defined(__APPLE__) || defined(__FreeBSD__) */
 
 void ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal(SOCKET sock, gint32 level, gint32 name, MonoObject *obj_val, MonoArray *byte_val, gint32 int_val, gint32 *error)
 {
@@ -2187,7 +2187,7 @@ void ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal(SOCKET sock, g
                                field=mono_class_get_field_from_name(obj_val->vtable->klass, "ifIndex");
                                mreq6.ipv6mr_interface =*(guint64 *)(((char *)obj_val)+field->offset);
                                
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__FreeBSD__)
                                /*
                                * Bug #5504:
                                *
index de4917ce08d41a7f879c0bcc5c0c9b89caa6f134..36a847d10b5f6f6d72cc5bfb9023b0b82f7840d3 100644 (file)
 
 #include <mono/metadata/gc-internal.h>
 
+#if defined(PLATFORM_ANDROID) && !defined(TARGET_ARM64)
+#define USE_TKILL_ON_ANDROID 1
+#endif
+
 #ifdef PLATFORM_ANDROID
 #include <errno.h>
 
+#ifdef USE_TKILL_ON_ANDROID
 extern int tkill (pid_t tid, int signal);
 #endif
+#endif
 
 /*#define THREAD_DEBUG(a) do { a; } while (0)*/
 #define THREAD_DEBUG(a)
@@ -4476,7 +4482,7 @@ mono_thread_kill (MonoInternalThread *thread, int signal)
 #  ifdef PTHREAD_POINTER_ID
        return pthread_kill ((gpointer)(gsize)(thread->tid), mono_thread_get_abort_signal ());
 #  else
-#    ifdef PLATFORM_ANDROID
+#    ifdef USE_TKILL_ON_ANDROID
        if (thread->android_tid != 0) {
                int  ret;
                int  old_errno = errno;
index 95bde8efbc5433a93c092b52b3d363ee63b859b5..28f23dd1133b2d01a9e7bf6731171444aecfad07 100644 (file)
@@ -934,6 +934,7 @@ mono_method_is_valid_in_context (VerifyContext *ctx, MonoMethod *method)
        
 static MonoClassField*
 verifier_load_field (VerifyContext *ctx, int token, MonoClass **out_klass, const char *opcode) {
+       MonoError error;
        MonoClassField *field;
        MonoClass *klass = NULL;
 
@@ -946,12 +947,12 @@ verifier_load_field (VerifyContext *ctx, int token, MonoClass **out_klass, const
                        return NULL;
                }
 
-               field = mono_field_from_token (ctx->image, token, &klass, ctx->generic_context);
+               field = mono_field_from_token_checked (ctx->image, token, &klass, ctx->generic_context, &error);
+               mono_error_cleanup (&error); /*FIXME don't swallow the error */
        }
 
-       if (!field || !field->parent || !klass || mono_loader_get_last_error ()) {
+       if (!field || !field->parent || !klass) {
                ADD_VERIFY_ERROR2 (ctx, g_strdup_printf ("Cannot load field from token 0x%08x for %s at 0x%04x", token, opcode, ctx->ip_offset), MONO_EXCEPTION_BAD_IMAGE);
-               mono_loader_clear_error ();
                return NULL;
        }
 
@@ -3126,6 +3127,7 @@ do_ret (VerifyContext *ctx)
 static void
 do_invoke_method (VerifyContext *ctx, int method_token, gboolean virtual)
 {
+       MonoError error;
        int param_count, i;
        MonoMethodSignature *sig;
        ILStackDesc *value;
@@ -3155,12 +3157,15 @@ do_invoke_method (VerifyContext *ctx, int method_token, gboolean virtual)
                }
        }
 
-       if (!(sig = mono_method_get_signature_full (method, ctx->image, method_token, ctx->generic_context)))
-               sig = mono_method_get_signature (method, ctx->image, method_token);
+       if (!(sig = mono_method_get_signature_checked (method, ctx->image, method_token, ctx->generic_context, &error))) {
+               mono_error_cleanup (&error);
+               sig = mono_method_get_signature_checked (method, ctx->image, method_token, NULL, &error);
+       }
 
        if (!sig) {
                char *name = mono_type_get_full_name (method->klass);
-               ADD_VERIFY_ERROR (ctx, g_strdup_printf ("Could not resolve signature of %s:%s at 0x%04x", name, method->name, ctx->ip_offset));
+               ADD_VERIFY_ERROR (ctx, g_strdup_printf ("Could not resolve signature of %s:%s at 0x%04x due to: %s", name, method->name, ctx->ip_offset, mono_error_get_message (&error)));
+               mono_error_cleanup (&error);
                g_free (name);
                return;
        }
index 2689b1e9e4fec1b359c6315ac2fc4d9cc04745e6..bc9c01f401fc9f688c25190250d77ad4a934f8cd 100644 (file)
 #define TV_GETTIME(tv) tv = mono_100ns_ticks ()
 #define TV_ELAPSED(start,end) (((end) - (start)) / 10)
 
-#ifdef TARGET_WIN32
-#define SHARED_EXT ".dll"
-#elif defined(__ppc__) && defined(TARGET_MACH)
-#define SHARED_EXT ".dylib"
-#elif defined(TARGET_MACH) && defined(TARGET_X86) && !defined(__native_client_codegen__)
-#define SHARED_EXT ".dylib"
-#elif defined(TARGET_MACH) && defined(TARGET_AMD64) && !defined(__native_client_codegen__)
-#define SHARED_EXT ".dylib"
-#else
-#define SHARED_EXT ".so"
-#endif
-
 #define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
 #define ALIGN_PTR_TO(ptr,align) (gpointer)((((gssize)(ptr)) + (align - 1)) & (~(align - 1)))
 #define ROUND_DOWN(VALUE,SIZE) ((VALUE) & ~((SIZE) - 1))
@@ -4872,13 +4860,14 @@ get_debug_sym (MonoMethod *method, const char *prefix, GHashTable *cache)
        char *name1, *name2, *cached;
        int i, j, len, count;
 
+       name1 = mono_method_full_name (method, TRUE);
+
 #ifdef TARGET_MACH
        // This is so that we don't accidentally create a local symbol (which starts with 'L')
-       if (!prefix || !*prefix)
+       if ((!prefix || !*prefix) && name1 [0] == 'L')
                prefix = "_";
 #endif
 
-       name1 = mono_method_full_name (method, TRUE);
        len = strlen (name1);
        name2 = malloc (strlen (prefix) + len + 16);
        memcpy (name2, prefix, strlen (prefix));
@@ -5385,6 +5374,15 @@ emit_exception_debug_info (MonoAotCompile *acfg, MonoCompile *cfg)
                encode_value (table->num_holes, p, &p);
        }
 
+       if (jinfo->has_arch_eh_info) {
+               /*
+                * In AOT mode, the code length is calculated from the address of the previous method,
+                * which could include alignment padding, so calculating the start of the epilog as
+                * code_len - epilog_size is correct any more. Save the real code len as a workaround.
+                */
+               encode_value (jinfo->code_size, p, &p);
+       }
+
        /* Exception table */
        if (cfg->compile_llvm) {
                /*
@@ -7102,7 +7100,7 @@ emit_llvm_file (MonoAotCompile *acfg)
 
 
        tempbc = g_strdup_printf ("%s.bc", acfg->tmpbasename);
-       mono_llvm_emit_aot_module (tempbc, acfg->final_got_size);
+       mono_llvm_emit_aot_module (tempbc, g_path_get_basename (acfg->image->name), acfg->final_got_size);
        g_free (tempbc);
 
        /*
@@ -8640,7 +8638,7 @@ compile_asm (MonoAotCompile *acfg)
        if (acfg->aot_opts.outfile)
                outfile_name = g_strdup_printf ("%s", acfg->aot_opts.outfile);
        else
-               outfile_name = g_strdup_printf ("%s%s", acfg->image->name, SHARED_EXT);
+               outfile_name = g_strdup_printf ("%s%s", acfg->image->name, MONO_SOLIB_EXT);
 
        tmp_outfile_name = g_strdup_printf ("%s.tmp", outfile_name);
 
@@ -8660,7 +8658,7 @@ compile_asm (MonoAotCompile *acfg)
 
        g_free (command);
 
-       /*com = g_strdup_printf ("strip --strip-unneeded %s%s", acfg->image->name, SHARED_EXT);
+       /*com = g_strdup_printf ("strip --strip-unneeded %s%s", acfg->image->name, MONO_SOLIB_EXT);
        printf ("Stripping the binary: %s\n", com);
        system (com);
        g_free (com);*/
@@ -9011,7 +9009,7 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
                if (acfg->aot_opts.outfile)
                        outfile_name = g_strdup_printf ("%s", acfg->aot_opts.outfile);
                else
-                       outfile_name = g_strdup_printf ("%s%s", acfg->image->name, SHARED_EXT);
+                       outfile_name = g_strdup_printf ("%s%s", acfg->image->name, MONO_SOLIB_EXT);
 
                /* 
                 * Can't use g_file_open_tmp () as it will be deleted at exit, and
index 97d22706db0440ac1d2d695d1bdcd26a93a57f43..757b730e655ab0cc3c9f95dfa3d87eda897f3d77 100644 (file)
 #define ENABLE_AOT_CACHE
 #endif
 
-#ifdef TARGET_WIN32
-#define SHARED_EXT ".dll"
-#elif ((defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__)) || defined(__MACH__)) && !defined(__linux__)
-#define SHARED_EXT ".dylib"
-#elif defined(__APPLE__) && defined(TARGET_X86) && !defined(__native_client_codegen__)
-#define SHARED_EXT ".dylib"
-#else
-#define SHARED_EXT ".so"
-#endif
-
 #define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
 #define ALIGN_PTR_TO(ptr,align) (gpointer)((((gssize)(ptr)) + (align - 1)) & (~(align - 1)))
 #define ROUND_DOWN(VALUE,SIZE) ((VALUE) & ~((SIZE) - 1))
@@ -1444,7 +1434,7 @@ aot_cache_load_module (MonoAssembly *assembly, char **aot_name)
         */
        hash = get_aot_config_hash (assembly);
 
-       tmp2 = g_strdup_printf ("%s-%s%s", assembly->image->assembly_name, hash, SHARED_EXT);
+       tmp2 = g_strdup_printf ("%s-%s%s", assembly->image->assembly_name, hash, MONO_SOLIB_EXT);
        fname = g_build_filename (cache_dir, tmp2, NULL);
        *aot_name = fname;
        g_free (tmp2);
@@ -1772,13 +1762,21 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
                        sofile = aot_cache_load_module (assembly, &aot_name);
                if (!sofile) {
                        char *err;
-                       aot_name = g_strdup_printf ("%s%s", assembly->image->name, SHARED_EXT);
+                       aot_name = g_strdup_printf ("%s%s", assembly->image->name, MONO_SOLIB_EXT);
 
                        sofile = mono_dl_open (aot_name, MONO_DL_LAZY, &err);
 
                        if (!sofile) {
                                mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_AOT, "AOT module '%s' not found: %s\n", aot_name, err);
                                g_free (err);
+
+                               aot_name = g_strdup_printf ("%s/mono/aot-cache/%s/%s%s", mono_assembly_getrootdir(), ARCHITECTURE, g_path_get_basename (assembly->image->name), MONO_SOLIB_EXT);
+                               sofile = mono_dl_open (aot_name, MONO_DL_LAZY, &err);
+                               if (!sofile) {
+                                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_AOT, "AOT module '%s' not found: %s\n", aot_name, err);
+                                       g_free (err);
+                               }
+
                        }
                }
        }
@@ -2585,18 +2583,22 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
        } else {
                num_holes = try_holes_info_size = 0;
        }
-       /* Exception table */
-       if (has_clauses)
-               num_clauses = decode_value (p, &p);
-       else
-               num_clauses = 0;
+
        if (has_arch_eh_jit_info) {
                flags |= JIT_INFO_HAS_ARCH_EH_INFO;
                arch_eh_jit_info_size = sizeof (MonoArchEHJitInfo);
+               /* Overwrite the original code_len which includes alignment padding */
+               code_len = decode_value (p, &p);
        } else {
                arch_eh_jit_info_size = 0;
        }
 
+       /* Exception table */
+       if (has_clauses)
+               num_clauses = decode_value (p, &p);
+       else
+               num_clauses = 0;
+
        if (from_llvm) {
                MonoJitExceptionInfo *clauses;
                GSList **nesting;
@@ -3399,14 +3401,14 @@ load_patch_info (MonoAotModule *aot_module, MonoMemPool *mp, int n_patches,
 
                got_offset = decode_value (p, &p);
 
-               if (aot_module->got [got_offset]) {
-                       /* Already loaded */
-                       //printf ("HIT!\n");
-               } else {
-                       shared_p = aot_module->blob + mono_aot_get_offset (aot_module->got_info_offsets, got_offset);
+               shared_p = aot_module->blob + mono_aot_get_offset (aot_module->got_info_offsets, got_offset);
 
-                       ji->type = decode_value (shared_p, &shared_p);
+               ji->type = decode_value (shared_p, &shared_p);
 
+               /* See load_method () for SFLDA */
+               if (aot_module->got [got_offset] && ji->type != MONO_PATCH_INFO_SFLDA) {
+                       /* Already loaded */
+               } else {
                        res = decode_patch (aot_module, mp, ji, shared_p, &shared_p);
                        if (!res)
                                goto cleanup;
@@ -3574,11 +3576,19 @@ load_method (MonoDomain *domain, MonoAotModule *amodule, MonoImage *image, MonoM
 
                for (pindex = 0; pindex < n_patches; ++pindex) {
                        MonoJumpInfo *ji = &patches [pindex];
+                       gpointer addr;
 
-                       if (!amodule->got [got_slots [pindex]]) {
-                               amodule->got [got_slots [pindex]] = mono_resolve_patch_target (method, domain, code, ji, TRUE);
+                       /*
+                        * For SFLDA, we need to call resolve_patch_target () since the GOT slot could have
+                        * been initialized by load_method () for a static cctor before the cctor has
+                        * finished executing (#23242).
+                        */
+                       if (!amodule->got [got_slots [pindex]] || ji->type == MONO_PATCH_INFO_SFLDA) {
+                               addr = mono_resolve_patch_target (method, domain, code, ji, TRUE);
                                if (ji->type == MONO_PATCH_INFO_METHOD_JUMP)
-                                       amodule->got [got_slots [pindex]] = mono_create_ftnptr (domain, amodule->got [got_slots [pindex]]);
+                                       addr = mono_create_ftnptr (domain, addr);
+                               mono_memory_barrier ();
+                               amodule->got [got_slots [pindex]] = addr;
                                if (ji->type == MONO_PATCH_INFO_METHOD_JUMP)
                                        register_jump_target_got_slot (domain, ji->data.method, &(amodule->got [got_slots [pindex]]));
                        }
index 742b6e93d9df10da151e554ffda327953d4e7895..1565a8684f84b00d89fd5c28eed0368c2b96f339 100644 (file)
@@ -16,7 +16,6 @@
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/threads-types.h>
 
-#define _IN_THE_MONO_DEBUGGER
 #include <mono/metadata/mono-debug-debugger.h>
 
 #include <mono/utils/valgrind.h>
index 63e39501fe1e4dcdb43880f2f267ccf72402d713..4b66e43439048bcd36ba5660eb589a5d7b7fc5bb 100644 (file)
@@ -289,7 +289,7 @@ typedef struct {
 #define HEADER_LENGTH 11
 
 #define MAJOR_VERSION 2
-#define MINOR_VERSION 37
+#define MINOR_VERSION 38
 
 typedef enum {
        CMD_SET_VM = 1,
@@ -514,7 +514,8 @@ typedef enum {
 typedef enum {
        CMD_STACK_FRAME_GET_VALUES = 1,
        CMD_STACK_FRAME_GET_THIS = 2,
-       CMD_STACK_FRAME_SET_VALUES = 3
+       CMD_STACK_FRAME_SET_VALUES = 3,
+       CMD_STACK_FRAME_GET_DOMAIN = 4,
 } CmdStackFrame;
 
 typedef enum {
@@ -815,6 +816,12 @@ static void
 register_socket_transport (void);
 #endif
 
+static inline gboolean
+is_debugger_thread (void)
+{
+       return GetCurrentThreadId () == debugger_thread_id;
+}
+
 static int
 parse_address (char *address, char **host, int *port)
 {
@@ -2652,7 +2659,7 @@ thread_interrupt (DebuggerTlsData *tls, MonoThreadInfo *info, void *sigctx, Mono
                         */
                        data.last_frame_set = FALSE;
                        if (sigctx) {
-                               mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+                               mono_sigctx_to_monoctx (sigctx, &ctx);
                                /* 
                                 * Don't pass MONO_UNWIND_ACTUAL_METHOD, its not signal safe, and
                                 * get_last_frame () doesn't need it, the last frame cannot be a ginst
@@ -4070,6 +4077,10 @@ appdomain_start_unload (MonoProfiler *prof, MonoDomain *domain)
 {
        DebuggerTlsData *tls;
 
+       /* This might be called during shutdown on the debugger thread from the CMD_VM_EXIT code */
+       if (is_debugger_thread ())
+               return;
+
        /*
         * Remember the currently unloading appdomain as it is needed to generate
         * proper ids for unloading assemblies.
@@ -4084,6 +4095,9 @@ appdomain_unload (MonoProfiler *prof, MonoDomain *domain)
 {
        DebuggerTlsData *tls;
 
+       if (is_debugger_thread ())
+               return;
+
        tls = mono_native_tls_get_value (debugger_tls_id);
        g_assert (tls);
        tls->domain_unloading = NULL;
@@ -4907,14 +4921,14 @@ resume_from_signal_handler (void *sigctx, void *func)
        // clobbered by a single step/breakpoint event. If this turns out to be a problem,
        // clob:c could be added to op_seq_point.
 
-       mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+       mono_sigctx_to_monoctx (sigctx, &ctx);
        memcpy (&tls->handler_ctx, &ctx, sizeof (MonoContext));
 #ifdef MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX
        mono_arch_setup_resume_sighandler_ctx (&ctx, func);
 #else
        MONO_CONTEXT_SET_IP (&ctx, func);
 #endif
-       mono_arch_monoctx_to_sigctx (&ctx, sigctx);
+       mono_monoctx_to_sigctx (&ctx, sigctx);
 
 #ifdef PPC_USES_FUNCTION_DESCRIPTOR
        mono_ppc_set_func_into_sigctx (sigctx, func);
@@ -5104,9 +5118,9 @@ mono_debugger_agent_single_step_event (void *sigctx)
                 */
                MonoContext ctx;
 
-               mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+               mono_sigctx_to_monoctx (sigctx, &ctx);
                mono_arch_skip_single_step (&ctx);
-               mono_arch_monoctx_to_sigctx (&ctx, sigctx);
+               mono_monoctx_to_sigctx (&ctx, sigctx);
                return;
        }
 
@@ -9037,6 +9051,11 @@ frame_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
                mono_metadata_free_mh (header);
                break;
        }
+       case CMD_STACK_FRAME_GET_DOMAIN: {
+               if (CHECK_PROTOCOL_VERSION (2, 38))
+                       buffer_add_domainid (buf, frame->domain);
+               break;
+       }
        default:
                return ERR_NOT_IMPLEMENTED;
        }
@@ -9405,7 +9424,8 @@ static const char* type_cmds_str[] = {
 static const char* stack_frame_cmds_str[] = {
        "GET_VALUES",
        "GET_THIS",
-       "SET_VALUES"
+       "SET_VALUES",
+       "GET_DOMAIN",
 };
 
 static const char* array_cmds_str[] = {
index c6c8e20628c78b84242ab2d4c20270d31a23db79..76abae4a20b8b9e4e94d19feaf33fb255326c46f 100644 (file)
@@ -1868,6 +1868,8 @@ mono_main (int argc, char* argv[])
                g_set_prgname (argv[i]);
        }
 
+       mono_counters_init ();
+
        if (enable_profile)
                mono_profiler_load (profile_options);
 
index 67585763b69bdd8d6b673d9fd169702cc1bd66b4..d79b0cae34813477b8614dbdb929e830055e6ce4 100644 (file)
@@ -1422,10 +1422,12 @@ token_handler (MonoDisHelper *dh, MonoMethod *method, guint32 token)
        case CEE_LDSFLD:
        case CEE_STFLD:
        case CEE_STSFLD:
-               if (method->wrapper_type)
+               if (method->wrapper_type) {
                        field = data;
-               else
-                       field = mono_field_from_token (method->klass->image, token, &klass, NULL);
+               } else {
+                       field = mono_field_from_token_checked (method->klass->image, token, &klass, NULL,  &error);
+                       g_assert (mono_error_ok (&error)); /* FIXME error handling */
+               }
                desc = mono_field_full_name (field);
                res = g_strdup_printf ("<%s>", desc);
                g_free (desc);
index a0865b7e2b68dcfce72c596b361a61eb3be8ab17..b8cfe9ad463265a03875569e72534542ce1cb2e4 100644 (file)
@@ -759,7 +759,7 @@ mono_arch_handle_exception (void *sigctx, gpointer obj)
        MonoJitTlsData *jit_tls = mono_native_tls_get_value (mono_jit_tls_id);
 
        /* Pass the ctx parameter in TLS */
-       mono_arch_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
 
        mctx = jit_tls->ex_ctx;
        mono_arch_setup_async_callback (&mctx, handle_signal_exception, obj);
@@ -769,28 +769,16 @@ mono_arch_handle_exception (void *sigctx, gpointer obj)
 #else
        MonoContext mctx;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &mctx);
+       mono_sigctx_to_monoctx (sigctx, &mctx);
 
        mono_handle_exception (&mctx, obj);
 
-       mono_arch_monoctx_to_sigctx (&mctx, sigctx);
+       mono_monoctx_to_sigctx (&mctx, sigctx);
 
        return TRUE;
 #endif
 }
 
-void
-mono_arch_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
-{
-       mono_sigctx_to_monoctx (sigctx, mctx);
-}
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
-{
-       mono_monoctx_to_sigctx (mctx, sigctx);
-}
-
 gpointer
 mono_arch_ip_from_context (void *sigctx)
 {
index e39248ceda12e75453048aa4d042450f7d4b20cd..2c9e748454e8d57a30fe6fa725542e64e4f01b5a 100644 (file)
@@ -501,20 +501,6 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return FALSE;
 }
 
-#if MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX
-void
-mono_arch_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
-{
-       mono_sigctx_to_monoctx (sigctx, mctx);
-}
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *ctx)
-{
-       mono_monoctx_to_sigctx (mctx, ctx);
-}
-#endif /* MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX */
-
 /*
  * handle_exception:
  *
@@ -562,7 +548,7 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        guint64 sp = UCONTEXT_REG_SP (sigctx);
 
        /* Pass the ctx parameter in TLS */
-       mono_arch_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
        /* The others in registers */
        UCONTEXT_REG_R0 (sigctx) = (gsize)obj;
 
@@ -585,13 +571,13 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        MonoContext mctx;
        gboolean result;
 
-       mono_arch_sigctx_to_monoctx (ctx, &mctx);
+       mono_sigctx_to_monoctx (ctx, &mctx);
 
        result = mono_handle_exception (&mctx, obj);
        /* restore the context so that returning from the signal handler will invoke
         * the catch clause 
         */
-       mono_arch_monoctx_to_sigctx (&mctx, ctx);
+       mono_monoctx_to_sigctx (&mctx, ctx);
        return result;
 #endif
 }
index 34197145048468a709de54e097cead753f06a2f0..8ab97bf5a30068e487b4fd27e97ca02fd8fed0ca 100644 (file)
@@ -478,18 +478,6 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return FALSE;
 }
 
-void
-mono_arch_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
-{
-       mono_sigctx_to_monoctx (sigctx, mctx);
-}
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
-{
-       mono_monoctx_to_sigctx (mctx, sigctx);
-}
-
 gpointer
 mono_arch_ip_from_context (void *sigctx)
 {
@@ -534,7 +522,7 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        guint64 sp = UCONTEXT_GREGS (sigctx) [mips_sp];
 
        /* Pass the ctx parameter in TLS */
-       mono_arch_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
        /* The others in registers */
        UCONTEXT_GREGS (sigctx)[mips_a0] = (gsize)obj;
 
@@ -549,13 +537,13 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        MonoContext mctx;
        gboolean result;
 
-       mono_arch_sigctx_to_monoctx (ctx, &mctx);
+       mono_sigctx_to_monoctx (ctx, &mctx);
 
        result = mono_handle_exception (&mctx, obj);
        /* restore the context so that returning from the signal handler will invoke
         * the catch clause 
         */
-       mono_arch_monoctx_to_sigctx (&mctx, ctx);
+       mono_monoctx_to_sigctx (&mctx, ctx);
        return result;
 #endif
 }
index d9ae91e05aeb77a29aa799443ee78131fbfdeaa1..2697bc0895bb37584f4bec26111aa6df869129ad 100644 (file)
@@ -594,39 +594,6 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return FALSE;
 }
 
-/*
- * This is the function called from the signal handler
- */
-void
-mono_arch_sigctx_to_monoctx (void *ctx, MonoContext *mctx)
-{
-#ifdef MONO_CROSS_COMPILE
-       g_assert_not_reached ();
-#else
-       os_ucontext *uc = ctx;
-
-       mctx->sc_ir = UCONTEXT_REG_NIP(uc);
-       mctx->sc_sp = UCONTEXT_REG_Rn(uc, 1);
-       memcpy (&mctx->regs, &UCONTEXT_REG_Rn(uc, 13), sizeof (mgreg_t) * MONO_SAVED_GREGS);
-       memcpy (&mctx->fregs, &UCONTEXT_REG_FPRn(uc, 14), sizeof (double) * MONO_SAVED_FREGS);
-#endif
-}
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *ctx)
-{
-#ifdef MONO_CROSS_COMPILE
-       g_assert_not_reached ();
-#else
-       os_ucontext *uc = ctx;
-
-       UCONTEXT_REG_NIP(uc) = mctx->sc_ir;
-       UCONTEXT_REG_Rn(uc, 1) = mctx->sc_sp;
-       memcpy (&UCONTEXT_REG_Rn(uc, 13), &mctx->regs, sizeof (mgreg_t) * MONO_SAVED_GREGS);
-       memcpy (&UCONTEXT_REG_FPRn(uc, 14), &mctx->fregs, sizeof (double) * MONO_SAVED_FREGS);
-#endif
-}
-
 gpointer
 mono_arch_ip_from_context (void *sigctx)
 {
@@ -659,7 +626,7 @@ altstack_handle_and_restore (void *sigctx, gpointer obj)
 {
        MonoContext mctx;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &mctx);
+       mono_sigctx_to_monoctx (sigctx, &mctx);
        mono_handle_exception (&mctx, obj);
        mono_restore_context (&mctx);
 }
@@ -782,7 +749,7 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        void *uc = sigctx;
 
        /* Pass the ctx parameter in TLS */
-       mono_arch_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
        /* The others in registers */
        UCONTEXT_REG_Rn (sigctx, PPC_FIRST_ARG_REG) = (gsize)obj;
 
@@ -801,13 +768,13 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        MonoContext mctx;
        gboolean result;
 
-       mono_arch_sigctx_to_monoctx (ctx, &mctx);
+       mono_sigctx_to_monoctx (ctx, &mctx);
 
        result = mono_handle_exception (&mctx, obj);
        /* restore the context so that returning from the signal handler will invoke
         * the catch clause 
         */
-       mono_arch_monoctx_to_sigctx (&mctx, ctx);
+       mono_monoctx_to_sigctx (&mctx, ctx);
        return result;
 #endif
 }
index 74c8a0f37a3dfc9fb29813eb87029ad251f7421f..8ff629876f582e686fa132793a601db2343c2dbc 100644 (file)
@@ -33,8 +33,6 @@
 #define S390_THROWSTACK_ACCREGS                (S390_THROWSTACK_FLTREGS+(16*sizeof(gdouble)))
 #define S390_THROWSTACK_SIZE           (S390_THROWSTACK_ACCREGS+(16*sizeof(gint32)))
 
-#define S390_REG_SAVE_R13              (S390_REG_SAVE_OFFSET+(7*sizeof(gulong)))
-
 #define SZ_THROW       384
 
 #define setup_context(ctx)
@@ -532,39 +530,6 @@ mono_arch_handle_exception (void *uc, gpointer obj)
 
 /*========================= End of Function ========================*/
 
-/*------------------------------------------------------------------*/
-/*                                                                  */
-/* Name                - mono_arch_sigctx_to_monoctx.                      */
-/*                                                                  */
-/* Function    - Called from the signal handler to convert signal  */
-/*                context to MonoContext.                           */
-/*                                                                  */
-/*------------------------------------------------------------------*/
-
-void
-mono_arch_sigctx_to_monoctx (void *ctx, MonoContext *mctx)
-{
-       mono_sigctx_to_monoctx(ctx, mctx);
-}
-
-/*========================= End of Function ========================*/
-
-/*------------------------------------------------------------------*/
-/*                                                                  */
-/* Name                - mono_arch_monoctx_to_sigctx.                      */
-/*                                                                  */
-/* Function    - Convert MonoContext structure to signal context.  */
-/*                                                                  */
-/*------------------------------------------------------------------*/
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *ctx)
-{
-       mono_monoctx_to_sigctx(mctx, ctx);
-}
-
-/*========================= End of Function ========================*/
-
 /*------------------------------------------------------------------*/
 /*                                                                  */
 /* Name                - mono_arch_ip_from_context                         */
index 615b3f2371f3788b2d96bf8c0f280f0e9ea63ae5..d21a7413ad19015f51fa5b8414be5d8fdb2599c5 100755 (executable)
@@ -139,8 +139,7 @@ win32_handle_stack_overflow (EXCEPTION_POINTERS* ep, struct sigcontext *sctx)
        guint32 free_stack = 0;
        StackFrameInfo frame;
 
-       /* convert sigcontext to MonoContext (due to reuse of stack walking helpers */
-       mono_arch_sigctx_to_monoctx (sctx, &ctx);
+       mono_sigctx_to_monoctx (sctx, &ctx);
        
        /* get our os page size */
        GetSystemInfo(&si);
@@ -172,8 +171,7 @@ win32_handle_stack_overflow (EXCEPTION_POINTERS* ep, struct sigcontext *sctx)
                ctx = new_ctx;
        } while (free_stack < 64 * 1024 && frame.ji != (gpointer) -1);
 
-       /* convert into sigcontext to be used in mono_arch_handle_exception */
-       mono_arch_monoctx_to_sigctx (&ctx, sctx);
+       mono_monoctx_to_sigctx (&ctx, sctx);
 
        /* todo: install new stack-guard page */
 
@@ -828,14 +826,12 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
 
                        return TRUE;
                }
-               
+
                if ((ji = mini_jit_info_table_find (domain, (gpointer)(*lmf)->eip, NULL))) {
+                       frame->ji = ji;
                } else {
-                       if (!((guint32)((*lmf)->previous_lmf) & 1))
-                               /* Top LMF entry */
+                       if (!(*lmf)->method)
                                return FALSE;
-                       g_assert_not_reached ();
-                       /* Trampoline lmf frame */
                        frame->method = (*lmf)->method;
                }
 
@@ -848,28 +844,12 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
                /* Adjust IP */
                new_ctx->eip --;
 
-               frame->ji = ji;
                frame->type = FRAME_TYPE_MANAGED_TO_NATIVE;
 
                /* Check if we are in a trampoline LMF frame */
                if ((guint32)((*lmf)->previous_lmf) & 1) {
                        /* lmf->esp is set by the trampoline code */
                        new_ctx->esp = (*lmf)->esp;
-
-                       /* Pop arguments off the stack */
-                       /* FIXME: Handle the delegate case too ((*lmf)->method == NULL) */
-                       /* FIXME: Handle the IMT/vtable case too */
-#if 0
-#ifndef ENABLE_LLVM
-                       if ((*lmf)->method) {
-                               MonoMethod *method = (*lmf)->method;
-                               MonoJitArgumentInfo *arg_info = g_newa (MonoJitArgumentInfo, mono_method_signature (method)->param_count + 1);
-
-                               guint32 stack_to_pop = mono_arch_get_argument_info (NULL, mono_method_signature (method), mono_method_signature (method)->param_count, arg_info);
-                               new_ctx->esp += stack_to_pop;
-                       }
-#endif
-#endif
                }
                else
                        /* the lmf is always stored on the stack, so the following
@@ -884,18 +864,6 @@ mono_arch_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return FALSE;
 }
 
-void
-mono_arch_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
-{
-       mono_sigctx_to_monoctx (sigctx, mctx);
-}
-
-void
-mono_arch_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
-{
-       mono_monoctx_to_sigctx (mctx, sigctx);
-}
-
 gpointer
 mono_arch_ip_from_context (void *sigctx)
 {
@@ -1012,7 +980,7 @@ mono_arch_handle_exception (void *sigctx, gpointer obj)
        MonoJitTlsData *jit_tls = mono_native_tls_get_value (mono_jit_tls_id);
 
        /* Pass the ctx parameter in TLS */
-       mono_arch_sigctx_to_monoctx (ctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (ctx, &jit_tls->ex_ctx);
 
        mctx = jit_tls->ex_ctx;
        mono_setup_async_callback (&mctx, handle_signal_exception, obj);
@@ -1024,7 +992,7 @@ mono_arch_handle_exception (void *sigctx, gpointer obj)
        MonoJitTlsData *jit_tls = mono_native_tls_get_value (mono_jit_tls_id);
        struct sigcontext *ctx = (struct sigcontext *)sigctx;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
+       mono_sigctx_to_monoctx (sigctx, &jit_tls->ex_ctx);
 
        mctx = jit_tls->ex_ctx;
        mono_setup_async_callback (&mctx, handle_signal_exception, obj);
@@ -1034,11 +1002,11 @@ mono_arch_handle_exception (void *sigctx, gpointer obj)
 #else
        MonoContext mctx;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &mctx);
+       mono_sigctx_to_monoctx (sigctx, &mctx);
 
        mono_handle_exception (&mctx, obj);
 
-       mono_arch_monoctx_to_sigctx (&mctx, sigctx);
+       mono_monoctx_to_sigctx (&mctx, sigctx);
 
        return TRUE;
 #endif
index c208c2a4b1211f5cd77af89b691867639dbcdfc6..2bfd1ac51725410d5d3f9b3ce83fe19560bf3483 100644 (file)
@@ -302,8 +302,6 @@ alloc_dreg (MonoCompile *cfg, MonoStackType stack_type)
 
 #define NEW_JIT_ICALL_ADDRCONST(cfg,dest,name) NEW_AOTCONST ((cfg), (dest), MONO_PATCH_INFO_JIT_ICALL_ADDR, (name))
 
-#define GET_VARINFO_INST(cfg,num) ((cfg)->varinfo [(num)]->inst)
-
 #define NEW_VARLOAD(cfg,dest,var,vartype) do { \
         MONO_INST_NEW ((cfg), (dest), OP_MOVE); \
                (dest)->opcode = mono_type_to_regmove ((cfg), (vartype));  \
index 7a8c4d3f9f88efd5c5a5d0920cbc9d0b0408f267..5504b8c5cd80d97cbd49b1412717e3a1cbbb1c1b 100755 (executable)
                LOAD_ERROR;                                     \
        } while (0)
 
+#define CHECK_CFG_ERROR do {\
+               if (!mono_error_ok (&cfg->error)) { \
+                       mono_cfg_set_exception (cfg, MONO_EXCEPTION_MONO_ERROR);        \
+                       goto mono_error_exit; \
+               } \
+       } while (0)
+
 /* Determine whenever 'ins' represents a load of the 'this' argument */
 #define MONO_CHECK_THIS(ins) (mono_method_signature (cfg->method)->hasthis && ((ins)->opcode == OP_MOVE) && ((ins)->sreg1 == cfg->args [0]->dreg))
 
@@ -134,6 +141,9 @@ int mono_op_to_op_imm_noemul (int opcode);
 
 MONO_API MonoInst* mono_emit_native_call (MonoCompile *cfg, gconstpointer func, MonoMethodSignature *sig, MonoInst **args);
 
+static int inline_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsig, MonoInst **sp,
+                                                 guchar *ip, guint real_offset, gboolean inline_always, MonoBasicBlock **out_cbb);
+
 /* helper methods signatures */
 static MonoMethodSignature *helper_sig_class_init_trampoline;
 static MonoMethodSignature *helper_sig_domain_get;
@@ -3579,11 +3589,11 @@ static void
 save_cast_details (MonoCompile *cfg, MonoClass *klass, int obj_reg, gboolean null_check, MonoBasicBlock **out_bblock)
 {
        if (mini_get_debug_options ()->better_cast_details) {
-               int to_klass_reg = alloc_preg (cfg);
                int vtable_reg = alloc_preg (cfg);
                int klass_reg = alloc_preg (cfg);
                MonoBasicBlock *is_null_bb = NULL;
                MonoInst *tls_get;
+               int to_klass_reg, context_used;
 
                if (null_check) {
                        NEW_BBLOCK (cfg, is_null_bb);
@@ -3603,7 +3613,17 @@ save_cast_details (MonoCompile *cfg, MonoClass *klass, int obj_reg, gboolean nul
                MONO_EMIT_NEW_LOAD_MEMBASE (cfg, klass_reg, vtable_reg, MONO_STRUCT_OFFSET (MonoVTable, klass));
 
                MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, tls_get->dreg, MONO_STRUCT_OFFSET (MonoJitTlsData, class_cast_from), klass_reg);
-               MONO_EMIT_NEW_PCONST (cfg, to_klass_reg, klass);
+
+               context_used = mini_class_check_context_used (cfg, klass);
+               if (context_used) {
+                       MonoInst *class_ins;
+
+                       class_ins = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
+                       to_klass_reg = class_ins->dreg;
+               } else {
+                       to_klass_reg = alloc_preg (cfg);
+                       MONO_EMIT_NEW_CLASSCONST (cfg, to_klass_reg, klass);
+               }
                MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, tls_get->dreg, MONO_STRUCT_OFFSET (MonoJitTlsData, class_cast_to), to_klass_reg);
 
                if (null_check) {
@@ -4081,8 +4101,7 @@ mini_class_has_reference_variant_generic_argument (MonoCompile *cfg, MonoClass *
        return FALSE;
 }
 
-// FIXME: This doesn't work yet (class libs tests fail?)
-#define is_complex_isinst(klass) (TRUE || (klass->flags & TYPE_ATTRIBUTE_INTERFACE) || klass->rank || mono_class_is_nullable (klass) || mono_class_is_marshalbyref (klass) || (klass->flags & TYPE_ATTRIBUTE_SEALED) || klass->byval_arg.type == MONO_TYPE_VAR || klass->byval_arg.type == MONO_TYPE_MVAR)
+#define is_complex_isinst(klass) ((klass->flags & TYPE_ATTRIBUTE_INTERFACE) || klass->rank || mono_class_is_nullable (klass) || mono_class_is_marshalbyref (klass) || (klass->flags & TYPE_ATTRIBUTE_SEALED) || klass->byval_arg.type == MONO_TYPE_VAR || klass->byval_arg.type == MONO_TYPE_MVAR)
 
 static MonoInst*
 emit_castclass_with_cache (MonoCompile *cfg, MonoClass *klass, MonoInst **args, MonoBasicBlock **out_bblock)
@@ -4095,6 +4114,7 @@ emit_castclass_with_cache (MonoCompile *cfg, MonoClass *klass, MonoInst **args,
        save_cast_details (cfg, klass, args [0]->dreg, TRUE, out_bblock);
        res = mono_emit_method_call (cfg, mono_castclass, args, NULL);
        reset_cast_details (cfg);
+       *out_bblock = cfg->cbb;
 
        return res;
 }
@@ -4130,12 +4150,46 @@ emit_castclass_with_cache_nonshared (MonoCompile *cfg, MonoInst *obj, MonoClass
  * Returns NULL and set the cfg exception on error.
  */
 static MonoInst*
-handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, int context_used)
+handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, guint8 *ip, MonoBasicBlock **out_bb, int *inline_costs)
 {
        MonoBasicBlock *is_null_bb;
        int obj_reg = src->dreg;
        int vtable_reg = alloc_preg (cfg);
-       MonoInst *klass_inst = NULL;
+       int context_used;
+       MonoInst *klass_inst = NULL, *res;
+       MonoBasicBlock *bblock;
+
+       *out_bb = cfg->cbb;
+
+       context_used = mini_class_check_context_used (cfg, klass);
+
+       if (!context_used && mini_class_has_reference_variant_generic_argument (cfg, klass, context_used)) {
+               res = emit_castclass_with_cache_nonshared (cfg, src, klass, &bblock);
+               (*inline_costs) += 2;
+               *out_bb = cfg->cbb;
+               return res;
+       } else if (!context_used && (mono_class_is_marshalbyref (klass) || klass->flags & TYPE_ATTRIBUTE_INTERFACE)) {
+               MonoMethod *mono_castclass;
+               MonoInst *iargs [1];
+               int costs;
+
+               mono_castclass = mono_marshal_get_castclass (klass); 
+               iargs [0] = src;
+                               
+               save_cast_details (cfg, klass, src->dreg, TRUE, &bblock);
+               costs = inline_method (cfg, mono_castclass, mono_method_signature (mono_castclass), 
+                                                          iargs, ip, cfg->real_offset, TRUE, &bblock);
+               reset_cast_details (cfg);
+               CHECK_CFG_EXCEPTION;
+               g_assert (costs > 0);
+                               
+               cfg->real_offset += 5;
+
+               (*inline_costs) += costs;
+
+               *out_bb = cfg->cbb;
+               return src;
+       }
 
        if (context_used) {
                MonoInst *args [3];
@@ -4154,7 +4208,7 @@ handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, int context
                        /* cache */
                        args [2] = cache_ins;
 
-                       return emit_castclass_with_cache (cfg, klass, args, NULL);
+                       return emit_castclass_with_cache (cfg, klass, args, out_bb);
                }
 
                klass_inst = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
@@ -4200,7 +4254,12 @@ handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, int context
 
        reset_cast_details (cfg);
 
+       *out_bb = cfg->cbb;
+
        return src;
+
+exception_exit:
+       return NULL;
 }
 
 /*
@@ -6561,6 +6620,7 @@ initialize_array_data (MonoMethod *method, gboolean aot, unsigned char *ip, Mono
         * call void class [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, valuetype [mscorlib]System.RuntimeFieldHandle)
         */
        if (ip [0] == CEE_DUP && ip [1] == CEE_LDTOKEN && ip [5] == 0x4 && ip [6] == CEE_CALL) {
+               MonoError error;
                guint32 token = read32 (ip + 7);
                guint32 field_token = read32 (ip + 2);
                guint32 field_index = field_token & 0xffffff;
@@ -6569,11 +6629,13 @@ initialize_array_data (MonoMethod *method, gboolean aot, unsigned char *ip, Mono
                int size = 0;
                MonoMethod *cmethod;
                MonoClass *dummy_class;
-               MonoClassField *field = mono_field_from_token (method->klass->image, field_token, &dummy_class, NULL);
+               MonoClassField *field = mono_field_from_token_checked (method->klass->image, field_token, &dummy_class, NULL, &error);
                int dummy_align;
 
-               if (!field)
+               if (!field) {
+                       mono_error_cleanup (&error); /* FIXME don't swallow the error */
                        return NULL;
+               }
 
                *out_field_token = field_token;
 
@@ -7501,11 +7563,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
        skip_dead_blocks = !dont_verify;
        if (skip_dead_blocks) {
-               original_bb = bb = mono_basic_block_split (method, &error);
-               if (!mono_error_ok (&error)) {
-                       mono_error_cleanup (&error);
-                       UNVERIFIED;
-               }
+               original_bb = bb = mono_basic_block_split (method, &cfg->error);
+               CHECK_CFG_ERROR;
                g_assert (bb);
        }
 
@@ -8125,7 +8184,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                        } else if (constrained_call) {
                                                fsig = mono_method_signature (cmethod);
                                        } else {
-                                               fsig = mono_method_get_signature_full (cmethod, image, token, generic_context);
+                                               fsig = mono_method_get_signature_checked (cmethod, image, token, generic_context, &cfg->error);
+                                               CHECK_CFG_ERROR;
                                        }
                                }
 
@@ -9657,9 +9717,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        cmethod = mini_get_method (cfg, method, token, NULL, generic_context);
                        if (!cmethod || mono_loader_get_last_error ())
                                LOAD_ERROR;
-                       fsig = mono_method_get_signature (cmethod, image, token);
-                       if (!fsig)
-                               LOAD_ERROR;
+                       fsig = mono_method_get_signature_checked (cmethod, image, token, NULL, &cfg->error);
+                       CHECK_CFG_ERROR;
 
                        mono_save_token_info (cfg, image, token, cmethod);
 
@@ -9833,42 +9892,11 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        if (sp [0]->type != STACK_OBJ)
                                UNVERIFIED;
 
-                       context_used = mini_class_check_context_used (cfg, klass);
-
-                       if (!context_used && mini_class_has_reference_variant_generic_argument (cfg, klass, context_used)) {
-                               *sp = emit_castclass_with_cache_nonshared (cfg, sp [0], klass, &bblock);
-                               sp ++;
-                               ip += 5;
-                               inline_costs += 2;
-                       } else if (!context_used && (mono_class_is_marshalbyref (klass) || klass->flags & TYPE_ATTRIBUTE_INTERFACE)) {
-                               MonoMethod *mono_castclass;
-                               MonoInst *iargs [1];
-                               int costs;
-
-                               mono_castclass = mono_marshal_get_castclass (klass); 
-                               iargs [0] = sp [0];
-                               
-                               save_cast_details (cfg, klass, sp [0]->dreg, TRUE, &bblock);
-                               costs = inline_method (cfg, mono_castclass, mono_method_signature (mono_castclass), 
-                                                                          iargs, ip, cfg->real_offset, TRUE, &bblock);
-                               reset_cast_details (cfg);
-                               CHECK_CFG_EXCEPTION;
-                               g_assert (costs > 0);
-                               
-                               ip += 5;
-                               cfg->real_offset += 5;
-
-                               *sp++ = iargs [0];
+                       ins = handle_castclass (cfg, klass, *sp, ip, &bblock, &inline_costs);
+                       CHECK_CFG_EXCEPTION;
 
-                               inline_costs += costs;
-                       }
-                       else {
-                               ins = handle_castclass (cfg, klass, *sp, context_used);
-                               CHECK_CFG_EXCEPTION;
-                               bblock = cfg->cbb;
-                               *sp ++ = ins;
-                               ip += 5;
-                       }
+                       *sp ++ = ins;
+                       ip += 5;
                        break;
                case CEE_ISINST: {
                        CHECK_STACK (1);
@@ -9931,6 +9959,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        break;
                }
                case CEE_UNBOX_ANY: {
+                       MonoInst *res, *addr;
+
                        CHECK_STACK (1);
                        --sp;
                        CHECK_OPSIZE (5);
@@ -9943,67 +9973,23 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        context_used = mini_class_check_context_used (cfg, klass);
 
                        if (mini_is_gsharedvt_klass (cfg, klass)) {
-                               *sp = handle_unbox_gsharedvt (cfg, klass, *sp, &bblock);
-                               sp ++;
-
-                               ip += 5;
+                               res = handle_unbox_gsharedvt (cfg, klass, *sp, &bblock);
+                               inline_costs += 2;
+                       } else if (generic_class_is_reference_type (cfg, klass)) {
+                               res = handle_castclass (cfg, klass, *sp, ip, &bblock, &inline_costs);
+                               CHECK_CFG_EXCEPTION;
+                       } else if (mono_class_is_nullable (klass)) {
+                               res = handle_unbox_nullable (cfg, *sp, klass, context_used);
+                       } else {
+                               addr = handle_unbox (cfg, klass, sp, context_used);
+                               /* LDOBJ */
+                               EMIT_NEW_LOAD_MEMBASE_TYPE (cfg, ins, &klass->byval_arg, addr->dreg, 0);
+                               res = ins;
                                inline_costs += 2;
-                               break;
-                       }
-
-                       if (generic_class_is_reference_type (cfg, klass)) {
-                               /* CASTCLASS FIXME kill this huge slice of duplicated code*/
-                               if (!context_used && mini_class_has_reference_variant_generic_argument (cfg, klass, context_used)) {
-                                       *sp = emit_castclass_with_cache_nonshared (cfg, sp [0], klass, &bblock);
-                                       sp ++;
-                                       ip += 5;
-                                       inline_costs += 2;
-                               } else if (!context_used && (mono_class_is_marshalbyref (klass) || klass->flags & TYPE_ATTRIBUTE_INTERFACE)) {
-                                       MonoMethod *mono_castclass;
-                                       MonoInst *iargs [1];
-                                       int costs;
-
-                                       mono_castclass = mono_marshal_get_castclass (klass); 
-                                       iargs [0] = sp [0];
-
-                                       costs = inline_method (cfg, mono_castclass, mono_method_signature (mono_castclass), 
-                                                                                  iargs, ip, cfg->real_offset, TRUE, &bblock);
-                                       CHECK_CFG_EXCEPTION;
-                                       g_assert (costs > 0);
-                               
-                                       ip += 5;
-                                       cfg->real_offset += 5;
-
-                                       *sp++ = iargs [0];
-                                       inline_costs += costs;
-                               } else {
-                                       ins = handle_castclass (cfg, klass, *sp, context_used);
-                                       CHECK_CFG_EXCEPTION;
-                                       bblock = cfg->cbb;
-                                       *sp ++ = ins;
-                                       ip += 5;
-                               }
-                               break;
-                       }
-
-                       if (mono_class_is_nullable (klass)) {
-                               ins = handle_unbox_nullable (cfg, *sp, klass, context_used);
-                               *sp++= ins;
-                               ip += 5;
-                               break;
                        }
 
-                       /* UNBOX */
-                       ins = handle_unbox (cfg, klass, sp, context_used);
-                       *sp = ins;
-
+                       *sp ++ = res;
                        ip += 5;
-
-                       /* LDOBJ */
-                       EMIT_NEW_LOAD_MEMBASE_TYPE (cfg, ins, &klass->byval_arg, sp [0]->dreg, 0);
-                       *sp++ = ins;
-
-                       inline_costs += 2;
                        break;
                }
                case CEE_BOX: {
@@ -10188,10 +10174,9 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                klass = field->parent;
                        }
                        else {
-                               field = mono_field_from_token (image, token, &klass, generic_context);
+                               field = mono_field_from_token_checked (image, token, &klass, generic_context, &cfg->error);
+                               CHECK_CFG_ERROR;
                        }
-                       if (!field)
-                               LOAD_ERROR;
                        if (!dont_verify && !cfg->skip_visibility && !mono_method_can_access_field (method, field))
                                FIELD_ACCESS_FAILURE (method, field);
                        mono_class_init (klass);
@@ -11001,10 +10986,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        MONO_INST_NEW (cfg, ins, *ip);
                        --sp;
                        CHECK_OPSIZE (5);
-                       klass = mono_class_get_and_inflate_typespec_checked (image, read32 (ip + 1), generic_context, &error);
-                       mono_error_cleanup (&error); /* FIXME don't swallow the error */
+                       klass = mini_get_class (method, read32 (ip + 1), generic_context);
                        CHECK_TYPELOAD (klass);
-                       mono_class_init (klass);
 
                        context_used = mini_class_check_context_used (cfg, klass);
 
@@ -11042,10 +11025,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        MONO_INST_NEW (cfg, ins, *ip);
                        --sp;
                        CHECK_OPSIZE (5);
-                       klass = mono_class_get_and_inflate_typespec_checked (image, read32 (ip + 1), generic_context, &error);
-                       mono_error_cleanup (&error); /* FIXME don't swallow the error */
+                       klass = mini_get_class (method, read32 (ip + 1), generic_context);
                        CHECK_TYPELOAD (klass);
-                       mono_class_init (klass);
 
                        context_used = mini_class_check_context_used (cfg, klass);
 
@@ -11111,14 +11092,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                           typeof(Gen<>). */
                                        context_used = 0;
                                } else if (handle_class == mono_defaults.typehandle_class) {
-                                       /* If we get a MONO_TYPE_CLASS
-                                          then we need to provide the
-                                          open type, not an
-                                          instantiation of it. */
-                                       if (mono_type_get_type (handle) == MONO_TYPE_CLASS)
-                                               context_used = 0;
-                                       else
-                                               context_used = mini_class_check_context_used (cfg, mono_class_from_mono_type (handle));
+                                       context_used = mini_class_check_context_used (cfg, mono_class_from_mono_type (handle));
                                } else if (handle_class == mono_defaults.fieldhandle_class)
                                        context_used = mini_class_check_context_used (cfg, ((MonoClassField*)handle)->parent);
                                else if (handle_class == mono_defaults.methodhandle_class)
@@ -12216,17 +12190,14 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                CHECK_OPSIZE (6);
                                token = read32 (ip + 2);
                                if (mono_metadata_token_table (token) == MONO_TABLE_TYPESPEC && !image_is_dynamic (method->klass->image) && !generic_context) {
-                                       MonoType *type = mono_type_create_from_typespec_checked (image, token, &error);
-                                       mono_error_cleanup (&error); /* FIXME don't swallow the error */
-                                       if (!type)
-                                               UNVERIFIED;
+                                       MonoType *type = mono_type_create_from_typespec_checked (image, token, &cfg->error);
+                                       CHECK_CFG_ERROR;
 
                                        val = mono_type_size (type, &ialign);
                                } else {
-                                       MonoClass *klass = mono_class_get_and_inflate_typespec_checked (image, token, generic_context, &error);
-                                       mono_error_cleanup (&error); /* FIXME don't swallow the error */
+                                       MonoClass *klass = mini_get_class (method, token, generic_context);
                                        CHECK_TYPELOAD (klass);
-                                       mono_class_init (klass);
+
                                        val = mono_type_size (&klass->byval_arg, &ialign);
 
                                        if (mini_is_gsharedvt_klass (cfg, klass))
@@ -12409,6 +12380,10 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                mono_print_code (cfg, "AFTER METHOD-TO-IR");
 
        goto cleanup;
+
+mono_error_exit:
+       g_assert (!mono_error_ok (&cfg->error));
+       goto cleanup;
  
  exception_exit:
        g_assert (cfg->exception_type != MONO_EXCEPTION_NONE);
index a809de49e052aefd2748248d86abab00ede6d530..23e70e0dcdf6a4b31afbfa5758b5a1be67964dbf 100755 (executable)
@@ -5022,8 +5022,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        break;
                case OP_STORER4_MEMBASE_REG:
                        /* This requires a double->single conversion */
-                       amd64_sse_cvtsd2ss_reg_reg (code, AMD64_XMM15, ins->sreg1);
-                       amd64_sse_movss_membase_reg (code, ins->inst_destbasereg, ins->inst_offset, AMD64_XMM15);
+                       amd64_sse_cvtsd2ss_reg_reg (code, MONO_ARCH_FP_SCRATCH_REG, ins->sreg1);
+                       amd64_sse_movss_membase_reg (code, ins->inst_destbasereg, ins->inst_offset, MONO_ARCH_FP_SCRATCH_REG);
                        break;
                case OP_LOADR4_MEMBASE:
                        amd64_sse_movss_reg_membase (code, ins->dreg, ins->inst_basereg, ins->inst_offset);
@@ -6070,8 +6070,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        break;
                case OP_EXTRACT_I8:
                        if (ins->inst_c0) {
-                               amd64_movhlps_reg_reg (code, AMD64_XMM15, ins->sreg1);
-                               amd64_movd_reg_xreg_size (code, ins->dreg, AMD64_XMM15, 8);
+                               amd64_movhlps_reg_reg (code, MONO_ARCH_FP_SCRATCH_REG, ins->sreg1);
+                               amd64_movd_reg_xreg_size (code, ins->dreg, MONO_ARCH_FP_SCRATCH_REG, 8);
                        } else {
                                amd64_movd_reg_xreg_size (code, ins->dreg, ins->sreg1, 8);
                        }
@@ -6123,11 +6123,11 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        amd64_sse_pinsrw_reg_reg_imm (code, ins->dreg, ins->sreg2, ins->inst_c0 * 2 + 1);
                        break;
                case OP_INSERTX_I8_SLOW:
-                       amd64_movd_xreg_reg_size(code, AMD64_XMM15, ins->sreg2, 8);
+                       amd64_movd_xreg_reg_size(code, MONO_ARCH_FP_SCRATCH_REG, ins->sreg2, 8);
                        if (ins->inst_c0)
-                               amd64_movlhps_reg_reg (code, ins->dreg, AMD64_XMM15);
+                               amd64_movlhps_reg_reg (code, ins->dreg, MONO_ARCH_FP_SCRATCH_REG);
                        else
-                               amd64_sse_movsd_reg_reg (code, ins->dreg, AMD64_XMM15);
+                               amd64_sse_movsd_reg_reg (code, ins->dreg, MONO_ARCH_FP_SCRATCH_REG);
                        break;
 
                case OP_INSERTX_R4_SLOW:
@@ -7484,7 +7484,7 @@ mono_arch_is_int_overflow (void *sigctx, void *info)
        int reg;
        gint64 value;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+       mono_sigctx_to_monoctx (sigctx, &ctx);
 
        rip = (guint8*)ctx.rip;
 
@@ -7690,14 +7690,11 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
                g_assert ((code - start) < 64);
        }
 
-       nacl_global_codeman_validate(&start, 64, &code);
-
-       mono_debug_add_delegate_trampoline (start, code - start);
+       nacl_global_codeman_validate (&start, 64, &code);
 
        if (code_len)
                *code_len = code - start;
 
-
        if (mono_jit_map_is_enabled ()) {
                char *buff;
                if (has_target)
index ebd2638727b7b5ba04c3a42807e2dece11a4558d..f5c5282a5e540008f29bfeeb146cc8e8aa91170f 100755 (executable)
@@ -122,14 +122,23 @@ struct sigcontext {
 
 #define MONO_ARCH_FP_RETURN_REG AMD64_XMM0
 
-/* xmm15 is reserved for use by some opcodes */
+#ifdef TARGET_WIN32
+/* xmm5 is used as a scratch register */
+#define MONO_ARCH_CALLEE_FREGS 0x1f
+/* xmm6:xmm15 */
+#define MONO_ARCH_CALLEE_SAVED_FREGS (0xffff - 0x3f)
+#define MONO_ARCH_FP_SCRATCH_REG AMD64_XMM5
+#else
+/* xmm15 is used as a scratch register */
 #define MONO_ARCH_CALLEE_FREGS 0x7fff
 #define MONO_ARCH_CALLEE_SAVED_FREGS 0
+#define MONO_ARCH_FP_SCRATCH_REG AMD64_XMM15
+#endif
 
 #define MONO_MAX_XREGS MONO_MAX_FREGS
 
-#define MONO_ARCH_CALLEE_XREGS 0x7fff
-#define MONO_ARCH_CALLEE_SAVED_XREGS 0
+#define MONO_ARCH_CALLEE_XREGS MONO_ARCH_CALLEE_FREGS
+#define MONO_ARCH_CALLEE_SAVED_XREGS MONO_ARCH_CALLEE_SAVED_FREGS
 
 
 #define MONO_ARCH_CALLEE_REGS AMD64_CALLEE_REGS
@@ -152,9 +161,6 @@ struct sigcontext {
  * reproduceable results for benchmarks */
 #define MONO_ARCH_CODE_ALIGNMENT 32
 
-#define MONO_ARCH_RETREG1 X86_EAX
-#define MONO_ARCH_RETREG2 X86_EDX
-
 /*This is the max size of the locals area of a given frame. I think 1MB is a safe default for now*/
 #define MONO_ARCH_MAX_FRAME_SIZE 0x100000
 
index 9491a442d1a6f74175524297201d62292322bda8..50aa640e8b48225e5c2bd6cab6ea6bdf7f1d689d 100644 (file)
@@ -177,30 +177,7 @@ int mono_exc_esp_offset = 0;
 #define LDR_PC_VAL ((ARMCOND_AL << ARMCOND_SHIFT) | (1 << 26) | (0 << 22) | (1 << 20) | (15 << 12))
 #define IS_LDR_PC(val) (((val) & LDR_MASK) == LDR_PC_VAL)
 
-#define ADD_LR_PC_4 ((ARMCOND_AL << ARMCOND_SHIFT) | (1 << 25) | (1 << 23) | (ARMREG_PC << 16) | (ARMREG_LR << 12) | 4)
-#define MOV_LR_PC ((ARMCOND_AL << ARMCOND_SHIFT) | (1 << 24) | (0xa << 20) |  (ARMREG_LR << 12) | ARMREG_PC)
 //#define DEBUG_IMT 0
-/* A variant of ARM_LDR_IMM which can handle large offsets */
-#define ARM_LDR_IMM_GENERAL(code, dreg, basereg, offset, scratch_reg) do { \
-       if (arm_is_imm12 ((offset))) { \
-               ARM_LDR_IMM (code, (dreg), (basereg), (offset));        \
-       } else {                                                                                                \
-               g_assert ((scratch_reg) != (basereg));                                     \
-               code = mono_arm_emit_load_imm (code, (scratch_reg), (offset));  \
-               ARM_LDR_REG_REG (code, (dreg), (basereg), (scratch_reg));               \
-       }                                                                                                                                       \
-       } while (0)
-
-#define ARM_STR_IMM_GENERAL(code, dreg, basereg, offset, scratch_reg) do {     \
-       if (arm_is_imm12 ((offset))) { \
-               ARM_STR_IMM (code, (dreg), (basereg), (offset));        \
-       } else {                                                                                                \
-               g_assert ((scratch_reg) != (basereg));                                     \
-               code = mono_arm_emit_load_imm (code, (scratch_reg), (offset));  \
-               ARM_STR_REG_REG (code, (dreg), (basereg), (scratch_reg));               \
-       }                                                                                                                                       \
-       } while (0)
 
 #ifndef DISABLE_JIT
 static void mono_arch_compute_omit_fp (MonoCompile *cfg);
@@ -247,9 +224,32 @@ emit_big_add (guint8 *code, int dreg, int sreg, int imm)
                ARM_ADD_REG_IMM (code, dreg, sreg, imm8, rot_amount);
                return code;
        }
-       g_assert (dreg != sreg);
-       code = mono_arm_emit_load_imm (code, dreg, imm);
-       ARM_ADD_REG_REG (code, dreg, dreg, sreg);
+       if (dreg == sreg) {
+               code = mono_arm_emit_load_imm (code, ARMREG_IP, imm);
+               ARM_ADD_REG_REG (code, dreg, sreg, ARMREG_IP);
+       } else {
+               code = mono_arm_emit_load_imm (code, dreg, imm);
+               ARM_ADD_REG_REG (code, dreg, dreg, sreg);
+       }
+       return code;
+}
+
+/* If dreg == sreg, this clobbers IP */
+static guint8*
+emit_sub_imm (guint8 *code, int dreg, int sreg, int imm)
+{
+       int imm8, rot_amount;
+       if ((imm8 = mono_arm_is_rotated_imm8 (imm, &rot_amount)) >= 0) {
+               ARM_SUB_REG_IMM (code, dreg, sreg, imm8, rot_amount);
+               return code;
+       }
+       if (dreg == sreg) {
+               code = mono_arm_emit_load_imm (code, ARMREG_IP, imm);
+               ARM_SUB_REG_REG (code, dreg, sreg, ARMREG_IP);
+       } else {
+               code = mono_arm_emit_load_imm (code, dreg, imm);
+               ARM_SUB_REG_REG (code, dreg, dreg, sreg);
+       }
        return code;
 }
 
@@ -1093,8 +1093,6 @@ mono_arch_get_allocatable_int_vars (MonoCompile *cfg)
        return vars;
 }
 
-#define USE_EXTRA_TEMPS 0
-
 GList *
 mono_arch_get_global_int_regs (MonoCompile *cfg)
 {
@@ -1160,6 +1158,8 @@ mono_arch_flush_icache (guint8 *code, gint size)
 #ifdef MONO_CROSS_COMPILE
 #elif __APPLE__
        sys_icache_invalidate (code, size);
+#elif __GNUC_PREREQ(4, 3)
+    __builtin___clear_cache (code, code + size);
 #elif __GNUC_PREREQ(4, 1)
        __clear_cache (code, code + size);
 #elif defined(PLATFORM_ANDROID)
@@ -4945,15 +4945,9 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        break;
                }
                case OP_LOCALLOC: {
-                       /* keep alignment */
-                       int alloca_waste = cfg->param_area;
-                       alloca_waste += 7;
-                       alloca_waste &= ~7;
                        /* round the size to 8 bytes */
                        ARM_ADD_REG_IMM8 (code, ins->dreg, ins->sreg1, 7);
                        ARM_BIC_REG_IMM8 (code, ins->dreg, ins->dreg, 7);
-                       if (alloca_waste)
-                               ARM_ADD_REG_IMM8 (code, ins->dreg, ins->dreg, alloca_waste);
                        ARM_SUB_REG_REG (code, ARMREG_SP, ARMREG_SP, ins->dreg);
                        /* memzero the area: dreg holds the size, sp is the pointer */
                        if (ins->flags & MONO_INST_INIT) {
@@ -4969,7 +4963,9 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                                ARM_B_COND (code, ARMCOND_GE, 0);
                                arm_patch (code - 4, start_loop);
                        }
-                       ARM_ADD_REG_IMM8 (code, ins->dreg, ARMREG_SP, alloca_waste);
+                       ARM_MOV_REG_REG (code, ins->dreg, ARMREG_SP);
+                       if (cfg->param_area)
+                               code = emit_sub_imm (code, ARMREG_SP, ARMREG_SP, ALIGN_TO (cfg->param_area, MONO_ARCH_FRAME_ALIGNMENT));
                        break;
                }
                case OP_DYN_CALL: {
index f22514b61ef3e58d2d6acbc1a1e4132e1ebc76c1..e9f99014610f583af56b77c37f17d56db7b02a56 100644 (file)
@@ -242,7 +242,6 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_EMULATE_DIV 1
 #define MONO_ARCH_EMULATE_CONV_R8_UN 1
 #define MONO_ARCH_EMULATE_MUL_OVF 1
-//#define MONO_ARCH_BIGMUL_INTRINS 1
 
 #define ARM_FIRST_ARG_REG 0
 #define ARM_LAST_ARG_REG 3
@@ -258,9 +257,6 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE
 #define MONO_ARCH_HAVE_GENERALIZED_IMT_THUNK 1
 
-#define ARM_NUM_REG_ARGS (ARM_LAST_ARG_REG-ARM_FIRST_ARG_REG+1)
-#define ARM_NUM_REG_FPARGS 0
-
 #define MONO_ARCH_HAVE_FULL_AOT_TRAMPOLINES 1
 #define MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS 1
 
index db4a1ce4b0c98834c4fd8cad0dd4f569c90c215a..616ebc46bf363e6db420ffc14d4d0ce54be47bd8 100644 (file)
@@ -2183,7 +2183,7 @@ mono_handle_hard_stack_ovf (MonoJitTlsData *jit_tls, MonoJitInfo *ji, void *ctx,
        mono_runtime_printf_err ("Stack overflow: IP: %p, fault addr: %p", mono_arch_ip_from_context (ctx), fault_addr);
 
 #ifdef MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX
-       mono_arch_sigctx_to_monoctx (ctx, &mctx);
+       mono_sigctx_to_monoctx (ctx, &mctx);
                        
        mono_runtime_printf_err ("Stacktrace:");
 
@@ -2379,13 +2379,17 @@ mono_print_thread_dump_internal (void *sigctx, MonoContext *start_ctx)
 #ifdef MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX
        MonoContext ctx;
 #endif
-       GString* text = g_string_new (0);
+       GString* text;
        char *name;
 #ifndef HOST_WIN32
        char *wapi_desc;
 #endif
        GError *error = NULL;
 
+       if (!thread)
+               return;
+
+       text = g_string_new (0);
        if (thread->name) {
                name = g_utf16_to_utf8 (thread->name, thread->name_len, NULL, NULL, &error);
                g_assert (!error);
@@ -2409,7 +2413,7 @@ mono_print_thread_dump_internal (void *sigctx, MonoContext *start_ctx)
        } else if (!sigctx)
                MONO_INIT_CONTEXT_FROM_FUNC (&ctx, mono_print_thread_dump);
        else
-               mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+               mono_sigctx_to_monoctx (sigctx, &ctx);
 
        mono_walk_stack_with_ctx (print_stack_frame_to_string, &ctx, MONO_UNWIND_LOOKUP_ALL, text);
 #else
@@ -2606,7 +2610,7 @@ mono_thread_state_init_from_sigctx (MonoThreadUnwindState *ctx, void *sigctx)
        }
 
        if (sigctx)
-               mono_arch_sigctx_to_monoctx (sigctx, &ctx->ctx);
+               mono_sigctx_to_monoctx (sigctx, &ctx->ctx);
        else
 #if MONO_ARCH_HAS_MONO_CONTEXT && !defined(MONO_CROSS_COMPILE)
                MONO_CONTEXT_GET_CURRENT (ctx->ctx);
index d0004b6c34511d7a19b34ecfda45136f6fa454af..fddca9c6c346e7be93d95e0a204e6a679a28b2e7 100644 (file)
@@ -12,8 +12,8 @@
 #include "mini-gc.h"
 #include <mono/metadata/gc-internal.h>
 
-//#if 0
-#if defined(MONO_ARCH_GC_MAPS_SUPPORTED)
+#if 0
+//#if defined(MONO_ARCH_GC_MAPS_SUPPORTED)
 
 #include <mono/metadata/sgen-conf.h>
 #include <mono/metadata/gc-internal.h>
@@ -616,7 +616,7 @@ thread_suspend_func (gpointer user_data, void *sigctx, MonoContext *ctx)
                tls->unwind_state.unwind_data [MONO_UNWIND_DATA_LMF] = mono_get_lmf ();
                if (sigctx) {
 #ifdef MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX
-                       mono_arch_sigctx_to_monoctx (sigctx, &tls->unwind_state.ctx);
+                       mono_sigctx_to_monoctx (sigctx, &tls->unwind_state.ctx);
                        tls->unwind_state.valid = TRUE;
 #else
                        tls->unwind_state.valid = FALSE;
index 15bb596d41418f5d683c71c98aaa276ea72ae6dc..928ccfbb5358ca1b265007fe5cd023ceb8545645 100644 (file)
@@ -41,9 +41,6 @@
 
 #define MONO_ARCH_CODE_ALIGNMENT 16
 
-#define MONO_ARCH_RETREG1 IA64_R8
-#define MONO_ARCH_FRETREG1 8
-
 #define MONO_ARCH_SIGNAL_STACK_SIZE SIGSTKSZ
 
 struct MonoLMF {
@@ -106,7 +103,6 @@ unw_dyn_region_info_t* mono_ia64_create_unwind_region (Ia64CodegenState *code);
 #define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
 #define MONO_ARCH_EMULATE_FREM           1
 #define MONO_ARCH_EMULATE_MUL_DIV        1
-#define MONO_ARCH_EMULATE_LONG_MUL_OPTS  1
 #define MONO_ARCH_NEED_DIV_CHECK         1
 
 #define MONO_ARCH_HAVE_IS_INT_OVERFLOW 1
index 28e76665e16b5a197410e2f8833ed6419092e315..a28570344ef9244cfeddb95fc4a9e020ae763211 100644 (file)
@@ -7,10 +7,12 @@
 
 #include "mini.h"
 #include <mono/metadata/debug-helpers.h>
+#include <mono/metadata/debug-mono-symfile.h>
 #include <mono/metadata/mempool-internals.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/mono-dl.h>
 #include <mono/utils/mono-time.h>
+#include <mono/utils/freebsd-dwarf.h>
 
 #ifndef __STDC_LIMIT_MACROS
 #define __STDC_LIMIT_MACROS
@@ -42,6 +44,7 @@ typedef struct {
        int bb_names_len;
        GPtrArray *used;
        LLVMTypeRef ptr_type;
+       GPtrArray *subprogram_mds;
        MonoEERef *mono_ee;
        LLVMExecutionEngineRef ee;
 } MonoLLVMModule;
@@ -99,7 +102,8 @@ typedef struct {
        int *pindexes;
        LLVMValueRef imt_rgctx_loc;
        GHashTable *llvm_types;
-
+       LLVMValueRef dbg_md;
+       MonoDebugMethodInfo *minfo;
        char temp_name [32];
 } EmitContext;
 
@@ -209,6 +213,10 @@ static const char *memcpy_func_name;
 
 static void init_jit_module (MonoDomain *domain);
 
+static void emit_dbg_loc (EmitContext *ctx, LLVMBuilderRef builder, const unsigned char *cil_code);
+static LLVMValueRef emit_dbg_subprogram (EmitContext *ctx, MonoCompile *cfg, LLVMValueRef method, const char *name);
+static void emit_dbg_info (MonoLLVMModule *lmodule, const char *filename, const char *cu_name);
+
 /*
  * IntPtrType:
  *
@@ -2346,6 +2354,8 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
                char *dname = NULL;
                char dname_buf [128];
 
+               emit_dbg_loc (ctx, builder, ins->cil_code);
+
                nins ++;
                if (nins > 5000 && builder == starting_builder) {
                        /* some steps in llc are non-linear in the size of basic blocks, see #5714 */
@@ -4245,8 +4255,10 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
        if (!has_terminator && bb->next_bb && (bb == cfg->bb_entry || bb->in_count > 0))
                LLVMBuildBr (builder, get_bb (ctx, bb->next_bb));
 
-       if (bb == cfg->bb_exit && sig->ret->type == MONO_TYPE_VOID)
+       if (bb == cfg->bb_exit && sig->ret->type == MONO_TYPE_VOID) {
+               emit_dbg_loc (ctx, builder, cfg->header->code + cfg->header->code_size - 1);
                LLVMBuildRetVoid (builder);
+       }
 
        if (bb == cfg->bb_entry)
                ctx->last_alloca = LLVMGetLastInstruction (get_bb (ctx, cfg->bb_entry));
@@ -4484,6 +4496,12 @@ mono_llvm_emit_method (MonoCompile *cfg)
        }
        g_free (names);
 
+       // See emit_dbg_info ()
+       if (FALSE && cfg->compile_aot && mono_debug_enabled ()) {
+               ctx->minfo = mono_debug_lookup_method (cfg->method);
+               ctx->dbg_md = emit_dbg_subprogram (ctx, cfg, method, method_name);
+       }
+
        max_block_num = 0;
        for (bb = cfg->bb_entry; bb; bb = bb->next_bb)
                max_block_num = MAX (max_block_num, bb->block_num);
@@ -5361,7 +5379,7 @@ mono_llvm_create_aot_module (const char *got_symbol)
  * Emit the aot module into the LLVM bitcode file FILENAME.
  */
 void
-mono_llvm_emit_aot_module (const char *filename, int got_size)
+mono_llvm_emit_aot_module (const char *filename, const char *cu_name, int got_size)
 {
        LLVMTypeRef got_type;
        LLVMValueRef real_got;
@@ -5384,6 +5402,7 @@ mono_llvm_emit_aot_module (const char *filename, int got_size)
        LLVMDeleteGlobal (aot_module.got_var);
 
        emit_llvm_used (&aot_module);
+       emit_dbg_info (&aot_module, filename, cu_name);
 
        /* Replace PLT entries for directly callable methods with the methods themselves */
        {
@@ -5419,6 +5438,221 @@ mono_llvm_emit_aot_module (const char *filename, int got_size)
        LLVMWriteBitcodeToFile (aot_module.module, filename);
 }
 
+
+static LLVMValueRef
+md_string (const char *s)
+{
+       return LLVMMDString (s, strlen (s));
+}
+
+/* Debugging support */
+
+static void
+emit_dbg_info (MonoLLVMModule *lmodule, const char *filename, const char *cu_name)
+{
+       LLVMModuleRef module = lmodule->module;
+       LLVMValueRef args [16], cu_args [16], cu, ver;
+       int n_cuargs;
+       char *build_info, *s, *dir;
+
+       //
+       // FIXME: This cannot be enabled, since the AOT compiler also emits dwarf info,
+       // and the abbrev indexes will not be correct since llvm has added its own
+       // abbrevs.
+       //
+       return;
+
+       /*
+        * Emit dwarf info in the form of LLVM metadata. There is some
+        * out-of-date documentation at:
+        * http://llvm.org/docs/SourceLevelDebugging.html
+        * but most of this was gathered from the llvm and
+        * clang sources.
+        */
+
+       n_cuargs = 0;
+       cu_args [n_cuargs ++] = LLVMConstInt (LLVMInt32Type (), DW_TAG_compile_unit, FALSE);
+       /* CU name/compilation dir */
+       dir = g_path_get_dirname (filename);
+       args [0] = LLVMMDString (cu_name, strlen (cu_name));
+       args [1] = LLVMMDString (dir, strlen (dir));
+       cu_args [n_cuargs ++] = LLVMMDNode (args, 2);
+       g_free (dir);
+       /* Language */
+       cu_args [n_cuargs ++] = LLVMConstInt (LLVMInt32Type (), DW_LANG_C99, FALSE);
+       /* Producer */
+       build_info = mono_get_runtime_build_info ();
+       s = g_strdup_printf ("Mono AOT Compiler %s (LLVM)", build_info);
+       cu_args [n_cuargs ++] = LLVMMDString (s, strlen (s));
+       g_free (build_info);
+       /* Optimized */
+       cu_args [n_cuargs ++] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       /* Flags */
+       cu_args [n_cuargs ++] = LLVMMDString ("", strlen (""));
+       /* Runtime version */
+       cu_args [n_cuargs ++] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
+       /* Enums */
+       cu_args [n_cuargs ++] = LLVMMDNode (args, 0);
+       cu_args [n_cuargs ++] = LLVMMDNode (args, 0);
+       /* Subprograms */
+       if (lmodule->subprogram_mds) {
+               LLVMValueRef *mds;
+               int i;
+
+               mds = g_new0 (LLVMValueRef, lmodule->subprogram_mds->len);
+               for (i = 0; i < lmodule->subprogram_mds->len; ++i)
+                       mds [i] = g_ptr_array_index (lmodule->subprogram_mds, i);
+               cu_args [n_cuargs ++] = LLVMMDNode (mds, lmodule->subprogram_mds->len);
+       } else {
+               cu_args [n_cuargs ++] = LLVMMDNode (args, 0);
+       }
+       /* GVs */
+       cu_args [n_cuargs ++] = LLVMMDNode (args, 0);
+       /* Imported modules */
+       cu_args [n_cuargs ++] = LLVMMDNode (args, 0);
+       /* SplitName */
+       cu_args [n_cuargs ++] = LLVMMDString ("", strlen (""));
+       /* DebugEmissionKind = FullDebug */
+       cu_args [n_cuargs ++] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       cu = LLVMMDNode (cu_args, n_cuargs);
+       LLVMAddNamedMetadataOperand (module, "llvm.dbg.cu", cu);
+
+       args [0] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       args [1] = LLVMMDString ("Dwarf Version", strlen ("Dwarf Version"));
+       args [2] = LLVMConstInt (LLVMInt32Type (), 2, FALSE);
+       ver = LLVMMDNode (args, 3);
+       LLVMAddNamedMetadataOperand (module, "llvm.module.flags", ver);
+
+       args [0] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       args [1] = LLVMMDString ("Debug Info Version", strlen ("Debug Info Version"));
+       args [2] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       ver = LLVMMDNode (args, 3);
+       LLVMAddNamedMetadataOperand (module, "llvm.module.flags", ver);
+}
+
+static LLVMValueRef
+emit_dbg_subprogram (EmitContext *ctx, MonoCompile *cfg, LLVMValueRef method, const char *name)
+{
+       MonoLLVMModule *module = ctx->lmodule;
+       MonoDebugMethodInfo *minfo = ctx->minfo;
+       char *source_file, *dir, *filename;
+       LLVMValueRef md, args [16], ctx_args [16], md_args [64], type_args [16], ctx_md, type_md;
+       int n_il_offsets;
+       int *il_offsets;
+       int *line_numbers;
+
+       if (!minfo)
+               return NULL;
+
+       mono_debug_symfile_get_line_numbers_full (minfo, &source_file, NULL, &n_il_offsets, &il_offsets, &line_numbers, NULL, NULL, NULL, NULL);
+       if (!source_file)
+               source_file = g_strdup ("<unknown>");
+       dir = g_path_get_dirname (source_file);
+       filename = g_path_get_basename (source_file);
+
+       ctx_args [0] = LLVMConstInt (LLVMInt32Type (), 0x29, FALSE);
+       args [0] = md_string (filename);
+       args [1] = md_string (dir);
+       ctx_args [1] = LLVMMDNode (args, 2);
+       ctx_md = LLVMMDNode (ctx_args, 2);
+
+       type_args [0] = LLVMConstInt (LLVMInt32Type (), DW_TAG_subroutine_type, FALSE);
+       type_args [1] = NULL;
+       type_args [2] = NULL;
+       type_args [3] = LLVMMDString ("", 0);
+       type_args [4] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
+       type_args [5] = LLVMConstInt (LLVMInt64Type (), 0, FALSE);
+       type_args [6] = LLVMConstInt (LLVMInt64Type (), 0, FALSE);
+       type_args [7] = LLVMConstInt (LLVMInt64Type (), 0, FALSE);
+       type_args [8] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
+       type_args [9] = NULL;
+       type_args [10] = NULL;
+       type_args [11] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
+       type_args [12] = NULL;
+       type_args [13] = NULL;
+       type_args [14] = NULL;
+       type_md = LLVMMDNode (type_args, 14);
+
+       /* http://llvm.org/docs/SourceLevelDebugging.html#subprogram-descriptors */
+       md_args [0] = LLVMConstInt (LLVMInt32Type (), DW_TAG_subprogram, FALSE);
+       /* Source directory + file pair */
+       args [0] = md_string (filename);
+       args [1] = md_string (dir);
+       md_args [1] = LLVMMDNode (args ,2);
+       md_args [2] = ctx_md;
+       md_args [3] = md_string (cfg->method->name);
+       md_args [4] = md_string (name);
+       md_args [5] = md_string (name);
+       /* Line number */
+       if (n_il_offsets)
+               md_args [6] = LLVMConstInt (LLVMInt32Type (), line_numbers [0], FALSE);
+       else
+               md_args [6] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       /* Type */
+       md_args [7] = type_md;
+       /* static */
+       md_args [8] = LLVMConstInt (LLVMInt1Type (), 0, FALSE);
+       /* not extern */
+       md_args [9] = LLVMConstInt (LLVMInt1Type (), 1, FALSE);
+       /* Virtuality */
+       md_args [10] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
+       /* Index into a virtual function */
+       md_args [11] = NULL;
+       md_args [12] = NULL;
+       /* Flags */
+       md_args [13] = LLVMConstInt (LLVMInt1Type (), 0, FALSE);
+       /* isOptimized */
+       md_args [14] = LLVMConstInt (LLVMInt1Type (), 1, FALSE);
+       /* Pointer to LLVM function */
+       md_args [15] = method;
+       /* Function template parameter */
+       md_args [16] = NULL;
+       /* Function declaration descriptor */
+       md_args [17] = NULL;
+       /* List of function variables */
+       md_args [18] = LLVMMDNode (args, 0);
+       /* Line number */
+       md_args [19] = LLVMConstInt (LLVMInt32Type (), 1, FALSE);
+       md = LLVMMDNode (md_args, 20);
+
+       if (!module->subprogram_mds)
+               module->subprogram_mds = g_ptr_array_new ();
+       g_ptr_array_add (module->subprogram_mds, md);
+
+       g_free (dir);
+       g_free (filename);
+       g_free (source_file);
+       g_free (il_offsets);
+       g_free (line_numbers);
+
+       return md;
+}
+
+static void
+emit_dbg_loc (EmitContext *ctx, LLVMBuilderRef builder, const unsigned char *cil_code)
+{
+       MonoCompile *cfg = ctx->cfg;
+
+       if (ctx->minfo && cil_code && cil_code >= cfg->header->code && cil_code < cfg->header->code + cfg->header->code_size) {
+               MonoDebugSourceLocation *loc;
+               LLVMValueRef loc_md, md_args [16];
+               int nmd_args;
+
+               loc = mono_debug_symfile_lookup_location (ctx->minfo, cil_code - cfg->header->code);
+
+               if (loc) {
+                       nmd_args = 0;
+                       md_args [nmd_args ++] = LLVMConstInt (LLVMInt32Type (), loc->row, FALSE);
+                       md_args [nmd_args ++] = LLVMConstInt (LLVMInt32Type (), loc->column, FALSE);
+                       md_args [nmd_args ++] = ctx->dbg_md;
+                       md_args [nmd_args ++] = NULL;
+                       loc_md = LLVMMDNode (md_args, nmd_args);
+                       LLVMSetCurrentDebugLocation (builder, loc_md);
+                       mono_debug_symfile_free_location (loc);
+               }
+       }
+}
+
 /*
   DESIGN:
   - Emit LLVM IR from the mono IR using the LLVM C API.
index 541ae3dd390d5a79f877c8fc45bb3d5440e7c76d..644b9b392dc4d333674efa88d301ad3b45698452 100644 (file)
@@ -16,7 +16,7 @@ typedef void (*MonoLLVMVoidFunc)(void);
 typedef void (*MonoLLVMCFGFunc)(MonoCompile *cfg);
 typedef void (*MonoLLVMEmitCallFunc)(MonoCompile *cfg, MonoCallInst *call);
 typedef void (*MonoLLVMCreateAotFunc)(const char *got_symbol);
-typedef void (*MonoLLVMEmitAotFunc)(const char *filename, int got_size);
+typedef void (*MonoLLVMEmitAotFunc)(const char *filename, const char *cu_name, int got_size);
 typedef void (*MonoLLVMFreeDomainFunc)(MonoDomain *domain);
 
 static MonoLLVMVoidFunc mono_llvm_init_fptr;
@@ -60,10 +60,10 @@ mono_llvm_create_aot_module (const char *got_symbol)
 }
 
 void
-mono_llvm_emit_aot_module (const char *filename, int got_size)
+mono_llvm_emit_aot_module (const char *filename, const char *cu_name, int got_size)
 {
        g_assert (mono_llvm_emit_aot_module_fptr);
-       mono_llvm_emit_aot_module_fptr (filename, got_size);
+       mono_llvm_emit_aot_module_fptr (filename, cu_name, got_size);
 }
 
 void
index d8d769130c4fc049ec242d90b650e55040a17865..1d84ef867b0ef480a649fabe1337ac56d56a36dc 100644 (file)
@@ -231,7 +231,6 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_EMULATE_LCONV_TO_R4 1
 #define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
 #define MONO_ARCH_EMULATE_FREM 1
-#define MONO_ARCH_BIGMUL_INTRINS 1
 #endif
 
 #if SIZEOF_REGISTER == 8
@@ -330,8 +329,6 @@ typedef struct {
 
 #undef DEBUG_EXCEPTIONS
 
-#define MONO_ZERO_REG          mips_zero
-
 #define        MONO_EMIT_NEW_MIPS_COND_EXC(cfg,cond,sr1,sr2,name) do { \
                 MonoInst *inst; \
                MONO_INST_NEW ((cfg), (inst), cond); \
index 0c2fa1dc1f0a1525208eb8bdd332f933f1da6e7c..473e4c4a1fe2d67504832b7372d86be9d4be61d0 100644 (file)
@@ -25,6 +25,8 @@
 #ifdef HAVE_SYS_SYSCALL_H
 #include <sys/syscall.h>
 #endif
+#include <errno.h>
+
 
 #include <mono/metadata/assembly.h>
 #include <mono/metadata/loader.h>
@@ -55,6 +57,7 @@
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/dtrace.h>
 #include <mono/utils/mono-signal-handler.h>
+#include <mono/utils/mono-threads.h>
 
 #include "mini.h"
 #include <string.h>
@@ -306,12 +309,14 @@ MONO_SIG_HANDLER_FUNC (static, sigprof_signal_handler)
 
 #else
 
-MONO_SIG_HANDLER_FUNC (static, sigprof_signal_handler)
+static int profiling_signal_in_use;
+
+static void
+per_thread_profiler_hit (void *ctx)
 {
        int call_chain_depth = mono_profiler_stat_get_call_chain_depth ();
        MonoProfilerCallChainStrategy call_chain_strategy = mono_profiler_stat_get_call_chain_strategy ();
-       MONO_SIG_HANDLER_GET_CONTEXT;
-       
+
        if (call_chain_depth == 0) {
                mono_profiler_stat_hit (mono_arch_ip_from_context (ctx), ctx);
        } else {
@@ -320,7 +325,7 @@ MONO_SIG_HANDLER_FUNC (static, sigprof_signal_handler)
                MonoContext mono_context;
                guchar *ips [call_chain_depth + 1];
 
-               mono_arch_sigctx_to_monoctx (ctx, &mono_context);
+               mono_sigctx_to_monoctx (ctx, &mono_context);
                ips [0] = MONO_CONTEXT_GET_IP (&mono_context);
                
                if (jit_tls != NULL) {
@@ -378,6 +383,40 @@ MONO_SIG_HANDLER_FUNC (static, sigprof_signal_handler)
                
                mono_profiler_stat_call_chain (current_frame_index, & ips [0], ctx);
        }
+}
+
+MONO_SIG_HANDLER_FUNC (static, sigprof_signal_handler)
+{
+       MonoThreadInfo *info;
+       int old_errno = errno;
+       int hp_save_index;
+       MONO_SIG_HANDLER_GET_CONTEXT;
+
+       if (mono_thread_info_get_small_id () == -1)
+               return; //an non-attached thread got the signal
+
+       if (!mono_domain_get () || !mono_native_tls_get_value (mono_jit_tls_id))
+               return; //thread in the process of dettaching
+
+       hp_save_index = mono_hazard_pointer_save_for_signal_handler ();
+
+       /* If we can't consume a profiling request it means we're the initiator. */
+       if (!(mono_threads_consume_async_jobs () & MONO_SERVICE_REQUEST_SAMPLE)) {
+               FOREACH_THREAD_SAFE (info) {
+                       if (mono_thread_info_get_tid (info) == mono_native_thread_id_get ())
+                               continue;
+
+                       mono_threads_add_async_job (info, MONO_SERVICE_REQUEST_SAMPLE);
+                       mono_threads_pthread_kill (info, profiling_signal_in_use);
+               } END_FOREACH_THREAD_SAFE;
+       }
+
+       mono_thread_info_set_is_async_context (TRUE);
+       per_thread_profiler_hit (ctx);
+       mono_thread_info_set_is_async_context (FALSE);
+
+       mono_hazard_pointer_restore_for_signal_handler (hp_save_index);
+       errno = old_errno;
 
        mono_chain_signal (MONO_SIG_HANDLER_PARAMS);
 }
@@ -600,6 +639,30 @@ mono_runtime_shutdown_stat_profiler (void)
 #endif
 }
 
+#ifdef ITIMER_PROF
+static int
+get_itimer_mode (void)
+{
+       switch (mono_profiler_get_sampling_mode ()) {
+       case MONO_PROFILER_STAT_MODE_PROCESS: return ITIMER_PROF;
+       case MONO_PROFILER_STAT_MODE_REAL: return ITIMER_REAL;
+       }
+       g_assert_not_reached ();
+       return 0;
+}
+
+static int
+get_itimer_signal (void)
+{
+       switch (mono_profiler_get_sampling_mode ()) {
+       case MONO_PROFILER_STAT_MODE_PROCESS: return SIGPROF;
+       case MONO_PROFILER_STAT_MODE_REAL: return SIGALRM;
+       }
+       g_assert_not_reached ();
+       return 0;
+}
+#endif
+
 void
 mono_runtime_setup_stat_profiler (void)
 {
@@ -620,7 +683,8 @@ mono_runtime_setup_stat_profiler (void)
                        perror ("open /dev/rtc");
                        return;
                }
-               add_signal_handler (SIGPROF, sigprof_signal_handler);
+               profiling_signal_in_use = SIGPROF;
+               add_signal_handler (profiling_signal_in_use, sigprof_signal_handler);
                if (ioctl (rtc_fd, RTC_IRQP_SET, freq) == -1) {
                        perror ("set rtc freq");
                        return;
@@ -644,14 +708,15 @@ mono_runtime_setup_stat_profiler (void)
                return;
 #endif
 
-       itval.it_interval.tv_usec = 999;
+       itval.it_interval.tv_usec = (1000000 / mono_profiler_get_sampling_rate ()) - 1;
        itval.it_interval.tv_sec = 0;
        itval.it_value = itval.it_interval;
-       setitimer (ITIMER_PROF, &itval, NULL);
        if (inited)
                return;
        inited = 1;
-       add_signal_handler (SIGPROF, sigprof_signal_handler);
+       profiling_signal_in_use = get_itimer_signal ();
+       add_signal_handler (profiling_signal_in_use, sigprof_signal_handler);
+       setitimer (get_itimer_mode (), &itval, NULL);
 #endif
 }
 
@@ -659,7 +724,11 @@ mono_runtime_setup_stat_profiler (void)
 pid_t
 mono_runtime_syscall_fork ()
 {
-#if defined(SYS_fork)
+#if defined(PLATFORM_ANDROID)
+       /* SYS_fork is defined to be __NR_fork which is not defined in some ndk versions */
+       g_assert_not_reached ();
+       return 0;
+#elif defined(SYS_fork)
        return (pid_t) syscall (SYS_fork);
 #else
        g_assert_not_reached ();
index 7131aad0e14519330b8fae30cc48fa1b3455f279..2a9af123de4d3d816136fb52c5d504b2e09c7517 100644 (file)
@@ -99,7 +99,6 @@ typedef struct MonoCompileArch {
 
 #define MONO_ARCH_EMULATE_LCONV_TO_R8_UN 1
 #define MONO_ARCH_EMULATE_FREM 1
-#define MONO_ARCH_BIGMUL_INTRINS 1
 #define MONO_ARCH_GC_MAPS_SUPPORTED 1
 
 /* Parameters used by the register allocator */
@@ -153,7 +152,6 @@ typedef struct MonoCompileArch {
 #define PPC_MINIMAL_PARAM_AREA_SIZE 64
 #define PPC_LAST_FPARG_REG ppc_f13
 #define PPC_PASS_STRUCTS_BY_VALUE 1
-#define PPC_SMALL_RET_STRUCT_IN_REG 0
 #define PPC_THREAD_PTR_REG ppc_r13
 #else
 #define PPC_RET_ADDR_OFFSET 4
@@ -162,7 +160,6 @@ typedef struct MonoCompileArch {
 #define PPC_MINIMAL_PARAM_AREA_SIZE 0
 #define PPC_LAST_FPARG_REG ppc_f8
 #define PPC_PASS_STRUCTS_BY_VALUE 0
-#define PPC_SMALL_RET_STRUCT_IN_REG 1
 #define PPC_THREAD_PTR_REG ppc_r2
 #endif
 #define PPC_FIRST_ARG_REG ppc_r3
@@ -202,7 +199,6 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_HAVE_OP_TAIL_CALL 1
 
 #define PPC_NUM_REG_ARGS (PPC_LAST_ARG_REG-PPC_FIRST_ARG_REG+1)
-#define PPC_NUM_REG_FPARGS (PPC_LAST_FPARG_REG-PPC_FIRST_FPARG_REG+1)
 
 #ifdef MONO_CROSS_COMPILE
 
index b40425c647861be96ad3c1c0c6d9fa5475b8b929..7de88fdf1e2ca5018981c576fb841f1a12df9cf0 100644 (file)
@@ -68,11 +68,6 @@ typedef struct
 #define S390_LAST_ARG_REG              s390_r6
 #define S390_FIRST_FPARG_REG           s390_f0
 #define S390_LAST_FPARG_REG            s390_f6
-#define S390_PASS_STRUCTS_BY_VALUE      1
-#define S390_SMALL_RET_STRUCT_IN_REG    1
-
-#define S390_NUM_REG_ARGS (S390_LAST_ARG_REG-S390_FIRST_ARG_REG+1)
-#define S390_NUM_REG_FPARGS ((S390_LAST_FPARG_REG-S390_FIRST_FPARG_REG)/2)
 
 /*===============================================*/
 /* Definitions used by mini-codegen.c            */
@@ -115,8 +110,6 @@ typedef struct
 #define MONO_ARCH_FRAME_ALIGNMENT 8
 #define MONO_ARCH_CODE_ALIGNMENT 32
 
-#define MONO_ARCH_RETREG1 s390_r2
-
 /*-----------------------------------------------*/
 /* Macros used to generate instructions          */
 /*-----------------------------------------------*/
index ab8e452b70e93292e1bced3f59298445fbc75cd2..2c9d8772f68d2777de68676b49c0092ca5834215 100644 (file)
@@ -57,8 +57,6 @@
 
 #define MONO_ARCH_CODE_ALIGNMENT 32
 
-#define MONO_ARCH_RETREG1 sparc_i0
-
 #ifdef SPARCV9
 #define MONO_SPARC_STACK_BIAS 2047
 #else
index a2c9f49805dbf617c500af6139e3cdf5c9bdc99e..1085cbe0e3fcd3e4151a55978bc28c0d3fdf986e 100644 (file)
@@ -82,11 +82,11 @@ typedef struct {
  */
 
 /* Set cfa to reg+offset */
-#define mono_emit_unwind_op_def_cfa(cfg,ip,reg,offset) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa, (reg), (offset)); (cfg)->cfa_reg = (reg); (cfg)->cfa_offset = (offset); } while (0)
+#define mono_emit_unwind_op_def_cfa(cfg,ip,reg,offset) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa, (reg), (offset)); (cfg)->cur_cfa_reg = (reg); (cfg)->cur_cfa_offset = (offset); } while (0)
 /* Set cfa to reg+existing offset */
-#define mono_emit_unwind_op_def_cfa_reg(cfg,ip,reg) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa_register, (reg), (0)); (cfg)->cfa_reg = (reg); } while (0)
+#define mono_emit_unwind_op_def_cfa_reg(cfg,ip,reg) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa_register, (reg), (0)); (cfg)->cur_cfa_reg = (reg); } while (0)
 /* Set cfa to existing reg+offset */
-#define mono_emit_unwind_op_def_cfa_offset(cfg,ip,offset) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa_offset, (0), (offset)); (cfg)->cfa_offset = (offset); } while (0)
+#define mono_emit_unwind_op_def_cfa_offset(cfg,ip,offset) do { mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_def_cfa_offset, (0), (offset)); (cfg)->cur_cfa_offset = (offset); } while (0)
 /* Reg is the same as it was on enter to the function */
 #define mono_emit_unwind_op_same_value(cfg,ip,reg) mono_emit_unwind_op (cfg, (ip) - (cfg)->native_code, DW_CFA_same_value, (reg), 0)
 /* Reg is saved at cfa+offset */
index 05b72c05f6b237f9350d8b9cb3496ff7a9d1ec49..35f56d0f984fd50aba7cf01c9471fb046e95bf2a 100644 (file)
@@ -868,7 +868,7 @@ mono_arch_is_int_overflow (void *sigctx, void *info)
        MonoContext ctx;
        guint8* ip;
 
-       mono_arch_sigctx_to_monoctx (sigctx, &ctx);
+       mono_sigctx_to_monoctx (sigctx, &ctx);
 
        ip = (guint8*)ctx.eip;
 
@@ -6101,8 +6101,7 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
                g_assert ((code - start) < code_reserve);
        }
 
-       nacl_global_codeman_validate(&start, code_reserve, &code);
-       mono_debug_add_delegate_trampoline (start, code - start);
+       nacl_global_codeman_validate (&start, code_reserve, &code);
 
        if (code_len)
                *code_len = code - start;
index f6ddc930427da887278d6b004076d4d0e52e40d5..2d9df6a3495ec9ae3b5f0a74c0a3c70ef6565a91 100644 (file)
@@ -134,9 +134,6 @@ struct sigcontext {
  * reproduceable results for benchmarks */
 #define MONO_ARCH_CODE_ALIGNMENT 32
 
-#define MONO_ARCH_RETREG1 X86_EAX
-#define MONO_ARCH_RETREG2 X86_EDX
-
 /*This is the max size of the locals area of a given frame. I think 1MB is a safe default for now*/
 #define MONO_ARCH_MAX_FRAME_SIZE 0x100000
 
@@ -201,7 +198,6 @@ typedef struct {
 /* Enables OP_LSHL, OP_LSHL_IMM, OP_LSHR, OP_LSHR_IMM, OP_LSHR_UN, OP_LSHR_UN_IMM */
 #define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS
 
-#define MONO_ARCH_BIGMUL_INTRINS 1
 #define MONO_ARCH_NEED_DIV_CHECK 1
 #define MONO_ARCH_HAVE_IS_INT_OVERFLOW 1
 #define MONO_ARCH_HAVE_INVALIDATE_METHOD 1
index eed5fc02235e98c045fe4ae764be473ae81b00bb..b642073e91ff5d3f86b0febabd82fbe90d58a08f 100755 (executable)
@@ -53,6 +53,7 @@
 #include <mono/utils/mono-math.h>
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/mono-counters.h>
+#include <mono/utils/mono-error-internals.h>
 #include <mono/utils/mono-logger-internal.h>
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-path.h>
@@ -710,10 +711,11 @@ G_GNUC_UNUSED gboolean
 mono_debug_count (void)
 {
        static int count = 0;
-       count ++;
        static gboolean inited;
        static const char *value;
 
+       count ++;
+
        if (!inited) {
                value = g_getenv ("COUNT");
                inited = TRUE;
@@ -4123,6 +4125,8 @@ mono_codegen (MonoCompile *cfg)
 
        cfg->code_len = code - cfg->native_code;
        cfg->prolog_end = cfg->code_len;
+       cfg->cfa_reg = cfg->cur_cfa_reg;
+       cfg->cfa_offset = cfg->cur_cfa_offset;
 
        mono_debug_open_method (cfg);
 
@@ -4137,6 +4141,7 @@ mono_codegen (MonoCompile *cfg)
                if (bb == cfg->bb_exit) {
                        cfg->epilog_begin = cfg->code_len;
                        mono_arch_emit_epilog (cfg);
+                       cfg->epilog_end = cfg->code_len;
                }
        }
 
@@ -4645,7 +4650,7 @@ create_jit_info (MonoCompile *cfg, MonoMethod *method_to_compile)
 
                        info = mono_jit_info_get_arch_eh_info (jinfo);
                        g_assert (info);
-                       info->epilog_size = cfg->code_size - cfg->epilog_begin;
+                       info->epilog_size = cfg->code_len - cfg->epilog_begin;
                }
                jinfo->unwind_info = unwind_desc;
                g_free (unwind_info);
@@ -5007,6 +5012,7 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
 
        if (cfg->gen_seq_points)
                cfg->seq_points = g_ptr_array_new ();
+       mono_error_init (&cfg->error);
 
        if (cfg->compile_aot && !try_generic_shared && (method->is_generic || method->klass->generic_container || method_is_gshared)) {
                cfg->exception_type = MONO_EXCEPTION_GENERIC_SHARING_FAILED;
@@ -5428,7 +5434,7 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
        */
 
 //#define DEBUGSSA "logic_run"
-#define DEBUGSSA_CLASS "Tests"
+//#define DEBUGSSA_CLASS "Tests"
 #ifdef DEBUGSSA
 
        if (!cfg->disable_ssa) {
@@ -6097,6 +6103,10 @@ mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, in
        case MONO_EXCEPTION_OUT_OF_MEMORY:
                ex = mono_domain_get ()->out_of_memory_ex;
                break;
+       case MONO_EXCEPTION_MONO_ERROR:
+               g_assert (!mono_error_ok (&cfg->error));
+               ex = mono_error_convert_to_exception (&cfg->error);
+               break;
        default:
                g_assert_not_reached ();
        }
@@ -6835,7 +6845,7 @@ MONO_SIG_HANDLER_FUNC (, mono_sigsegv_signal_handler)
        if (fault_addr == NULL) {
                MonoContext mctx;
 
-               mono_arch_sigctx_to_monoctx (ctx, &mctx);
+               mono_sigctx_to_monoctx (ctx, &mctx);
 
                fault_addr = MONO_CONTEXT_GET_SP (&mctx);
        }
index e345cadc55bc984b594731b26cc8faef15ad2a45..cfd1053320746dbe7dc71be133f232f62413a561 100755 (executable)
 #endif
 
 /* Version number of the AOT file format */
-#define MONO_AOT_FILE_VERSION 103
+#define MONO_AOT_FILE_VERSION 104
 
 //TODO: This is x86/amd64 specific.
 #define mono_simd_shuffle_mask(a,b,c,d) ((a) | ((b) << 2) | ((c) << 4) | ((d) << 6))
 #define printf g_print
 #endif
 
-#if !defined(HAVE_KW_THREAD) || !defined(MONO_ARCH_ENABLE_MONO_LMF_VAR)
-#define MONO_JIT_TLS_DATA_HAS_LMF
-#endif
-
 #define MONO_TYPE_IS_PRIMITIVE(t) ((!(t)->byref && ((((t)->type >= MONO_TYPE_BOOLEAN && (t)->type <= MONO_TYPE_R8) || ((t)->type >= MONO_TYPE_I && (t)->type <= MONO_TYPE_U)))))
 
 /* Constants used to encode different types of methods in AOT */
@@ -352,15 +348,9 @@ typedef struct {
 #define mono_bitset_foreach_bit(set,b,n) \
        for (b = 0; b < n; b++)\
                if (mono_bitset_test_fast(set,b))
-#define mono_bitset_foreach_bit_rev(set,b,n) \
-       for (b = n - 1; b >= 0; b--)\
-               if (mono_bitset_test_fast(set,b))
 #else
 #define mono_bitset_foreach_bit(set,b,n) \
        for (b = mono_bitset_find_start (set); b < n && b >= 0; b = mono_bitset_find_first (set, b))
-#define mono_bitset_foreach_bit_rev(set,b,n) \
-       for (b = mono_bitset_find_last (set, n - 1); b >= 0; b = b ? mono_bitset_find_last (set, b) : -1)
 #endif
 
 /*
@@ -397,11 +387,6 @@ enum {
         (dest)->inst.cil_code = (cfg)->ip;  \
        } while (0)
 
-#define MONO_INST_NEW_CALL_ARG(cfg,dest,op) do {       \
-               (dest) = mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoCallArgParm));        \
-               (dest)->ins.opcode = (op);      \
-       } while (0)
-
 #define MONO_ADD_INS(b,inst) do {      \
                if ((b)->last_ins) {    \
                        (b)->last_ins->next = (inst);   \
@@ -1446,6 +1431,7 @@ typedef struct {
        guint            code_len;
        guint            prolog_end;
        guint            epilog_begin;
+       guint            epilog_end;
        regmask_t        used_int_regs;
        guint32          opt;
        guint32          prof_options;
@@ -1626,6 +1612,9 @@ typedef struct {
        /* The offsets of the locals area relative to the frame pointer */
        gint locals_min_stack_offset, locals_max_stack_offset;
 
+       /* The current CFA rule */
+       int cur_cfa_reg, cur_cfa_offset;
+
        /* The final CFA rule at the end of the prolog */
        int cfa_reg, cfa_offset;
 
@@ -1639,6 +1628,9 @@ typedef struct {
        guint8 *gc_map;
        guint32 gc_map_size;
 
+       /* Error handling */
+       MonoError error;
+
        /* Stats */
        int stat_allocate_var;
        int stat_locals_stack_size;
@@ -2194,7 +2186,7 @@ void     mono_llvm_cleanup                  (void) MONO_LLVM_INTERNAL;
 void     mono_llvm_emit_method              (MonoCompile *cfg) MONO_LLVM_INTERNAL;
 void     mono_llvm_emit_call                (MonoCompile *cfg, MonoCallInst *call) MONO_LLVM_INTERNAL;
 void     mono_llvm_create_aot_module        (const char *got_symbol) MONO_LLVM_INTERNAL;
-void     mono_llvm_emit_aot_module          (const char *filename, int got_size) MONO_LLVM_INTERNAL;
+void     mono_llvm_emit_aot_module          (const char *filename, const char *cu_name, int got_size) MONO_LLVM_INTERNAL;
 void     mono_llvm_check_method_supported   (MonoCompile *cfg) MONO_LLVM_INTERNAL;
 void     mono_llvm_free_domain_info         (MonoDomain *domain) MONO_LLVM_INTERNAL;
 
@@ -2432,8 +2424,6 @@ void     mono_arch_handle_altstack_exception    (void *sigctx, gpointer fault_ad
 gboolean mono_handle_soft_stack_ovf             (MonoJitTlsData *jit_tls, MonoJitInfo *ji, void *ctx, guint8* fault_addr) MONO_INTERNAL;
 void     mono_handle_hard_stack_ovf             (MonoJitTlsData *jit_tls, MonoJitInfo *ji, void *ctx, guint8* fault_addr) MONO_INTERNAL;
 gpointer mono_arch_ip_from_context              (void *sigctx) MONO_INTERNAL;
-void     mono_arch_sigctx_to_monoctx            (void *sigctx, MonoContext *ctx) MONO_INTERNAL;
-void     mono_arch_monoctx_to_sigctx            (MonoContext *mctx, void *ctx) MONO_INTERNAL;
 mgreg_t mono_arch_context_get_int_reg              (MonoContext *ctx, int reg) MONO_INTERNAL;
 void     mono_arch_context_set_int_reg             (MonoContext *ctx, int reg, mgreg_t val) MONO_INTERNAL;
 void     mono_arch_flush_register_windows       (void) MONO_INTERNAL;
@@ -2756,8 +2746,6 @@ enum {
        SIMD_VERSION_INDEX_END = 6 
 };
 
-#define MASK(x) (1 << x)
-
 enum {
        SIMD_COMP_EQ,
        SIMD_COMP_LT,
index 160db5fec5701c166d517e5b41a1739574ef52e3..8f804b85c93ee73019f43f97f19fb3b6e6aca8a4 100644 (file)
@@ -20,7 +20,6 @@
 #include <alloca.h>
 #endif
 
-#define USE_ORIGINAL_VARS
 #define CREATE_PRUNED_SSA
 
 //#define DEBUG_SSA 1
index f9e651093b46e07958d0068840b5361de5487998..735176dc5683cbddb6f48e838090eb86a0887a94 100644 (file)
@@ -499,7 +499,7 @@ mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_ty
        guint8 *code, *buf, *tramp;
        gpointer *constants;
 #ifndef USE_JUMP_TABLES
-       guint32 short_branch;
+       guint32 short_branch = FALSE;
 #endif
        guint32 size = SPEC_TRAMP_SIZE;
 
@@ -519,6 +519,7 @@ mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_ty
                mono_domain_unlock (domain);
        } else {
                code = buf = mono_global_codeman_reserve (size);
+               short_branch = FALSE;
        }
 
 #ifdef USE_JUMP_TABLES
index 2a674e579a2910519757e86ea1ff2d71e2b4b1ea..c06eb91a161c96d8f76582d2c37eedbb5bd02e08 100644 (file)
@@ -101,7 +101,7 @@ struct _CounterValue {
 typedef struct _Counter Counter;
 struct _Counter {
        int index;
-       int section;
+       const char *section;
        const char *name;
        int type;
        int unit;
@@ -118,7 +118,7 @@ struct _CounterList {
 
 typedef struct _CounterSection CounterSection;
 struct _CounterSection {
-       int value;
+       const char *value;
        CounterList *counters;
        CounterList *counters_last;
        CounterSection *next;
@@ -153,7 +153,7 @@ add_counter_to_section (Counter *counter)
        clist->counter = counter;
 
        for (csection = counters_sections; csection; csection = csection->next) {
-               if (csection->value == counter->section) {
+               if (strcmp (csection->value, counter->section) == 0) {
                        /* If section exist */
                        if (!csection->counters)
                                csection->counters = clist;
@@ -181,7 +181,7 @@ add_counter_to_section (Counter *counter)
 }
 
 static void
-add_counter (int section, const char *name, int type, int unit, int variance, int index)
+add_counter (const char *section, const char *name, int type, int unit, int variance, int index)
 {
        CounterList *list, *l;
        Counter *counter;
@@ -227,7 +227,7 @@ add_counter_to_timestamp (uint64_t timestamp, Counter *counter)
        for (ctimestamp = counters_timestamps; ctimestamp; ctimestamp = ctimestamp->next) {
                if (ctimestamp->value == timestamp) {
                        for (csection = ctimestamp->sections; csection; csection = csection->next) {
-                               if (csection->value == counter->section) {
+                               if (strcmp (csection->value, counter->section) == 0) {
                                        /* if timestamp exist and section exist */
                                        if (!csection->counters)
                                                csection->counters = clist;
@@ -446,7 +446,7 @@ dump_counters (void)
                                for (i = 0; counters_to_print [i][0] != 0; i++) {
                                        if (strcmp (counters_to_print [i], counter->name) == 0) {
                                                if (!section_printed) {
-                                                       fprintf (outfile, "\t%s:\n", section_name (csection->value));
+                                                       fprintf (outfile, "\t%s:\n", csection->value);
                                                        section_printed = 1;
                                                }
 
@@ -466,7 +466,7 @@ dump_counters (void)
                                (unsigned long long) (ctimestamp->value % 1000));
 
                        for (csection = ctimestamp->sections; csection; csection = csection->next) {
-                               fprintf (outfile, "\t\t%s:\n", section_name (csection->value));
+                               fprintf (outfile, "\t\t%s:\n", csection->value);
 
                                for (clist = csection->counters; clist; clist = clist->next) {
                                        counter = clist->counter;
@@ -481,7 +481,7 @@ dump_counters (void)
                }
        } else if (counters_sort_mode == COUNTERS_SORT_CATEGORY) {
                for (csection = counters_sections; csection; csection = csection->next) {
-                       fprintf (outfile, "\t%s:\n", section_name (csection->value));
+                       fprintf (outfile, "\t%s:\n", csection->value);
 
                        for (clist = csection->counters; clist; clist = clist->next) {
                                counter = clist->counter;
@@ -2412,13 +2412,20 @@ decode_buffer (ProfContext *ctx)
                                for (i = 0; i < len; i++) {
                                        uint64_t type, unit, variance, index;
                                        uint64_t section = decode_uleb128 (p, &p);
-                                       char *name = pstrdup ((char*)p);
+                                       char *section_str, *name;
+                                       if (section != MONO_COUNTER_PERFCOUNTERS) {
+                                               section_str = (char*) section_name (section);
+                                       } else {
+                                               section_str = pstrdup ((char*)p);
+                                               while (*p++);
+                                       }
+                                       name = pstrdup ((char*)p);
                                        while (*p++);
                                        type = decode_uleb128 (p, &p);
                                        unit = decode_uleb128 (p, &p);
                                        variance = decode_uleb128 (p, &p);
                                        index = decode_uleb128 (p, &p);
-                                       add_counter ((int)section, name, (int)type, (int)unit, (int)variance, (int)index);
+                                       add_counter (section_str, name, (int)type, (int)unit, (int)variance, (int)index);
                                }
                        } else if (subtype == TYPE_SAMPLE_COUNTERS) {
                                int i;
index 520b3b228d50d00633dd7956ec89d22e602d432b..8ce1835910133cd4f8f5af683da3e19948b16faf 100644 (file)
 #include <mono/metadata/threads.h>
 #include <mono/metadata/mono-gc.h>
 #include <mono/metadata/debug-helpers.h>
+#include <mono/metadata/mono-perfcounters.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-membar.h>
 #include <mono/utils/mono-counters.h>
+#include <mono/utils/mono-mutex.h>
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
@@ -90,6 +92,7 @@ static int do_mono_sample = 0;
 static int in_shutdown = 0;
 static int do_debug = 0;
 static int do_counters = 0;
+static MonoProfileSamplingMode sampling_mode = MONO_PROFILER_STAT_MODE_PROCESS;
 
 /* For linux compile with:
  * gcc -fPIC -shared -o libmono-profiler-log.so proflog.c utils.c -Wall -g -lz `pkg-config --cflags --libs mono-2`
@@ -313,11 +316,13 @@ typedef struct _LogBuffer LogBuffer;
  * if exinfo == TYPE_SAMPLE_COUNTERS_DESC
  *     [len: uleb128] number of counters
  *     for i = 0 to len
- *             [section: uleb128] section name of counter
+ *             [section: uleb128] section of counter
+ *             if section == MONO_COUNTER_PERFCOUNTERS:
+ *                     [section_name: string] section name of counter
  *             [name: string] name of counter
- *             [type: uleb128] type name of counter
- *             [unit: uleb128] unit name of counter
- *             [variance: uleb128] variance name of counter
+ *             [type: uleb128] type of counter
+ *             [unit: uleb128] unit of counter
+ *             [variance: uleb128] variance of counter
  *             [index: uleb128] unique index of counter
  * if exinfo == TYPE_SAMPLE_COUNTERS
  *     [timestamp: uleb128] sampling timestamp
@@ -676,6 +681,7 @@ process_requests (MonoProfiler *profiler)
 }
 
 static void counters_init (MonoProfiler *profiler);
+static void counters_sample (MonoProfiler *profiler, uint64_t timestamp);
 
 static void
 runtime_initialized (MonoProfiler *profiler)
@@ -683,6 +689,7 @@ runtime_initialized (MonoProfiler *profiler)
        runtime_inited = 1;
 #ifndef DISABLE_HELPER_THREAD
        counters_init (profiler);
+       counters_sample (profiler, 0);
 #endif
        /* ensure the main thread data and startup are available soon */
        safe_dump (profiler, ensure_logbuf (0));
@@ -831,13 +838,10 @@ walk_stack (MonoMethod *method, int32_t native_offset, int32_t il_offset, mono_b
  * event, hence the collect_bt/emit_bt split.
  */
 static void
-collect_bt (FrameData *data, gboolean async_safe)
+collect_bt (FrameData *data)
 {
        data->count = 0;
-       if (async_safe)
-               mono_stack_walk_async_safe (walk_stack, data);
-       else
-               mono_stack_walk_no_il (walk_stack, data);
+       mono_stack_walk_no_il (walk_stack, data);
 }
 
 static void
@@ -870,7 +874,7 @@ gc_alloc (MonoProfiler *prof, MonoObject *obj, MonoClass *klass)
        len += 7;
        len &= ~7;
        if (do_bt)
-               collect_bt (&data, FALSE);
+               collect_bt (&data);
        logbuffer = ensure_logbuf (32 + MAX_FRAMES * 8);
        now = current_time ();
        ENTER_LOG (logbuffer, "gcalloc");
@@ -1135,7 +1139,7 @@ throw_exc (MonoProfiler *prof, MonoObject *object)
        FrameData data;
        LogBuffer *logbuffer;
        if (do_bt)
-               collect_bt (&data, FALSE);
+               collect_bt (&data);
        logbuffer = ensure_logbuf (16 + MAX_FRAMES * 8);
        now = current_time ();
        ENTER_LOG (logbuffer, "throw");
@@ -1171,7 +1175,7 @@ monitor_event (MonoProfiler *profiler, MonoObject *object, MonoProfilerMonitorEv
        FrameData data;
        LogBuffer *logbuffer;
        if (do_bt)
-               collect_bt (&data, FALSE);
+               collect_bt (&data);
        logbuffer = ensure_logbuf (16 + MAX_FRAMES * 8);
        now = current_time ();
        ENTER_LOG (logbuffer, "monitor");
@@ -1220,11 +1224,44 @@ thread_name (MonoProfiler *prof, uintptr_t tid, const char *name)
        EXIT_LOG (logbuffer);
 }
 
+typedef struct {
+       MonoMethod *method;
+       MonoDomain *domain;
+       void *base_address;
+       int offset;
+} AsyncFrameInfo;
+
+typedef struct {
+       int count;
+       AsyncFrameInfo *data;
+} AsyncFrameData;
+
+static mono_bool
+async_walk_stack (MonoMethod *method, MonoDomain *domain, void *base_address, int offset, void *data)
+{
+       AsyncFrameData *frame = data;
+       if (frame->count < num_frames) {
+               frame->data [frame->count].method = method;
+               frame->data [frame->count].domain = domain;
+               frame->data [frame->count].base_address = base_address;
+               frame->data [frame->count].offset = offset;
+               // printf ("In %d at %p (dom %p) (native: %p)\n", frame->count, method, domain, base_address);
+               frame->count++;
+       }
+       return frame->count == num_frames;
+}
+
+/*
+(type | frame count), tid, time, ip, [method, domain, base address, offset] * frames
+*/
+#define SAMPLE_EVENT_SIZE_IN_SLOTS(FRAMES) (4 + (FRAMES) * 4)
+
 static void
 mono_sample_hit (MonoProfiler *profiler, unsigned char *ip, void *context)
 {
        StatBuffer *sbuf;
-       FrameData bt_data;
+       AsyncFrameInfo frames [num_frames];
+       AsyncFrameData bt_data = { 0, &frames [0]};
        uint64_t now;
        uintptr_t *data, *new_data, *old_data;
        uintptr_t elapsed;
@@ -1233,7 +1270,9 @@ mono_sample_hit (MonoProfiler *profiler, unsigned char *ip, void *context)
        if (in_shutdown)
                return;
        now = current_time ();
-       collect_bt (&bt_data, TRUE);
+
+       mono_stack_walk_async_safe (&async_walk_stack, context, &bt_data);
+
        elapsed = (now - profiler->startup_time) / 10000;
        if (do_debug) {
                int len;
@@ -1272,7 +1311,7 @@ mono_sample_hit (MonoProfiler *profiler, unsigned char *ip, void *context)
        }
        do {
                old_data = sbuf->data;
-               new_data = old_data + 4 + bt_data.count * 3;
+               new_data = old_data + SAMPLE_EVENT_SIZE_IN_SLOTS (bt_data.count);
                data = InterlockedCompareExchangePointer ((void * volatile*)&sbuf->data, new_data, old_data);
        } while (data != old_data);
        if (old_data >= sbuf->data_end)
@@ -1282,9 +1321,10 @@ mono_sample_hit (MonoProfiler *profiler, unsigned char *ip, void *context)
        old_data [2] = elapsed;
        old_data [3] = (uintptr_t)ip;
        for (i = 0; i < bt_data.count; ++i) {
-               old_data [4+3*i] = (uintptr_t)bt_data.methods [i];
-               old_data [4+3*i+1] = (uintptr_t)bt_data.il_offsets [i];
-               old_data [4+3*i+2] = (uintptr_t)bt_data.native_offsets [i];
+               old_data [4 + 4 * i + 0] = (uintptr_t)frames [i].method;
+               old_data [4 + 4 * i + 1] = (uintptr_t)frames [i].domain;
+               old_data [4 + 4 * i + 2] = (uintptr_t)frames [i].base_address;
+               old_data [4 + 4 * i + 3] = (uintptr_t)frames [i].offset;
        }
 }
 
@@ -1624,8 +1664,22 @@ dump_sample_hits (MonoProfiler *prof, StatBuffer *sbuf, int recurse)
                int count = sample [0] & 0xff;
                int mbt_count = (sample [0] & 0xff00) >> 8;
                int type = sample [0] >> 16;
-               if (sample + count + 3 + mbt_count * 3 > sbuf->data)
+               uintptr_t *managed_sample_base = sample + count + 3;
+
+               if (sample + SAMPLE_EVENT_SIZE_IN_SLOTS (mbt_count) > sbuf->data)
                        break;
+
+               for (i = 0; i < mbt_count; ++i) {
+                       MonoMethod *method = (MonoMethod*)managed_sample_base [i * 4 + 0];
+                       MonoDomain *domain = (MonoDomain*)managed_sample_base [i * 4 + 1];
+                       void *address = (void*)managed_sample_base [i * 4 + 2];
+
+                       if (!method) {
+                               MonoJitInfo *ji = mono_jit_info_table_find (domain, address);
+                               if (ji)
+                                       managed_sample_base [i * 4 + 0] = (uintptr_t)mono_jit_info_get_method (ji);
+                       }
+               }
                logbuffer = ensure_logbuf (20 + count * 8);
                emit_byte (logbuffer, TYPE_SAMPLE | TYPE_SAMPLE_HIT);
                emit_value (logbuffer, type);
@@ -1635,15 +1689,16 @@ dump_sample_hits (MonoProfiler *prof, StatBuffer *sbuf, int recurse)
                        emit_ptr (logbuffer, (void*)sample [i + 3]);
                        add_code_pointer (sample [i + 3]);
                }
+
                sample += count + 3;
                /* new in data version 6 */
                emit_uvalue (logbuffer, mbt_count);
                for (i = 0; i < mbt_count; ++i) {
-                       emit_method (logbuffer, (void*)sample [i * 3]); /* method */
-                       emit_svalue (logbuffer, sample [i * 3 + 1]); /* il offset */
-                       emit_svalue (logbuffer, sample [i * 3 + 2]); /* native offset */
+                       emit_method (logbuffer, (void*)sample [i * 4]); /* method */
+                       emit_svalue (logbuffer, 0); /* il offset will always be 0 from now on */
+                       emit_svalue (logbuffer, sample [i * 4 + 3]); /* native offset */
                }
-               sample += 3 * mbt_count;
+               sample += 4 * mbt_count;
        }
        dump_unmanaged_coderefs (prof);
 }
@@ -1909,21 +1964,35 @@ typedef struct MonoCounterAgent {
        void *value;
        size_t value_size;
        short index;
+       short emitted;
        struct MonoCounterAgent *next;
 } MonoCounterAgent;
 
 static MonoCounterAgent* counters;
 static gboolean counters_initialized = FALSE;
 static int counters_index = 1;
+static mono_mutex_t counters_mutex;
 
-static mono_bool
-counters_init_add_counter (MonoCounter *counter, gpointer data)
+static void
+counters_add_agent (MonoCounter *counter)
 {
        MonoCounterAgent *agent, *item;
 
+       if (!counters_initialized)
+               return;
+
+       mono_mutex_lock (&counters_mutex);
+
        for (agent = counters; agent; agent = agent->next) {
-               if (agent->counter == counter)
-                       return TRUE;
+               if (agent->counter == counter) {
+                       agent->value_size = 0;
+                       if (agent->value) {
+                               free (agent->value);
+                               agent->value = NULL;
+                       }
+                       mono_mutex_unlock (&counters_mutex);
+                       return;
+               }
        }
 
        agent = malloc (sizeof (MonoCounterAgent));
@@ -1931,6 +2000,7 @@ counters_init_add_counter (MonoCounter *counter, gpointer data)
        agent->value = NULL;
        agent->value_size = 0;
        agent->index = counters_index++;
+       agent->emitted = 0;
        agent->next = NULL;
 
        if (!counters) {
@@ -1942,29 +2012,63 @@ counters_init_add_counter (MonoCounter *counter, gpointer data)
                item->next = agent;
        }
 
+       mono_mutex_unlock (&counters_mutex);
+}
+
+static mono_bool
+counters_init_foreach_callback (MonoCounter *counter, gpointer data)
+{
+       counters_add_agent (counter);
        return TRUE;
 }
 
 static void
 counters_init (MonoProfiler *profiler)
+{
+       assert (!counters_initialized);
+
+       mono_mutex_init (&counters_mutex);
+
+       counters_initialized = TRUE;
+
+       mono_counters_on_register (&counters_add_agent);
+       mono_counters_foreach (counters_init_foreach_callback, NULL);
+}
+
+static void
+counters_emit (MonoProfiler *profiler)
 {
        MonoCounterAgent *agent;
        LogBuffer *logbuffer;
        int size = 1 + 5, len = 0;
 
-       mono_counters_foreach (counters_init_add_counter, NULL);
+       if (!counters_initialized)
+               return;
+
+       mono_mutex_lock (&counters_mutex);
 
        for (agent = counters; agent; agent = agent->next) {
+               if (agent->emitted)
+                       continue;
+
                size += strlen (mono_counter_get_name (agent->counter)) + 1 + 5 * 5;
                len += 1;
        }
 
+       if (!len) {
+               mono_mutex_unlock (&counters_mutex);
+               return;
+       }
+
        logbuffer = ensure_logbuf (size);
 
        ENTER_LOG (logbuffer, "counters");
        emit_byte (logbuffer, TYPE_SAMPLE_COUNTERS_DESC | TYPE_SAMPLE);
        emit_value (logbuffer, len);
        for (agent = counters; agent; agent = agent->next) {
+               if (agent->emitted)
+                       continue;
+
                const char *name = mono_counter_get_name (agent->counter);
                emit_value (logbuffer, mono_counter_get_section (agent->counter));
                emit_string (logbuffer, name, strlen (name) + 1);
@@ -1972,10 +2076,14 @@ counters_init (MonoProfiler *profiler)
                emit_value (logbuffer, mono_counter_get_unit (agent->counter));
                emit_value (logbuffer, mono_counter_get_variance (agent->counter));
                emit_value (logbuffer, agent->index);
+
+               agent->emitted = 1;
        }
        EXIT_LOG (logbuffer);
 
-       counters_initialized = TRUE;
+       safe_dump (profiler, ensure_logbuf (0));
+
+       mono_mutex_unlock (&counters_mutex);
 }
 
 static void
@@ -1992,9 +2100,13 @@ counters_sample (MonoProfiler *profiler, uint64_t timestamp)
        if (!counters_initialized)
                return;
 
+       counters_emit (profiler);
+
        buffer_size = 8;
        buffer = calloc (1, buffer_size);
 
+       mono_mutex_lock (&counters_mutex);
+
        size = 1 + 10 + 5;
        for (agent = counters; agent; agent = agent->next)
                size += 10 * 2 + mono_counter_get_size (agent->counter);
@@ -2088,6 +2200,163 @@ counters_sample (MonoProfiler *profiler, uint64_t timestamp)
        EXIT_LOG (logbuffer);
 
        safe_dump (profiler, ensure_logbuf (0));
+
+       mono_mutex_unlock (&counters_mutex);
+}
+
+typedef struct _PerfCounterAgent PerfCounterAgent;
+struct _PerfCounterAgent {
+       PerfCounterAgent *next;
+       int index;
+       char *category_name;
+       char *name;
+       int type;
+       gint64 value;
+       guint8 emitted;
+       guint8 updated;
+       guint8 deleted;
+};
+
+static PerfCounterAgent *perfcounters = NULL;
+
+static void
+perfcounters_emit (MonoProfiler *profiler)
+{
+       PerfCounterAgent *pcagent;
+       LogBuffer *logbuffer;
+       int size = 1 + 5, len = 0;
+
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
+               if (pcagent->emitted)
+                       continue;
+
+               size += strlen (pcagent->name) + 1 + 5 * 5;
+               len += 1;
+       }
+
+       if (!len)
+               return;
+
+       logbuffer = ensure_logbuf (size);
+
+       ENTER_LOG (logbuffer, "perfcounters");
+       emit_byte (logbuffer, TYPE_SAMPLE_COUNTERS_DESC | TYPE_SAMPLE);
+       emit_value (logbuffer, len);
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
+               if (pcagent->emitted)
+                       continue;
+
+               emit_value (logbuffer, MONO_COUNTER_PERFCOUNTERS);
+               emit_string (logbuffer, pcagent->category_name, strlen (pcagent->category_name) + 1);
+               emit_string (logbuffer, pcagent->name, strlen (pcagent->name) + 1);
+               emit_value (logbuffer, MONO_COUNTER_LONG);
+               emit_value (logbuffer, MONO_COUNTER_RAW);
+               emit_value (logbuffer, MONO_COUNTER_VARIABLE);
+               emit_value (logbuffer, pcagent->index);
+
+               pcagent->emitted = 1;
+       }
+       EXIT_LOG (logbuffer);
+
+       safe_dump (profiler, ensure_logbuf (0));
+}
+
+static gboolean
+perfcounters_foreach (char *category_name, char *name, unsigned char type, gint64 value, gpointer user_data)
+{
+       PerfCounterAgent *pcagent;
+
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
+               if (strcmp (pcagent->category_name, category_name) != 0 || strcmp (pcagent->name, name) != 0)
+                       continue;
+               if (pcagent->value == value)
+                       return TRUE;
+
+               pcagent->value = value;
+               pcagent->updated = 1;
+               pcagent->deleted = 0;
+               return TRUE;
+       }
+
+       pcagent = g_new0 (PerfCounterAgent, 1);
+       pcagent->next = perfcounters;
+       pcagent->index = counters_index++;
+       pcagent->category_name = g_strdup (category_name);
+       pcagent->name = g_strdup (name);
+       pcagent->type = (int) type;
+       pcagent->value = value;
+       pcagent->emitted = 0;
+       pcagent->updated = 1;
+       pcagent->deleted = 0;
+
+       perfcounters = pcagent;
+
+       return TRUE;
+}
+
+static void
+perfcounters_sample (MonoProfiler *profiler, uint64_t timestamp)
+{
+       PerfCounterAgent *pcagent;
+       LogBuffer *logbuffer;
+       int size;
+
+       if (!counters_initialized)
+               return;
+
+       mono_mutex_lock (&counters_mutex);
+
+       /* mark all perfcounters as deleted, foreach will unmark them as necessary */
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next)
+               pcagent->deleted = 1;
+
+       mono_perfcounter_foreach (perfcounters_foreach, perfcounters);
+
+       perfcounters_emit (profiler);
+
+
+       size = 1 + 10 + 5;
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
+               if (pcagent->deleted || !pcagent->updated)
+                       continue;
+               size += 10 * 2 + sizeof (gint64);
+       }
+
+       logbuffer = ensure_logbuf (size);
+
+       ENTER_LOG (logbuffer, "perfcounters");
+       emit_byte (logbuffer, TYPE_SAMPLE_COUNTERS | TYPE_SAMPLE);
+       emit_uvalue (logbuffer, timestamp);
+       for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
+               if (pcagent->deleted || !pcagent->updated)
+                       continue;
+               emit_uvalue (logbuffer, pcagent->index);
+               emit_uvalue (logbuffer, MONO_COUNTER_LONG);
+               emit_svalue (logbuffer, pcagent->value);
+
+               pcagent->updated = 0;
+       }
+
+       emit_value (logbuffer, 0);
+       EXIT_LOG (logbuffer);
+
+       safe_dump (profiler, ensure_logbuf (0));
+
+       mono_mutex_unlock (&counters_mutex);
+}
+
+static void
+counters_and_perfcounters_sample (MonoProfiler *prof)
+{
+       static uint64_t start = -1;
+       uint64_t now;
+
+       if (start == -1)
+               start = current_time ();
+
+       now = current_time ();
+       counters_sample (prof, (now - start) / 1000/ 1000);
+       perfcounters_sample (prof, (now - start) / 1000/ 1000);
 }
 
 #endif /* DISABLE_HELPER_THREAD */
@@ -2097,6 +2366,8 @@ log_shutdown (MonoProfiler *prof)
 {
        in_shutdown = 1;
 #ifndef DISABLE_HELPER_THREAD
+       counters_and_perfcounters_sample (prof);
+
        if (prof->command_port) {
                char c = 1;
                void *res;
@@ -2188,6 +2459,10 @@ new_filename (const char* filename)
 }
 
 #ifndef DISABLE_HELPER_THREAD
+
+//this is exposed by the JIT, but it's not meant to be a supported API for now.
+extern void mono_threads_attach_tools_thread (void);
+
 static void*
 helper_thread (void* arg)
 {
@@ -2196,10 +2471,9 @@ helper_thread (void* arg)
        int len;
        char buf [64];
        MonoThread *thread = NULL;
-       uint64_t start, now;
 
+       mono_threads_attach_tools_thread ();
        //fprintf (stderr, "Server listening\n");
-       start = current_time ();
        command_socket = -1;
        while (1) {
                fd_set rfds;
@@ -2228,8 +2502,8 @@ helper_thread (void* arg)
                        }
                }
 #endif
-               now = current_time ();
-               counters_sample (prof, (now - start) / 1000/ 1000);
+
+               counters_and_perfcounters_sample (prof);
 
                tv.tv_sec = 1;
                tv.tv_usec = 0;
@@ -2255,9 +2529,11 @@ helper_thread (void* arg)
                                sbufbase->next->next = NULL;
                                if (do_debug)
                                        fprintf (stderr, "stat buffer dump\n");
-                               dump_sample_hits (prof, sbuf, 1);
-                               free_buffer (sbuf, sbuf->size);
-                               safe_dump (prof, ensure_logbuf (0));
+                               if (sbuf) {
+                                       dump_sample_hits (prof, sbuf, 1);
+                                       free_buffer (sbuf, sbuf->size);
+                                       safe_dump (prof, ensure_logbuf (0));
+                               }
                                continue;
                        }
                        /* time to shut down */
@@ -2636,6 +2912,7 @@ mono_profiler_startup (const char *desc)
        int fast_time = 0;
        int calls_enabled = 0;
        int allocs_enabled = 0;
+       int only_counters = 0;
        int events = MONO_PROFILE_GC|MONO_PROFILE_ALLOCATIONS|
                MONO_PROFILE_GC_MOVES|MONO_PROFILE_CLASS_EVENTS|MONO_PROFILE_THREADS|
                MONO_PROFILE_ENTER_LEAVE|MONO_PROFILE_JIT_COMPILATION|MONO_PROFILE_EXCEPTIONS|
@@ -2692,6 +2969,14 @@ mono_profiler_startup (const char *desc)
                        do_debug = 1;
                        continue;
                }
+               if ((opt = match_option (p, "sampling-real", NULL)) != p) {
+                       sampling_mode = MONO_PROFILER_STAT_MODE_REAL;
+                       continue;
+               }
+               if ((opt = match_option (p, "sampling-process", NULL)) != p) {
+                       sampling_mode = MONO_PROFILER_STAT_MODE_PROCESS;
+                       continue;
+               }
                if ((opt = match_option (p, "heapshot", &val)) != p) {
                        events &= ~MONO_PROFILE_ALLOCATIONS;
                        events &= ~MONO_PROFILE_ENTER_LEAVE;
@@ -2745,6 +3030,10 @@ mono_profiler_startup (const char *desc)
                        do_counters = 1;
                        continue;
                }
+               if ((opt = match_option (p, "countersonly", NULL)) != p) {
+                       only_counters = 1;
+                       continue;
+               }
                if (opt == p) {
                        usage (0);
                        exit (0);
@@ -2756,6 +3045,8 @@ mono_profiler_startup (const char *desc)
        }
        if (allocs_enabled)
                events |= MONO_PROFILE_ALLOCATIONS;
+       if (only_counters)
+               events = 0;
        utils_init (fast_time);
 
        prof = create_profiler (filename);
@@ -2779,8 +3070,9 @@ mono_profiler_startup (const char *desc)
        mono_profiler_install_runtime_initialized (runtime_initialized);
 
        
-       if (do_mono_sample && sample_type == SAMPLE_CYCLES) {
+       if (do_mono_sample && sample_type == SAMPLE_CYCLES && !only_counters) {
                events |= MONO_PROFILE_STATISTICAL;
+               mono_profiler_set_statistical_mode (sampling_mode, 1000000 / sample_freq);
                mono_profiler_install_statistical (mono_sample_hit);
        }
 
index 034a348effbf4297d0e7dee48b6cf37833b478ec..2d420e911aa9058e4ec391cfeba28744fc39525f 100644 (file)
@@ -5,7 +5,7 @@
 #define LOG_HEADER_ID 0x4D505A01
 #define LOG_VERSION_MAJOR 0
 #define LOG_VERSION_MINOR 4
-#define LOG_DATA_VERSION 6
+#define LOG_DATA_VERSION 7
 /*
  * Changes in data versions:
  * version 2: added offsets in heap walk
index 6268cadb4f09ff780579368c362807dc95d479de..7e1a953d9fa6143a665f09ca5d487ddaa98c5971 100644 (file)
@@ -214,6 +214,7 @@ BASE_TEST_CS_SRC=           \
        array3.cs               \
        classinit.cs            \
        classinit2.cs           \
+       classinit3.cs           \
        synchronized.cs         \
        async_read.cs           \
        threadpool.cs           \
@@ -380,6 +381,7 @@ BASE_TEST_CS_SRC=           \
        bug-599469.cs   \
        bug-389886-3.cs \
        monitor.cs      \
+       monitor-resurrection.cs \
        dynamic-method-resurrection.cs  \
        bug-666008.cs   \
        bug-685908.cs   \
diff --git a/mono/tests/classinit3.cs b/mono/tests/classinit3.cs
new file mode 100644 (file)
index 0000000..865b621
--- /dev/null
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+namespace integer_test
+{
+       class MainClass
+       {
+               // #23242
+               public static void Main (string[] args)
+               {
+                       var _trigger = new ManualResetEvent (false);
+
+                       var testThreads = new Thread[100];
+                       for (Int16 i = 0; i < testThreads.Length; ++i)
+                       {
+                               testThreads [i] = new Thread ( () => 
+                                       {
+                                               _trigger.WaitOne();
+                                               for (Int16 index = 0; index < 1000; ++index)
+                                               {
+                                                       var val = index.ToString();
+                                                       GC.KeepAlive(val);
+                                               }
+                                       });
+                               testThreads [i].Start ();
+                       }
+                       Console.WriteLine ("setting event");
+                       _trigger.Set ();
+                       foreach (var thread in testThreads)
+                       {
+                               thread.Join ();
+                       }
+               }
+       }
+}
diff --git a/mono/tests/monitor-resurrection.cs b/mono/tests/monitor-resurrection.cs
new file mode 100644 (file)
index 0000000..2ce4a3c
--- /dev/null
@@ -0,0 +1,59 @@
+using System; 
+using System.Collections; 
+using System.Threading;
+using System.Collections.Generic;
+
+public class Foo  {
+       static Foo resurrect;
+       static Foo reference;
+       static List<Foo> list = new List<Foo> ();
+
+       ~Foo() {
+               resurrect = this;
+       }
+
+       public static void CreateFoo (int level)
+       {
+               if (level == 0) {
+                       reference = new Foo ();
+
+                       /* Allocate a MonoThreadsSync for the object */
+                       Monitor.Enter (reference);
+                       Monitor.Exit (reference);
+                       reference = null;
+               } else {
+                       CreateFoo (level - 1);
+               }
+       }
+
+       public static int Main() {
+               /* Allocate an object down the stack so it doesn't get pinned */
+               CreateFoo (100);
+
+               Console.WriteLine (".");
+
+               /* resurrect obj */
+               GC.Collect ();
+               GC.WaitForPendingFinalizers ();
+
+               /* Allocate MonoThreadsSyncs for another thread that are locked */
+               Thread t = new Thread (new ThreadStart (resurrect.Func));
+               t.Start ();
+               t.Join ();
+
+               /* Make sure that none of the other structures overlap with the original one */
+               Monitor.Enter (resurrect);
+               return 0;
+       }
+
+       public void Func () {
+               for (int i = 0; i < 100; i++) {
+                       Foo foo = new Foo ();
+                       /* Make sure these are not collected */
+                       list.Add (foo);
+
+                       Monitor.Enter (foo);
+               }
+       }
+} 
+
index 86ea9a8f02ca45379eba52cd523dbf8c7ce8cf3c..a63b63fa5c6d4c66262f59a661bbcc8710ac771e 100644 (file)
@@ -47,6 +47,14 @@ class Tests {
                return true;
        }
 
+       class Gen<T>
+       {
+               [MethodImpl(MethodImplOptions.Synchronized)]
+               public static void Run ()
+               {
+               }
+       }
+
        public delegate int Delegate1 ();
 
        static public int Main (String[] args) {
@@ -113,6 +121,15 @@ class Tests {
                if (is_synchronized (b))
                        return 1;
 
+               Monitor.Enter (typeof (Gen<>));
+               Thread t = new Thread (() =>
+                       {
+                               Gen<object>.Run ();
+                       });
+               t.Start ();
+               t.Join ();
+               Monitor.Exit (typeof (Gen<>));
+
                return 0;
        }
 }
index 5adc0c99ee895a365e3ac5281782ae6855938d1e..19e745f630c0c54eb46f030dfb5c3e62e7b7de20 100644 (file)
@@ -16,9 +16,6 @@
 #include <mach/thread_act.h>
 #include <mach/thread_status.h>
 
-#include <mono/metadata/appdomain.h>
-#include <mono/metadata/debug-helpers.h>
-#include <mono/metadata/mono-debug.h>
 #include <mono/utils/mono-mmap.h>
 
 #include "mach-support.h"
index d3c41ba44dfe7f456031042397428aaff66d51e4..bad994cc29338cd5bfdc17376e665dfe2a3414b6 100644 (file)
 #include <BaseTsd.h>
 typedef SSIZE_T ssize_t;
 
+/*
+ * SSIZE_MAX is not defined in MSVC, so define it here.
+ *
+ * These values come from MinGW64, and are public domain.
+ *
+ */
+#ifndef SSIZE_MAX
+#ifdef _WIN64
+#define SSIZE_MAX _I64_MAX
+#else
+#define SSIZE_MAX INT_MAX
+#endif
+#endif
+
 #endif /* _MSC_VER */
 
 #if !defined(_MSC_VER) && !defined(PLATFORM_SOLARIS) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MONOTOUCH) && HAVE_VISIBILITY_HIDDEN
index c52d0442f465395e66d78eb019fff6c0e634fb0a..689bf86a47d6310bc548099d14da501a8769318b 100644 (file)
@@ -421,4 +421,30 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
        }
 }
 
+#elif (((defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__)) && !defined(MONO_CROSS_COMPILE))) || (defined(TARGET_POWERPC))
+
+#include <mono/utils/mono-context.h>
+
+void
+mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
+{
+       os_ucontext *uc = sigctx;
+
+       mctx->sc_ir = UCONTEXT_REG_NIP(uc);
+       mctx->sc_sp = UCONTEXT_REG_Rn(uc, 1);
+       memcpy (&mctx->regs, &UCONTEXT_REG_Rn(uc, 13), sizeof (mgreg_t) * MONO_SAVED_GREGS);
+       memcpy (&mctx->fregs, &UCONTEXT_REG_FPRn(uc, 14), sizeof (double) * MONO_SAVED_FREGS);
+}
+
+void
+mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
+{
+       os_ucontext *uc = sigctx;
+
+       UCONTEXT_REG_NIP(uc) = mctx->sc_ir;
+       UCONTEXT_REG_Rn(uc, 1) = mctx->sc_sp;
+       memcpy (&UCONTEXT_REG_Rn(uc, 13), &mctx->regs, sizeof (mgreg_t) * MONO_SAVED_GREGS);
+       memcpy (&UCONTEXT_REG_FPRn(uc, 14), &mctx->fregs, sizeof (double) * MONO_SAVED_FREGS);
+}
+
 #endif /* #if defined(__i386__) */
index 8ab20140cdaeb2ed45da999cf2ada9ed6964f81a..1e0840c6b04a7b539d5854aadbd3874edf8afc2d 100644 (file)
@@ -8,6 +8,7 @@
 #include "config.h"
 #include "mono-counters.h"
 #include "mono-proclib.h"
+#include "mono-mutex.h"
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -22,9 +23,17 @@ struct _MonoCounter {
 };
 
 static MonoCounter *counters = NULL;
+static mono_mutex_t counters_mutex;
+
+static volatile gboolean initialized = FALSE;
+
 static int valid_mask = 0;
 static int set_mask = 0;
 
+static GSList *register_callbacks = NULL;
+
+static void initialize_system_counters (void);
+
 /**
  * mono_counter_get_variance:
  * @counter: counter to get the variance
@@ -123,6 +132,68 @@ mono_counters_enable (int section_mask)
        valid_mask = section_mask & MONO_COUNTER_SECTION_MASK;
 }
 
+void
+mono_counters_init (void)
+{
+       if (initialized)
+               return;
+
+       mono_mutex_init (&counters_mutex);
+
+       initialize_system_counters ();
+
+       initialized = TRUE;
+}
+
+static void
+register_internal (const char *name, int type, void *addr, int size)
+{
+       MonoCounter *counter;
+       GSList *register_callback;
+
+       g_assert (size >= 0);
+       if ((type & MONO_COUNTER_VARIANCE_MASK) == 0)
+               type |= MONO_COUNTER_MONOTONIC;
+
+       mono_mutex_lock (&counters_mutex);
+
+       for (counter = counters; counter; counter = counter->next) {
+               if (counter->addr == addr) {
+                       g_warning ("you are registering twice the same counter address");
+                       mono_mutex_unlock (&counters_mutex);
+                       return;
+               }
+       }
+
+       counter = malloc (sizeof (MonoCounter));
+       if (!counter) {
+               mono_mutex_unlock (&counters_mutex);
+               return;
+       }
+       counter->name = g_strdup (name);
+       counter->type = type;
+       counter->addr = addr;
+       counter->next = NULL;
+       counter->size = size;
+
+       set_mask |= type;
+
+       /* Append */
+       if (counters) {
+               MonoCounter *item = counters;
+               while (item->next)
+                       item = item->next;
+               item->next = counter;
+       } else {
+               counters = counter;
+       }
+
+       for (register_callback = register_callbacks; register_callback; register_callback = register_callback->next)
+               ((MonoCounterRegisterCallback)register_callback->data) (counter);
+
+       mono_mutex_unlock (&counters_mutex);
+}
+
 /**
  * mono_counters_register:
  * @name: The name for this counters.
@@ -170,7 +241,11 @@ mono_counters_register (const char* name, int type, void *addr)
        default:
                g_assert_not_reached ();
        }
-       mono_counters_register_with_size (name, type, addr, size);
+
+       if (!initialized)
+               g_warning ("counters not enabled");
+       else
+               register_internal (name, type, addr, size);
 }
 
 /**
@@ -196,33 +271,29 @@ mono_counters_register (const char* name, int type, void *addr)
 void
 mono_counters_register_with_size (const char *name, int type, void *addr, int size)
 {
-       MonoCounter *counter;
-
-       if ((type & MONO_COUNTER_VARIANCE_MASK) == 0)
-               type |= MONO_COUNTER_MONOTONIC;
-       if (size < 0)
-               size = 0;
+       if (!initialized)
+               g_warning ("counters not enabled");
+       else
+               register_internal (name, type, addr, size);
+}
 
-       counter = malloc (sizeof (MonoCounter));
-       if (!counter)
+/**
+ * mono_counters_on_register
+ * @callback : function to callback when a counter is registered
+ *
+ * Add a callback that is going to be called when a counter is registered
+ */
+void
+mono_counters_on_register (MonoCounterRegisterCallback callback)
+{
+       if (!initialized) {
+               g_warning ("counters not enabled");
                return;
-       counter->name = name;
-       counter->type = type;
-       counter->addr = addr;
-       counter->next = NULL;
-       counter->size = size;
-
-       set_mask |= type;
-
-       /* Append */
-       if (counters) {
-               MonoCounter *item = counters;
-               while (item->next)
-                       item = item->next;
-               item->next = counter;
-       } else {
-               counters = counter;
        }
+
+       mono_mutex_lock (&counters_mutex);
+       register_callbacks = g_slist_append (register_callbacks, callback);
+       mono_mutex_unlock (&counters_mutex);
 }
 
 typedef int (*IntFunc) (void);
@@ -233,45 +304,6 @@ typedef gssize (*PtrFunc) (void);
 typedef double (*DoubleFunc) (void);
 typedef char* (*StrFunc) (void);
 
-#define ENTRY_FMT "%-36s: "
-static void
-dump_counter (MonoCounter *counter, FILE *outfile) {
-       void *buffer = g_malloc0 (counter->size);
-       mono_counters_sample (counter, buffer, counter->size);
-
-       switch (counter->type & MONO_COUNTER_TYPE_MASK) {
-       case MONO_COUNTER_INT:
-               fprintf (outfile, ENTRY_FMT "%d\n", counter->name, *(int*)buffer);
-               break;
-       case MONO_COUNTER_UINT:
-               fprintf (outfile, ENTRY_FMT "%u\n", counter->name, *(guint*)buffer);
-               break;
-       case MONO_COUNTER_LONG:
-               if ((counter->type & MONO_COUNTER_UNIT_MASK) == MONO_COUNTER_TIME)
-                       fprintf (outfile, ENTRY_FMT "%.2f ms\n", counter->name, (double)(*(gint64*)buffer) / 10000.0);
-               else
-                       fprintf (outfile, ENTRY_FMT "%lld\n", counter->name, *(long long *)buffer);
-               break;
-       case MONO_COUNTER_ULONG:
-               fprintf (outfile, ENTRY_FMT "%llu\n", counter->name, *(unsigned long long *)buffer);
-               break;
-       case MONO_COUNTER_WORD:
-               fprintf (outfile, ENTRY_FMT "%zd\n", counter->name, *(gssize*)buffer);
-               break;
-       case MONO_COUNTER_DOUBLE:
-               fprintf (outfile, ENTRY_FMT "%.4f\n", counter->name, *(double*)buffer);
-               break;
-       case MONO_COUNTER_STRING:
-               fprintf (outfile, ENTRY_FMT "%s\n", counter->name, (counter->size == 0) ? "(null)" : (char*)buffer);
-               break;
-       case MONO_COUNTER_TIME_INTERVAL:
-               fprintf (outfile, ENTRY_FMT "%.2f ms\n", counter->name, (double)(*(gint64*)buffer) / 1000.0);
-               break;
-       }
-
-       g_free (buffer);
-}
-
 static gint64
 user_time (void)
 {
@@ -366,8 +398,6 @@ cpu_load_15min (void)
        return cpu_load (2);
 }
 
-static gboolean system_counters_initialized = FALSE;
-
 #define SYSCOUNTER_TIME (MONO_COUNTER_SYSTEM | MONO_COUNTER_LONG | MONO_COUNTER_TIME | MONO_COUNTER_MONOTONIC | MONO_COUNTER_CALLBACK)
 #define SYSCOUNTER_BYTES (MONO_COUNTER_SYSTEM | MONO_COUNTER_LONG | MONO_COUNTER_BYTES | MONO_COUNTER_VARIABLE | MONO_COUNTER_CALLBACK)
 #define SYSCOUNTER_COUNT (MONO_COUNTER_SYSTEM | MONO_COUNTER_LONG | MONO_COUNTER_COUNT | MONO_COUNTER_MONOTONIC | MONO_COUNTER_CALLBACK)
@@ -376,18 +406,16 @@ static gboolean system_counters_initialized = FALSE;
 static void
 initialize_system_counters (void)
 {
-       mono_counters_register ("User Time", SYSCOUNTER_TIME, &user_time);
-       mono_counters_register ("System Time", SYSCOUNTER_TIME, &system_time);
-       mono_counters_register ("Total Time", SYSCOUNTER_TIME, &total_time);
-       mono_counters_register ("Working Set", SYSCOUNTER_BYTES, &working_set);
-       mono_counters_register ("Private Bytes", SYSCOUNTER_BYTES, &private_bytes);
-       mono_counters_register ("Virtual Bytes", SYSCOUNTER_BYTES, &virtual_bytes);
-       mono_counters_register ("Page Faults", SYSCOUNTER_COUNT, &page_faults);
-       mono_counters_register ("CPU Load Average - 1min", SYSCOUNTER_LOAD, &cpu_load_1min);
-       mono_counters_register ("CPU Load Average - 5min", SYSCOUNTER_LOAD, &cpu_load_5min);
-       mono_counters_register ("CPU Load Average - 15min", SYSCOUNTER_LOAD, &cpu_load_15min);
-
-       system_counters_initialized = TRUE;
+       register_internal ("User Time", SYSCOUNTER_TIME, &user_time, sizeof (gint64));
+       register_internal ("System Time", SYSCOUNTER_TIME, &system_time, sizeof (gint64));
+       register_internal ("Total Time", SYSCOUNTER_TIME, &total_time, sizeof (gint64));
+       register_internal ("Working Set", SYSCOUNTER_BYTES, &working_set, sizeof (gint64));
+       register_internal ("Private Bytes", SYSCOUNTER_BYTES, &private_bytes, sizeof (gint64));
+       register_internal ("Virtual Bytes", SYSCOUNTER_BYTES, &virtual_bytes, sizeof (gint64));
+       register_internal ("Page Faults", SYSCOUNTER_COUNT, &page_faults, sizeof (gint64));
+       register_internal ("CPU Load Average - 1min", SYSCOUNTER_LOAD, &cpu_load_1min, sizeof (double));
+       register_internal ("CPU Load Average - 5min", SYSCOUNTER_LOAD, &cpu_load_5min, sizeof (double));
+       register_internal ("CPU Load Average - 15min", SYSCOUNTER_LOAD, &cpu_load_15min, sizeof (double));
 }
 
 /**
@@ -404,24 +432,34 @@ mono_counters_foreach (CountersEnumCallback cb, gpointer user_data)
 {
        MonoCounter *counter;
 
-       if (!system_counters_initialized)
-               initialize_system_counters ();
+       if (!initialized) {
+               g_warning ("counters not enabled");
+               return;
+       }
+
+       mono_mutex_lock (&counters_mutex);
 
        for (counter = counters; counter; counter = counter->next) {
-               if (!cb (counter, user_data))
+               if (!cb (counter, user_data)) {
+                       mono_mutex_unlock (&counters_mutex);
                        return;
+               }
        }
+
+       mono_mutex_unlock (&counters_mutex);
 }
 
 #define COPY_COUNTER(type,functype) do {       \
                size = sizeof (type);   \
                if (buffer_size < size) \
-                       return -1;      \
-               *(type*)buffer = cb ? ((functype)counter->addr) () : *(type*)counter->addr; \
+                       size = -1;      \
+               else                    \
+                       *(type*)buffer = cb ? ((functype)counter->addr) () : *(type*)counter->addr; \
        } while (0);
 
-int
-mono_counters_sample (MonoCounter *counter, void *buffer, int buffer_size)
+/* lockless */
+static int
+sample_internal (MonoCounter *counter, void *buffer, int buffer_size)
 {
        int cb = counter->type & MONO_COUNTER_CALLBACK;
        int size = -1;
@@ -449,21 +487,75 @@ mono_counters_sample (MonoCounter *counter, void *buffer, int buffer_size)
                COPY_COUNTER (double, DoubleFunc);
                break;
        case MONO_COUNTER_STRING:
-               if (buffer_size < counter->size)
-                       return -1;
-               if (counter->size == 0)
-                       return 0;
-               strval = cb ? ((StrFunc)counter->addr) () : (char*)counter->addr;
-               if (!strval)
-                       return 0;
-               size = counter->size;
-               strncpy (buffer, strval, size - 1);
-               ((char*)buffer)[size - 1] = '\0';
+               if (buffer_size < counter->size) {
+                       size = -1;
+               } else if (counter->size == 0) {
+                       size = 0;
+               } else {
+                       strval = cb ? ((StrFunc)counter->addr) () : (char*)counter->addr;
+                       if (!strval) {
+                               size = 0;
+                       } else {
+                               size = counter->size;
+                               strncpy (buffer, strval, size - 1);
+                               ((char*)buffer)[size - 1] = '\0';
+                       }
+               }
        }
 
        return size;
 }
 
+int
+mono_counters_sample (MonoCounter *counter, void *buffer, int buffer_size)
+{
+       if (!initialized) {
+               g_warning ("counters not enabled");
+               return -1;
+       }
+
+       return sample_internal (counter, buffer, buffer_size);
+}
+
+#define ENTRY_FMT "%-36s: "
+static void
+dump_counter (MonoCounter *counter, FILE *outfile) {
+       void *buffer = g_malloc0 (counter->size);
+       int size = sample_internal (counter, buffer, counter->size);
+
+       switch (counter->type & MONO_COUNTER_TYPE_MASK) {
+       case MONO_COUNTER_INT:
+               fprintf (outfile, ENTRY_FMT "%d\n", counter->name, *(int*)buffer);
+               break;
+       case MONO_COUNTER_UINT:
+               fprintf (outfile, ENTRY_FMT "%u\n", counter->name, *(guint*)buffer);
+               break;
+       case MONO_COUNTER_LONG:
+               if ((counter->type & MONO_COUNTER_UNIT_MASK) == MONO_COUNTER_TIME)
+                       fprintf (outfile, ENTRY_FMT "%.2f ms\n", counter->name, (double)(*(gint64*)buffer) / 10000.0);
+               else
+                       fprintf (outfile, ENTRY_FMT "%lld\n", counter->name, *(long long *)buffer);
+               break;
+       case MONO_COUNTER_ULONG:
+               fprintf (outfile, ENTRY_FMT "%llu\n", counter->name, *(unsigned long long *)buffer);
+               break;
+       case MONO_COUNTER_WORD:
+               fprintf (outfile, ENTRY_FMT "%zd\n", counter->name, *(gssize*)buffer);
+               break;
+       case MONO_COUNTER_DOUBLE:
+               fprintf (outfile, ENTRY_FMT "%.4f\n", counter->name, *(double*)buffer);
+               break;
+       case MONO_COUNTER_STRING:
+               fprintf (outfile, ENTRY_FMT "%s\n", counter->name, (size == 0) ? "(null)" : (char*)buffer);
+               break;
+       case MONO_COUNTER_TIME_INTERVAL:
+               fprintf (outfile, ENTRY_FMT "%.2f ms\n", counter->name, (double)(*(gint64*)buffer) / 1000.0);
+               break;
+       }
+
+       g_free (buffer);
+}
+
 static const char
 section_names [][10] = {
        "JIT",
@@ -501,9 +593,17 @@ mono_counters_dump (int section_mask, FILE *outfile)
        int i, j;
        int variance;
        section_mask &= valid_mask;
-       if (!counters)
+
+       if (!initialized)
                return;
 
+       mono_mutex_lock (&counters_mutex);
+
+       if (!counters) {
+               mono_mutex_unlock (&counters_mutex);
+               return;
+       }
+
        variance = section_mask & MONO_COUNTER_VARIANCE_MASK;
 
        /* If no variance mask is supplied, we default to all kinds. */
@@ -519,6 +619,7 @@ mono_counters_dump (int section_mask, FILE *outfile)
        }
 
        fflush (outfile);
+       mono_mutex_unlock (&counters_mutex);
 }
 
 /**
@@ -529,13 +630,21 @@ mono_counters_dump (int section_mask, FILE *outfile)
 void
 mono_counters_cleanup (void)
 {
+       if (!initialized)
+               return;
+
+       mono_mutex_lock (&counters_mutex);
+
        MonoCounter *counter = counters;
        counters = NULL;
        while (counter) {
                MonoCounter *tmp = counter;
                counter = counter->next;
+               free ((void*)tmp->name);
                free (tmp);
        }
+
+       mono_mutex_unlock (&counters_mutex);
 }
 
 static MonoResourceCallback limit_reached = NULL;
index 20676c2ff114015e8d79a9cb748008816dfea6ba..a8e6928dfbe84d036be48f0ef52e79987a24a97c 100644 (file)
@@ -25,6 +25,7 @@ enum {
        MONO_COUNTER_SECURITY = 1 << 12,
        MONO_COUNTER_RUNTIME  = 1 << 13,
        MONO_COUNTER_SYSTEM   = 1 << 14,
+       MONO_COUNTER_PERFCOUNTERS = 1 << 15,
        MONO_COUNTER_LAST_SECTION,
 
        /* Unit, bits 24-27 (4 bits) */
@@ -46,8 +47,8 @@ enum {
 
 typedef struct _MonoCounter MonoCounter;
 
-
 MONO_API void mono_counters_enable (int section_mask);
+MONO_API void mono_counters_init (void);
 
 /* 
  * register addr as the address of a counter of type type.
@@ -57,6 +58,9 @@ MONO_API void mono_counters_enable (int section_mask);
 MONO_API void mono_counters_register (const char* descr, int type, void *addr);
 MONO_API void mono_counters_register_with_size (const char *name, int type, void *addr, int size);
 
+typedef void (*MonoCounterRegisterCallback) (MonoCounter*);
+MONO_API void mono_counters_on_register (MonoCounterRegisterCallback callback);
+
 /* 
  * Create a readable dump of the counters for section_mask sections (ORed section values)
  */
index 04e9165b7c09a0dc363e605034ef6e4cd4fa730a..c13c68a042151e52ee55c6082426189fd35270fe 100644 (file)
@@ -64,12 +64,7 @@ static const char suffixes [][4] = {
 #endif  /* RTLD_LAZY */
 
 #define SO_HANDLE_TYPE void*
-#ifdef PLATFORM_ANDROID
-/* Bionic doesn't support NULL filenames */
-#  define LL_SO_OPEN(file,flags) ((file) ? dlopen ((file), (flags)) : NULL)
-#else
-#  define LL_SO_OPEN(file,flags) dlopen ((file), (flags))
-#endif
+#define LL_SO_OPEN(file,flags) dlopen ((file), (flags))
 #define LL_SO_CLOSE(module) dlclose ((module)->handle)
 #define LL_SO_SYMBOL(module, name) dlsym ((module)->handle, (name))
 #define LL_SO_TRFLAGS(flags) convert_flags ((flags))
@@ -337,7 +332,16 @@ mono_dl_open (const char *name, int flags, char **error_msg)
                return NULL;
        }
        module->main_module = name == NULL? TRUE: FALSE;
+
+#ifdef PLATFORM_ANDROID
+       /* Bionic doesn't support NULL filenames */
+       if (!name)
+               lib = NULL;
+       else
+               lib = LL_SO_OPEN (name, lflags);
+#else
        lib = LL_SO_OPEN (name, lflags);
+#endif
        if (!lib) {
                GSList *node;
                for (node = fallback_handlers; node != NULL; node = node->next){
index 869495cb5c516a6cd4c5b667018add3d44dadfd1..205916b6d4bb34f1f67dc8d78b16dc03475f5822 100644 (file)
@@ -4,6 +4,18 @@
 #include "mono/utils/mono-compiler.h"
 #include "mono/utils/mono-dl-fallback.h"
 
+#ifdef TARGET_WIN32
+#define MONO_SOLIB_EXT ".dll"
+#elif defined(__ppc__) && defined(TARGET_MACH)
+#define MONO_SOLIB_EXT ".dylib"
+#elif defined(TARGET_MACH) && defined(TARGET_X86) && !defined(__native_client_codegen__)
+#define MONO_SOLIB_EXT ".dylib"
+#elif defined(TARGET_MACH) && defined(TARGET_AMD64) && !defined(__native_client_codegen__)
+#define MONO_SOLIB_EXT ".dylib"
+#else
+#define MONO_SOLIB_EXT ".so"
+#endif
+
 typedef struct _MonoDl MonoDl;
 
 MonoDl*     mono_dl_open       (const char *name, int flags, char **error_msg) MONO_LLVM_INTERNAL;
index 979bb6037fd21ba9be040c408eca9cba4a265fe2..4304851c11dff8d901d42515452c3932dac9461d 100644 (file)
@@ -6,12 +6,6 @@
 #endif
 #include <errno.h>
 #include <mono/utils/mono-io-portability.h>
-#include <mono/metadata/metadata.h>
-#include <mono/metadata/class.h>
-#include <mono/metadata/class-internals.h>
-#include <mono/metadata/object.h>
-#include <mono/metadata/gc-internal.h>
-#include <mono/metadata/profiler.h>
 #include <mono/metadata/profiler-private.h>
 
 #ifndef DISABLE_PORTABILITY
index efb14f0352bad91156e076f94676c7ff7d4c9756..89c7f1181c7eae948168ab08ad4a791067031f9a 100644 (file)
@@ -66,7 +66,15 @@ Requires the world to be stoped
        MonoLinkedListSetNode *__cur;   \
        for (__cur = (list)->head; __cur; __cur = mono_lls_pointer_unmask (__cur->next)) \
                if (!mono_lls_pointer_get_mark (__cur->next)) { \
-                       (element) = (type)__cur;                        \
+                       (element) = (type)__cur;
+
+
+#define MONO_LLS_FOREACH_FILTERED(list, element, filter_func, type) {\
+       MonoLinkedListSetNode *__cur;   \
+       for (__cur = (list)->head; __cur; __cur = mono_lls_pointer_unmask (__cur->next)) \
+               if (!mono_lls_pointer_get_mark (__cur->next)) { \
+                       (element) = (type)__cur;                        \
+                       if (!filter_func (element)) continue;
 
 #define MONO_LLS_END_FOREACH }}
 
@@ -91,6 +99,18 @@ Provides snapshot iteration
                if (!mono_lls_pointer_get_mark (__next)) {      \
                        (element) = (type)__cur;
 
+#define MONO_LLS_FOREACH_FILTERED_SAFE(list, element, filter_func, type) {\
+       MonoThreadHazardPointers *__hp = mono_hazard_pointer_get ();    \
+       MonoLinkedListSetNode *__cur, *__next;  \
+       for (__cur = mono_lls_pointer_unmask (get_hazardous_pointer ((gpointer volatile*)&(list)->head, __hp, 1)); \
+               __cur;  \
+               __cur = mono_lls_info_step (__next, __hp)) {    \
+               __next = get_hazardous_pointer_with_mask ((gpointer volatile*)&__cur->next, __hp, 0);   \
+               if (!mono_lls_pointer_get_mark (__next)) {      \
+                       (element) = (type)__cur;        \
+                       if (!filter_func (element)) continue;
+
+
 #define MONO_LLS_END_FOREACH_SAFE \
                } \
        }       \
index 6caf9628380f2f3ab8cab48c096dd5a913286e17..ed11c9f1b2874664035bc5d2b4a12be41499fafa 100644 (file)
@@ -645,7 +645,7 @@ mono_shared_area (void)
        header->stats_start = sizeof (SAreaHeader);
        header->stats_end = sizeof (SAreaHeader);
 
-       atexit (mono_shared_area_remove);
+       mono_atexit (mono_shared_area_remove);
        return res;
 }
 
index 1303b5b4d448498e2d6afea298f4a5599b047e8b..81399007ad6c3e4a664262318d8b1bbeca81173f 100644 (file)
@@ -498,6 +498,8 @@ mono_process_get_data_with_error (gpointer pid, MonoProcessData data, MonoProces
                return get_process_stat_item (rpid, 18, FALSE, error) / get_user_hz ();
        case MONO_PROCESS_PPID:
                return get_process_stat_time (rpid, 0, FALSE, error);
+       case MONO_PROCESS_PAGED_BYTES:
+               return get_pid_status_item (rpid, "VmSwap", error, 1024);
 
                /* Nothing yet */
        case MONO_PROCESS_END:
@@ -664,3 +666,13 @@ mono_cpu_get_data (int cpu_id, MonoCpuData data, MonoProcessError *error)
        return value;
 }
 
+int
+mono_atexit (void (*func)(void))
+{
+#ifdef PLATFORM_ANDROID
+       /* Some versions of android libc doesn't define atexit () */
+       return 0;
+#else
+       return atexit (func);
+#endif
+}
index e0d84ec02332b237ba03f9b2e8e9daf24c89a424..6a8f6bf81f7630f8823e4cfd46d76ea857fc9643 100644 (file)
@@ -20,8 +20,9 @@ typedef enum {
        MONO_PROCESS_VIRTUAL_BYTES,
        MONO_PROCESS_VIRTUAL_BYTES_PEAK,
        MONO_PROCESS_FAULTS,
-       MONO_PROCESS_ELAPSED,
+       MONO_PROCESS_ELAPSED, /* 10 */
        MONO_PROCESS_PPID,
+       MONO_PROCESS_PAGED_BYTES,
        MONO_PROCESS_END
 } MonoProcessData;
 
@@ -52,5 +53,7 @@ int       mono_process_current_pid (void) MONO_INTERNAL;
 int       mono_cpu_count    (void) MONO_INTERNAL;
 gint64    mono_cpu_get_data (int cpu_id, MonoCpuData data, MonoProcessError *error) MONO_INTERNAL;
 
+int       mono_atexit (void (*func)(void)) MONO_INTERNAL;
+
 #endif /* __MONO_PROC_LIB_H__ */
 
index 4ed6820e900d934de2c45d939021e943a04b02d3..c0b28a12d8e97de1295be3e7ad1bed653a37dd6a 100644 (file)
@@ -20,9 +20,6 @@
 #include <mono/utils/mono-threads.h>
 #include <mono/utils/hazard-pointer.h>
 #include <mono/utils/mono-mmap.h>
-#include <mono/metadata/gc-internal.h>
-#include <mono/metadata/appdomain.h>
-#include <mono/metadata/threads-types.h>
 
 void
 mono_threads_init_platform (void)
@@ -48,7 +45,7 @@ mono_threads_core_needs_abort_syscall (void)
 }
 
 gboolean
-mono_threads_core_suspend (MonoThreadInfo *info)
+mono_threads_core_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
        kern_return_t ret;
        gboolean res;
index 80f283f8878725d6fbb4635ce2b67f434a3d94a3..a2b205939b57116c7f1e4c752e3d2d112372cced 100644 (file)
 #include <mono/utils/mono-threads.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/mono-mmap.h>
-#include <mono/metadata/threads-types.h>
 #include <limits.h>
 
 #include <errno.h>
 
-#if defined(PLATFORM_ANDROID)
+#if defined(PLATFORM_ANDROID) && !defined(TARGET_ARM64)
+#define USE_TKILL_ON_ANDROID 1
+#endif
+
+#ifdef USE_TKILL_ON_ANDROID
 extern int tkill (pid_t tid, int signal);
 #endif
 
@@ -39,6 +42,10 @@ typedef struct {
        HANDLE handle;
 } StartInfo;
 
+#ifdef PLATFORM_ANDROID
+static int no_interrupt_signo;
+#endif
+
 static void*
 inner_start_thread (void *arg)
 {
@@ -260,6 +267,26 @@ mono_threads_core_clear_interruption (void)
        wapi_clear_interruption ();
 }
 
+int
+mono_threads_pthread_kill (MonoThreadInfo *info, int signum)
+{
+#ifdef USE_TKILL_ON_ANDROID
+       int result, old_errno = errno;
+       result = tkill (info->native_handle, signum);
+       if (result < 0) {
+               result = errno;
+               errno = old_errno;
+       }
+       return result;
+#elif defined(__native_client__)
+       /* Workaround pthread_kill abort() in NaCl glibc. */
+       return 0;
+#else
+       return pthread_kill (mono_thread_info_get_tid (info), signum);
+#endif
+
+}
+
 #if !defined (__MACH__)
 
 #if !defined(__native_client__)
@@ -305,7 +332,7 @@ suspend_signal_handler (int _dummy, siginfo_t *info, void *context)
 #endif
 
 static void
-mono_posix_add_signal_handler (int signo, gpointer handler)
+mono_posix_add_signal_handler (int signo, gpointer handler, int flags)
 {
 #if !defined(__native_client__)
        /*FIXME, move the code from mini to utils and do the right thing!*/
@@ -315,7 +342,7 @@ mono_posix_add_signal_handler (int signo, gpointer handler)
 
        sa.sa_sigaction = handler;
        sigemptyset (&sa.sa_mask);
-       sa.sa_flags = SA_SIGINFO;
+       sa.sa_flags = SA_SIGINFO | flags;
        ret = sigaction (signo, &sa, &previous_sa);
 
        g_assert (ret != -1);
@@ -326,39 +353,36 @@ void
 mono_threads_init_platform (void)
 {
 #if !defined(__native_client__)
+       int abort_signo;
+
        /*
        FIXME we should use all macros from mini to make this more portable
        FIXME it would be very sweet if sgen could end up using this too.
        */
-       if (mono_thread_info_new_interrupt_enabled ())
-               mono_posix_add_signal_handler (mono_thread_get_abort_signal (), suspend_signal_handler);
+       if (!mono_thread_info_new_interrupt_enabled ())
+               return;
+       abort_signo = mono_thread_get_abort_signal ();
+       mono_posix_add_signal_handler (abort_signo, suspend_signal_handler, 0);
+
+#ifdef PLATFORM_ANDROID
+       /*
+        * Lots of android native code can't handle the EINTR caused by
+        * the normal abort signal, so use a different signal for the
+        * no interruption case, which is used by sdb.
+        * FIXME: Use this on all platforms.
+        * SIGUSR1 is used by dalvik/art.
+        */
+       no_interrupt_signo = SIGUSR2;
+       g_assert (abort_signo != no_interrupt_signo);
+       mono_posix_add_signal_handler (no_interrupt_signo, suspend_signal_handler, SA_RESTART);
+#endif
 #endif
 }
 
-/*nothing to be done here since suspend always abort syscalls due using signals*/
 void
 mono_threads_core_interrupt (MonoThreadInfo *info)
 {
-}
-
-int
-mono_threads_pthread_kill (MonoThreadInfo *info, int signum)
-{
-#if defined (PLATFORM_ANDROID)
-       int result, old_errno = errno;
-       result = tkill (info->native_handle, signum);
-       if (result < 0) {
-               result = errno;
-               errno = old_errno;
-       }
-       return result;
-#elif defined(__native_client__)
-       /* Workaround pthread_kill abort() in NaCl glibc. */
-       return 0;
-#else
-       return pthread_kill (mono_thread_info_get_tid (info), signum);
-#endif
-
+       /* Handled in mono_threads_core_suspend () */
 }
 
 void
@@ -379,10 +403,17 @@ mono_threads_core_needs_abort_syscall (void)
 }
 
 gboolean
-mono_threads_core_suspend (MonoThreadInfo *info)
+mono_threads_core_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
        /*FIXME, check return value*/
-       mono_threads_pthread_kill (info, mono_thread_get_abort_signal ());
+#ifdef PLATFORM_ANDROID
+       if (!interrupt_kernel)
+               mono_threads_pthread_kill (info, no_interrupt_signo);
+       else
+               mono_threads_pthread_kill (info, mono_thread_get_abort_signal ());
+#else
+               mono_threads_pthread_kill (info, mono_thread_get_abort_signal ());
+#endif
        while (MONO_SEM_WAIT (&info->begin_suspend_semaphore) != 0) {
                /* g_assert (errno == EINTR); */
        }
@@ -406,7 +437,7 @@ mono_threads_platform_register (MonoThreadInfo *info)
        MONO_SEM_INIT (&info->begin_suspend_semaphore, 0);
 
 #if defined (PLATFORM_ANDROID)
-       info->native_handle = (gpointer) gettid ();
+       info->native_handle = gettid ();
 #endif
 }
 
index 04430fb021f274ad99d4312d0290f42df875a5df..02bd26e0c793988c8fc4f2d15ac766df70c5014d 100755 (executable)
@@ -58,7 +58,7 @@ mono_threads_core_self_suspend (MonoThreadInfo *info)
 }
 
 gboolean
-mono_threads_core_suspend (MonoThreadInfo *info)
+mono_threads_core_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
        DWORD id = mono_thread_info_get_tid (info);
        HANDLE handle;
index 9aa70ac20b0b442511afadf97dceedaf4b1302ce..8ae4a3f15d961d6b688ba3621def0768112de41f 100644 (file)
@@ -15,6 +15,7 @@
 #include <mono/utils/hazard-pointer.h>
 #include <mono/utils/mono-memory-model.h>
 #include <mono/utils/mono-mmap.h>
+#include <mono/utils/atomic.h>
 
 #include <errno.h>
 
@@ -286,6 +287,31 @@ mono_thread_info_list_head (void)
        return &thread_list;
 }
 
+/**
+ * mono_threads_attach_tools_thread
+ *
+ * Attach the current thread as a tool thread. DON'T USE THIS FUNCTION WITHOUT READING ALL DISCLAIMERS.
+ *
+ * A tools thread is a very special kind of thread that needs access to core runtime facilities but should
+ * not be counted as a regular thread for high order facilities such as executing managed code or accessing
+ * the managed heap.
+ *
+ * This is intended only to tools such as a profiler than needs to be able to use our lock-free support when
+ * doing things like resolving backtraces in their background processing thread.
+ */
+void
+mono_threads_attach_tools_thread (void)
+{
+       int dummy = 0;
+       MonoThreadInfo *info;
+
+       /* Must only be called once */
+       g_assert (!mono_native_tls_get_value (thread_info_key));
+
+       info = mono_thread_info_attach (&dummy);
+       info->tools_thread = TRUE;
+}
+
 MonoThreadInfo*
 mono_thread_info_attach (void *baseptr)
 {
@@ -426,7 +452,7 @@ mono_thread_info_suspend_sync (MonoNativeThreadId tid, gboolean interrupt_kernel
                return info;
        }
 
-       if (!mono_threads_core_suspend (info)) {
+       if (!mono_threads_core_suspend (info, interrupt_kernel)) {
                MONO_SEM_POST (&info->suspend_semaphore);
                mono_hazard_pointer_clear (hp, 1);
                *error_condition = "Could not suspend thread";
@@ -909,3 +935,27 @@ mono_thread_info_clear_interruption (void)
 {
        mono_threads_core_clear_interruption ();
 }
+
+/* info must be self or be held in a hazard pointer. */
+gboolean
+mono_threads_add_async_job (MonoThreadInfo *info, MonoAsyncJob job)
+{
+       MonoAsyncJob old_job;
+       do {
+               old_job = info->service_requests;
+               if (old_job & job)
+                       return FALSE;
+       } while (InterlockedCompareExchange (&info->service_requests, old_job | job, old_job) != old_job);
+       return TRUE;
+}
+
+MonoAsyncJob
+mono_threads_consume_async_jobs (void)
+{
+       MonoThreadInfo *info = (MonoThreadInfo*)mono_native_tls_get_value (thread_info_key);
+
+       if (!info)
+               return 0;
+
+       return InterlockedExchange (&info->service_requests, 0);
+}
index 91a7df5f0fce44c055811181a1d3edc457401e71..409c405f7f2cee6564d1bb9d8d07485e166be0c0 100644 (file)
@@ -94,6 +94,13 @@ enum {
        SUSPEND_STATE_MASK              = 0xF0,
 };
 
+/*
+ * This enum tells which async thread service corresponds to which bit.
+ */
+typedef enum {
+       MONO_SERVICE_REQUEST_SAMPLE = 1,
+} MonoAsyncJob;
+
 #define mono_thread_info_run_state(info) (((MonoThreadInfo*)info)->thread_state & RUN_STATE_MASK)
 #define mono_thread_info_suspend_state(info) (((MonoThreadInfo*)info)->thread_state & SUSPEND_STATE_MASK)
 
@@ -106,6 +113,9 @@ typedef struct {
        /*Tells if this thread was created by the runtime or not.*/
        gboolean runtime_thread;
 
+       /* Tells if this thread should be ignored or not by runtime services such as GC and profiling */
+       gboolean tools_thread;
+
        /* suspend machinery, fields protected by suspend_semaphore */
        MonoSemType suspend_semaphore;
        int suspend_count;
@@ -155,6 +165,12 @@ typedef struct {
        /* IO layer handle for this thread */
        /* Set when the thread is started, or in _wapi_thread_duplicate () */
        HANDLE handle;
+
+       /* Asynchronous service request. This flag is meant to be consumed by the multiplexing signal handlers to discover what sort of work they need to do.
+        * Use the mono_threads_add_async_job and mono_threads_consume_async_jobs APIs to modify this flag.
+        * In the future the signaling should be part of the API, but for now, it's only for massaging the bits.
+        */
+       volatile gint32 service_requests;
 } MonoThreadInfo;
 
 typedef struct {
@@ -187,16 +203,22 @@ typedef struct {
        gboolean (*thread_state_init_from_handle) (MonoThreadUnwindState *tctx, MonoThreadInfo *info);
 } MonoThreadInfoRuntimeCallbacks;
 
+static inline gboolean
+mono_threads_filter_tools_threads (THREAD_INFO_TYPE *info)
+{
+       return !((MonoThreadInfo*)info)->tools_thread;
+}
+
 /*
 Requires the world to be stoped
 */
-#define FOREACH_THREAD(thread) MONO_LLS_FOREACH (mono_thread_info_list_head (), thread, THREAD_INFO_TYPE*)
+#define FOREACH_THREAD(thread) MONO_LLS_FOREACH_FILTERED (mono_thread_info_list_head (), thread, mono_threads_filter_tools_threads, THREAD_INFO_TYPE*)
 #define END_FOREACH_THREAD MONO_LLS_END_FOREACH
 
 /*
 Snapshot iteration.
 */
-#define FOREACH_THREAD_SAFE(thread) MONO_LLS_FOREACH_SAFE (mono_thread_info_list_head (), thread, THREAD_INFO_TYPE*)
+#define FOREACH_THREAD_SAFE(thread) MONO_LLS_FOREACH_FILTERED_SAFE (mono_thread_info_list_head (), thread, mono_threads_filter_tools_threads, THREAD_INFO_TYPE*)
 #define END_FOREACH_THREAD_SAFE MONO_LLS_END_FOREACH_SAFE
 
 #define mono_thread_info_get_tid(info) ((MonoNativeThreadId)((MonoThreadInfo*)info)->node.key)
@@ -326,19 +348,32 @@ mono_threads_get_max_stack_size (void) MONO_INTERNAL;
 HANDLE
 mono_threads_open_thread_handle (HANDLE handle, MonoNativeThreadId tid) MONO_INTERNAL;
 
+/*
+This is the async job submission/consumption API.
+XXX: This is a PROVISIONAL API only meant to be used by the statistical profiler.
+If you want to use/extend it anywhere else, understand that you'll have to do some API design work to better fit this puppy.
+*/
+gboolean
+mono_threads_add_async_job (THREAD_INFO_TYPE *info, MonoAsyncJob job) MONO_INTERNAL;
+
+MonoAsyncJob
+mono_threads_consume_async_jobs (void) MONO_INTERNAL;
+
+void
+mono_threads_attach_tools_thread (void);
+
+
 #if !defined(HOST_WIN32)
 
-#if !defined(__MACH__)
 /*Use this instead of pthread_kill */
 int
 mono_threads_pthread_kill (THREAD_INFO_TYPE *info, int signum) MONO_INTERNAL;
-#endif
 
 #endif /* !defined(HOST_WIN32) */
 
 /* Plartform specific functions DON'T use them */
 void mono_threads_init_platform (void) MONO_INTERNAL; //ok
-gboolean mono_threads_core_suspend (THREAD_INFO_TYPE *info) MONO_INTERNAL;
+gboolean mono_threads_core_suspend (THREAD_INFO_TYPE *info, gboolean interrupt_kernel) MONO_INTERNAL;
 gboolean mono_threads_core_resume (THREAD_INFO_TYPE *info) MONO_INTERNAL;
 void mono_threads_platform_register (THREAD_INFO_TYPE *info) MONO_INTERNAL; //ok
 void mono_threads_platform_free (THREAD_INFO_TYPE *info) MONO_INTERNAL;
index cbafcdd6315c429b0d5f1d2edae66277aefca0a1..3d1db4be7f3d65fcb55d1c7921d6172949779eb9 100644 (file)
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
   <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug_SGen|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug_SGen|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Debug|Win32">\r
       <Configuration>Debug</Configuration>\r
       <Platform>Win32</Platform>\r
@@ -9,6 +17,14 @@
       <Configuration>Debug</Configuration>\r
       <Platform>x64</Platform>\r
     </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Release|Win32">\r
       <Configuration>Release</Configuration>\r
       <Platform>Win32</Platform>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <ImportGroup Label="ExtensionSettings">\r
   </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <PreBuildEvent>\r
-      <Command>copy ..\eglib\winconfig.h ..\eglib\config.h</Command>\r
+      <Command>winsetup.bat</Command>\r
+    </PreBuildEvent>\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>../eglib/src;../eglib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level4</WarningLevel>\r
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+    </ClCompile>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+    <PreBuildEvent>\r
+      <Command>winsetup.bat</Command>\r
     </PreBuildEvent>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <PreBuildEvent>\r
-      <Command>copy ..\eglib\winconfig.h ..\eglib\config.h</Command>\r
+      <Command>winsetup.bat</Command>\r
+    </PreBuildEvent>\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <AdditionalIncludeDirectories>../eglib/src;../eglib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level4</WarningLevel>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+    </ClCompile>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+    <PreBuildEvent>\r
+      <Command>winsetup.bat</Command>\r
     </PreBuildEvent>\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
     <PreBuildEvent>\r
-      <Command>copy ..\eglib\winconfig.h ..\eglib\config.h</Command>\r
+      <Command>winsetup.bat</Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>../eglib/src;../eglib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level4</WarningLevel>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+    </ClCompile>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+    <PreBuildEvent>\r
+      <Command>winsetup.bat</Command>\r
     </PreBuildEvent>\r
     <Midl>\r
       <TargetEnvironment>X64</TargetEnvironment>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
     <PreBuildEvent>\r
-      <Command>copy ..\eglib\winconfig.h ..\eglib\config.h</Command>\r
+      <Command>winsetup.bat</Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <AdditionalIncludeDirectories>../eglib/src;../eglib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level4</WarningLevel>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+    </ClCompile>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+    <PreBuildEvent>\r
+      <Command>winsetup.bat</Command>\r
     </PreBuildEvent>\r
     <Midl>\r
       <TargetEnvironment>X64</TargetEnvironment>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
index 34efcacfd5cfb07aa37079b164e13c7d33c1cbef..c247eb42993622908bd301489cc928c804979509 100644 (file)
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
   <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug_SGen|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug_SGen|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Debug|Win32">\r
       <Configuration>Debug</Configuration>\r
       <Platform>Win32</Platform>\r
@@ -9,6 +17,14 @@
       <Configuration>Debug</Configuration>\r
       <Platform>x64</Platform>\r
     </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Release|Win32">\r
       <Configuration>Release</Configuration>\r
       <Platform>Win32</Platform>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseOfMfc>false</UseOfMfc>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
     <ConfigurationType>Application</ConfigurationType>\r
     <UseOfMfc>false</UseOfMfc>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseOfMfc>false</UseOfMfc>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
     <ConfigurationType>Application</ConfigurationType>\r
     <UseOfMfc>false</UseOfMfc>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseOfMfc>false</UseOfMfc>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
     <ConfigurationType>Application</ConfigurationType>\r
     <UseOfMfc>false</UseOfMfc>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseOfMfc>false</UseOfMfc>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <ImportGroup Label="ExtensionSettings">\r
   </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <PreBuildEvent>\r
       <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
     </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+    <PreBuildEvent>\r
+      <Command>\r
+      </Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TypeLibraryName>.\./VSDependancies/genmdesc___Win32_Debug/genmdesc.tlb</TypeLibraryName>\r
+      <HeaderFileName>\r
+      </HeaderFileName>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <Culture>0x0409</Culture>\r
+    </ResourceCompile>\r
+    <ProjectReference>\r
+      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+    </ProjectReference>\r
+    <Link>\r
+      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <SubSystem>Console</SubSystem>\r
+      <TargetMachine>MachineX86</TargetMachine>\r
+    </Link>\r
+    <PostBuildEvent>\r
+      <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
+    </PostBuildEvent>\r
+  </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
     <PreBuildEvent>\r
       <Command>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
       <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_DEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <Culture>0x0409</Culture>\r
+    </ResourceCompile>\r
+    <ProjectReference>\r
+      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+    </ProjectReference>\r
+    <Link>\r
+      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <SubSystem>Console</SubSystem>\r
+      <TargetMachine>MachineX64</TargetMachine>\r
+    </Link>\r
+    <PostBuildEvent>\r
+      <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
+    </PostBuildEvent>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+    <PreBuildEvent>\r
+      <Command>\r
+      </Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+      <TypeLibraryName>.\./VSDependancies/genmdesc___Win32_Debug/genmdesc.tlb</TypeLibraryName>\r
+      <HeaderFileName>\r
+      </HeaderFileName>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>_DEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
     </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+    <PreBuildEvent>\r
+      <Command>\r
+      </Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TypeLibraryName>.\Release/genmdesc.tlb</TypeLibraryName>\r
+      <HeaderFileName>\r
+      </HeaderFileName>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\r
+      <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <StringPooling>true</StringPooling>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <Culture>0x0409</Culture>\r
+    </ResourceCompile>\r
+    <ProjectReference>\r
+      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+    </ProjectReference>\r
+    <Link>\r
+      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <SubSystem>Console</SubSystem>\r
+      <TargetMachine>MachineX86</TargetMachine>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+    </Link>\r
+    <PostBuildEvent>\r
+      <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
+    </PostBuildEvent>\r
+  </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
     <PreBuildEvent>\r
       <Command>\r
       <Optimization>MinSpace</Optimization>\r
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\r
       <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>NDEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>NDEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <StringPooling>true</StringPooling>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+    </ClCompile>\r
+    <ResourceCompile>\r
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <Culture>0x0409</Culture>\r
+    </ResourceCompile>\r
+    <ProjectReference>\r
+      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+    </ProjectReference>\r
+    <Link>\r
+      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <SuppressStartupBanner>true</SuppressStartupBanner>\r
+      <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <SubSystem>Console</SubSystem>\r
+      <TargetMachine>MachineX64</TargetMachine>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+    </Link>\r
+    <PostBuildEvent>\r
+      <Command>runmdesc.bat "$(TargetPath)" $(Platform)</Command>\r
+    </PostBuildEvent>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+    <PreBuildEvent>\r
+      <Command>\r
+      </Command>\r
+    </PreBuildEvent>\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+      <TypeLibraryName>.\Release/genmdesc.tlb</TypeLibraryName>\r
+      <HeaderFileName>\r
+      </HeaderFileName>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\r
+      <AdditionalIncludeDirectories>..\libgc\include;..\;..\mono\;..\eglib\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>NDEBUG;__x86_64__;TARGET_AMD64;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;_CONSOLE;HAVE_CONFIG_H;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <StringPooling>true</StringPooling>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <FunctionLevelLinking>true</FunctionLevelLinking>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+      </PrecompiledHeader>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+      </PrecompiledHeader>\r
     </ClCompile>\r
     <ClCompile Include="..\mono\mini\helpers.c">\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+      </PrecompiledHeader>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+      </PrecompiledHeader>\r
     </ClCompile>\r
     <ClCompile Include="..\mono\utils\monobitset.c">\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+      </PrecompiledHeader>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+      </PrecompiledHeader>\r
     </ClCompile>\r
     <ClCompile Include="..\mono\metadata\opcodes.c">\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
       </PrecompiledHeader>\r
       <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+      </PrecompiledHeader>\r
+      <BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">true</BrowseInformation>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+      </PrecompiledHeader>\r
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
       </PrecompiledHeader>\r
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+      </PrecompiledHeader>\r
     </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
index db5bfab6d469d6bc881f4a50a3b9abcddac667ad..4871cc2e3c2c20063ed31e214c484cb06bf364ec 100644 (file)
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
   <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug_SGen|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug_SGen|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Debug|Win32">\r
       <Configuration>Debug</Configuration>\r
       <Platform>Win32</Platform>\r
@@ -9,6 +17,14 @@
       <Configuration>Debug</Configuration>\r
       <Platform>x64</Platform>\r
     </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release_SGen|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Release|Win32">\r
       <Configuration>Release</Configuration>\r
       <Platform>Win32</Platform>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
     <ConfigurationType>StaticLibrary</ConfigurationType>\r
     <CharacterSet>Unicode</CharacterSet>\r
     <PlatformToolset>v110</PlatformToolset>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="Configuration">\r
+    <ConfigurationType>StaticLibrary</ConfigurationType>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <ImportGroup Label="ExtensionSettings">\r
   </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
       <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_DEBUG;__i386__;TARGET_X86;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;__i386__;TARGET_X86;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <BufferSecurityCheck>true</BufferSecurityCheck>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <ProgramDataBaseFileName>$(OutDir)vc80.pdb</ProgramDataBaseFileName>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+      <DisableSpecificWarnings>4311;4312;4996;4005;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+    </ClCompile>\r
+    <Lib>\r
+      <OutputFile>$(OutDir)libgc.lib</OutputFile>\r
+    </Lib>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>_DEBUG;__i386__;TARGET_X86;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
       <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>NDEBUG;__i386__;TARGET_X86;i386;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>NDEBUG;__i386__;TARGET_X86;i386;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <BufferSecurityCheck>true</BufferSecurityCheck>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <ProgramDataBaseFileName>$(OutDir)vc80.pdb</ProgramDataBaseFileName>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+    </ClCompile>\r
+    <Lib>\r
+      <OutputFile>$(OutDir)libgc.lib</OutputFile>\r
+    </Lib>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>NDEBUG;__i386__;TARGET_X86;i386;i386;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
       <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_DEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024</PreprocessorDefinitions>\r
+      <MinimalRebuild>true</MinimalRebuild>\r
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+      <BufferSecurityCheck>true</BufferSecurityCheck>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <ProgramDataBaseFileName>$(OutDir)vc80.pdb</ProgramDataBaseFileName>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+      <DisableSpecificWarnings>4311;4312;4996;4005;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+    </ClCompile>\r
+    <Lib>\r
+      <OutputFile>$(OutDir)libgc.lib</OutputFile>\r
+    </Lib>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>Disabled</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>_DEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
       <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>NDEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>NDEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+      <BufferSecurityCheck>true</BufferSecurityCheck>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <ProgramDataBaseFileName>$(OutDir)vc80.pdb</ProgramDataBaseFileName>\r
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <CompileAs>CompileAsC</CompileAs>\r
+    </ClCompile>\r
+    <Lib>\r
+      <OutputFile>$(OutDir)libgc.lib</OutputFile>\r
+    </Lib>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
+    <Midl>\r
+      <TargetEnvironment>X64</TargetEnvironment>\r
+    </Midl>\r
+    <ClCompile>\r
+      <Optimization>MinSpace</Optimization>\r
+      <AdditionalIncludeDirectories>..\libgc\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <PreprocessorDefinitions>NDEBUG;__x86_64__;WIN64;_WIN64;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;__STDC__;PACKAGE_NAME="libgc-mono";PACKAGE_TARNAME="libgc-mono";PACKAGE_VERSION="6.6";PACKAGE_STRING="libgc-mono 6.6";PACKAGE_BUGREPORT="Hans_Boehm%40hp.com";GC_WIN32_THREADS=1;NO_GETENV=1;GC_INSIDE_DLL=1;GC_NOT_DLL=1;STDC_HEADERS=1;HAVE_SYS_TYPES_H=1;HAVE_SYS_STAT_H=1;HAVE_STDLIB_H=1;HAVE_STRING_H=1;HAVE_MEMORY_H=1;HAVE_STRINGS_H=1;HAVE_INTTYPES_H=1;HAVE_STDINT_H=1;HAVE_UNISTD_H=1;SILENT=1;NO_SIGNALS=1;NO_EXECUTE_PERMISSION=1;JAVA_FINALIZATION=1;GC_GCJ_SUPPORT=1;ATOMIC_UNCOLLECTABLE=1;_IN_LIBGC=1;WINVER=0x0502;_WIN32_WINNT=0x0502;_WIN32_IE=0x0501;WIN32_THREADS;FD_SETSIZE=1024;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <PrecompiledHeader>\r
index c65a603ff9f852c35b3c0229bfa5f9671dacfb60..cc68a310147d634aa911874872c2d745caf3d602 100644 (file)
     <ClCompile Include="..\mono\metadata\sgen-os-win32.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-pinning-stats.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-pinning.c" />\r
+    <ClCompile Include="..\mono\metadata\sgen-pointer-queue.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-protocol.c" />\r
+    <ClCompile Include="..\mono\metadata\sgen-qsort.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-simple-nursery.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-split-nursery.c" />\r
     <ClCompile Include="..\mono\metadata\sgen-tarjan-bridge.c" />\r
index 72c3c4c0d7e5ebe05f583e7d51154a258735009d..fa6ae83fe1b2da58dc4848ab777180e74953c866 100644 (file)
@@ -84,6 +84,7 @@ mono_class_from_mono_type
 mono_class_from_name
 mono_class_from_name_case
 mono_class_from_typeref
+mono_class_from_typeref_checked
 mono_class_get
 mono_class_get_byref_type
 mono_class_get_com_object_class
@@ -161,10 +162,21 @@ mono_context_get
 mono_context_get_desc
 mono_context_init
 mono_context_set
+mono_counter_get_name
+mono_counter_get_section
+mono_counter_get_size
+mono_counter_get_type
+mono_counter_get_unit
+mono_counter_get_variance
 mono_counters_cleanup
 mono_counters_dump
 mono_counters_enable
+mono_counters_foreach
+mono_counters_init
+mono_counters_on_register
 mono_counters_register
+mono_counters_register_with_size
+mono_counters_sample
 mono_custom_attrs_construct
 mono_custom_attrs_free
 mono_custom_attrs_from_assembly
@@ -209,6 +221,7 @@ mono_debug_symfile_is_loaded
 mono_debug_symfile_lookup_locals
 mono_debug_symfile_lookup_location
 mono_debug_symfile_lookup_method
+mono_debugger_agent_register_transport
 mono_debugger_insert_breakpoint
 mono_debugger_method_has_breakpoint
 mono_debugger_run_finally
@@ -250,6 +263,7 @@ mono_domain_try_unload
 mono_domain_unload
 mono_dwarf_escape_path
 mono_emit_native_call
+mono_enable_debug_domain_unload
 mono_environment_exitcode_get
 mono_environment_exitcode_set
 mono_error_cleanup
@@ -325,6 +339,9 @@ mono_gc_out_of_memory
 mono_gc_reference_queue_add
 mono_gc_reference_queue_free
 mono_gc_reference_queue_new
+mono_gc_register_finalizer_callbacks
+mono_gc_toggleref_add
+mono_gc_toggleref_register_callback
 mono_gc_walk_heap
 mono_gc_wbarrier_arrayref_copy
 mono_gc_wbarrier_generic_nostore
@@ -537,6 +554,7 @@ mono_metadata_guid_heap
 mono_metadata_implmap_from_method
 mono_metadata_init
 mono_metadata_interfaces_from_typedef
+mono_metadata_load_generic_param_constraints_checked
 mono_metadata_load_generic_params
 mono_metadata_locate
 mono_metadata_locate_token
@@ -650,6 +668,7 @@ mono_parse_default_optimizations
 mono_path_canonicalize
 mono_path_resolve_symlinks
 mono_pe_file_open
+mono_perfcounter_foreach
 mono_perfcounters_init
 mono_pmip
 mono_poll
@@ -688,6 +707,7 @@ mono_profiler_install_thread_name
 mono_profiler_install_transition
 mono_profiler_load
 mono_profiler_set_events
+mono_profiler_set_statistical_mode
 mono_property_get_flags
 mono_property_get_get_method
 mono_property_get_name
@@ -704,6 +724,7 @@ mono_property_set_value
 mono_ptr_class_get
 mono_raise_exception
 mono_realloc_native_code
+mono_reflection_assembly_get_assembly
 mono_reflection_free_type_info
 mono_reflection_get_custom_attrs
 mono_reflection_get_custom_attrs_blob
@@ -736,6 +757,7 @@ mono_runtime_resource_check_limit
 mono_runtime_resource_limit
 mono_runtime_resource_set_callback
 mono_runtime_run_main
+mono_runtime_set_main_args
 mono_runtime_set_shutting_down
 mono_security_core_clr_get_options
 mono_security_core_clr_require_elevated_permissions
@@ -748,6 +770,7 @@ mono_sem_wait
 mono_set_assemblies_path
 mono_set_break_policy
 mono_set_config_dir
+mono_set_crash_chaining
 mono_set_defaults
 mono_set_dirs
 mono_set_is_debugger_attached
@@ -776,6 +799,7 @@ mono_signature_vararg_start
 mono_signbit_double
 mono_signbit_float
 mono_stack_walk
+mono_stack_walk_async_safe
 mono_stack_walk_no_il
 mono_store_remote_field
 mono_store_remote_field_new
@@ -783,6 +807,7 @@ mono_string_chars
 mono_string_equal
 mono_string_from_bstr
 mono_string_from_utf16
+mono_string_from_utf32
 mono_string_hash
 mono_string_intern
 mono_string_is_interned
@@ -791,8 +816,10 @@ mono_string_new
 mono_string_new_len
 mono_string_new_size
 mono_string_new_utf16
+mono_string_new_utf32
 mono_string_new_wrapper
 mono_string_to_utf16
+mono_string_to_utf32
 mono_string_to_utf8
 mono_string_to_utf8_checked
 mono_stringify_assembly_name
@@ -802,9 +829,20 @@ mono_thread_cleanup
 mono_thread_create
 mono_thread_current
 mono_thread_detach
+mono_thread_detach_if_exiting
 mono_thread_exit
 mono_thread_get_main
 mono_thread_get_undeniable_exception
+mono_thread_info_clear_interruption
+mono_thread_info_exit
+mono_thread_info_finish_interrupt
+mono_thread_info_get_stack_bounds
+mono_thread_info_interrupt
+mono_thread_info_open_handle
+mono_thread_info_prepare_interrupt
+mono_thread_info_self_interrupt
+mono_thread_info_tls_get
+mono_thread_info_tls_set
 mono_thread_init
 mono_thread_is_foreign
 mono_thread_manage
@@ -812,13 +850,22 @@ mono_thread_new_init
 mono_thread_set_main
 mono_thread_set_manage_callback
 mono_thread_stop
+mono_threads_attach_tools_thread
+mono_threads_core_clear_interruption
+mono_threads_core_finish_interrupt
+mono_threads_core_prepare_interrupt
+mono_threads_core_self_interrupt
+mono_threads_create_thread
 mono_threads_get_default_stacksize
 mono_threads_request_thread_dump
 mono_threads_set_default_stacksize
 mono_tls_key_get_offset
 mono_tls_key_set_offset
 mono_trace_set_level_string
+mono_trace_set_log_handler
 mono_trace_set_mask_string
+mono_trace_set_print_handler
+mono_trace_set_printerr_handler
 mono_type_create_from_typespec
 mono_type_full_name
 mono_type_generic_inst_is_valuetype
index f771bbb15e1a10d340eb81ed65169c80584bf6d7..04d54d9ffb026359d4d0ba3fd5b2d90eb2f58388 100644 (file)
@@ -83,7 +83,7 @@
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
       <AdditionalIncludeDirectories>..\eglib\src;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_DEBUG;__i386__;TARGET_X86;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_DEBUG;__i386__;TARGET_X86;_WIN32_WINNT=0x0502;WIN32;_WIN32;__WIN32__;_WINDOWS;WINDOWS;HOST_WIN32;TARGET_WIN32;_CRT_SECURE_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
index 2c7a641e8a7392e9b03dabf1f4a5a54ca99f5cb4..4bfb1538aed3645f0c21cd7fe08ea83c03be1908 100644 (file)
@@ -84,6 +84,7 @@ mono_class_from_mono_type
 mono_class_from_name
 mono_class_from_name_case
 mono_class_from_typeref
+mono_class_from_typeref_checked
 mono_class_get
 mono_class_get_byref_type
 mono_class_get_com_object_class
@@ -161,10 +162,21 @@ mono_context_get
 mono_context_get_desc
 mono_context_init
 mono_context_set
+mono_counter_get_name
+mono_counter_get_section
+mono_counter_get_size
+mono_counter_get_type
+mono_counter_get_unit
+mono_counter_get_variance
 mono_counters_cleanup
 mono_counters_dump
 mono_counters_enable
+mono_counters_foreach
+mono_counters_init
+mono_counters_on_register
 mono_counters_register
+mono_counters_register_with_size
+mono_counters_sample
 mono_custom_attrs_construct
 mono_custom_attrs_free
 mono_custom_attrs_from_assembly
@@ -251,6 +263,7 @@ mono_domain_try_unload
 mono_domain_unload
 mono_dwarf_escape_path
 mono_emit_native_call
+mono_enable_debug_domain_unload
 mono_environment_exitcode_get
 mono_environment_exitcode_set
 mono_error_cleanup
@@ -327,7 +340,7 @@ mono_gc_reference_queue_add
 mono_gc_reference_queue_free
 mono_gc_reference_queue_new
 mono_gc_register_bridge_callbacks
-mono_gc_scan_for_specific_ref
+mono_gc_register_finalizer_callbacks
 mono_gc_toggleref_add
 mono_gc_toggleref_register_callback
 mono_gc_wait_for_bridge_processing
@@ -543,7 +556,7 @@ mono_metadata_guid_heap
 mono_metadata_implmap_from_method
 mono_metadata_init
 mono_metadata_interfaces_from_typedef
-mono_metadata_load_generic_param_constraints
+mono_metadata_load_generic_param_constraints_checked
 mono_metadata_load_generic_params
 mono_metadata_locate
 mono_metadata_locate_token
@@ -657,6 +670,7 @@ mono_parse_default_optimizations
 mono_path_canonicalize
 mono_path_resolve_symlinks
 mono_pe_file_open
+mono_perfcounter_foreach
 mono_perfcounters_init
 mono_pmip
 mono_poll
@@ -695,6 +709,7 @@ mono_profiler_install_thread_name
 mono_profiler_install_transition
 mono_profiler_load
 mono_profiler_set_events
+mono_profiler_set_statistical_mode
 mono_property_get_flags
 mono_property_get_get_method
 mono_property_get_name
@@ -711,6 +726,7 @@ mono_property_set_value
 mono_ptr_class_get
 mono_raise_exception
 mono_realloc_native_code
+mono_reflection_assembly_get_assembly
 mono_reflection_free_type_info
 mono_reflection_get_custom_attrs
 mono_reflection_get_custom_attrs_blob
@@ -743,6 +759,7 @@ mono_runtime_resource_check_limit
 mono_runtime_resource_limit
 mono_runtime_resource_set_callback
 mono_runtime_run_main
+mono_runtime_set_main_args
 mono_runtime_set_shutting_down
 mono_security_core_clr_get_options
 mono_security_core_clr_require_elevated_permissions
@@ -755,6 +772,7 @@ mono_sem_wait
 mono_set_assemblies_path
 mono_set_break_policy
 mono_set_config_dir
+mono_set_crash_chaining
 mono_set_defaults
 mono_set_dirs
 mono_set_is_debugger_attached
@@ -783,6 +801,7 @@ mono_signature_vararg_start
 mono_signbit_double
 mono_signbit_float
 mono_stack_walk
+mono_stack_walk_async_safe
 mono_stack_walk_no_il
 mono_store_remote_field
 mono_store_remote_field_new
@@ -790,6 +809,7 @@ mono_string_chars
 mono_string_equal
 mono_string_from_bstr
 mono_string_from_utf16
+mono_string_from_utf32
 mono_string_hash
 mono_string_intern
 mono_string_is_interned
@@ -798,8 +818,10 @@ mono_string_new
 mono_string_new_len
 mono_string_new_size
 mono_string_new_utf16
+mono_string_new_utf32
 mono_string_new_wrapper
 mono_string_to_utf16
+mono_string_to_utf32
 mono_string_to_utf8
 mono_string_to_utf8_checked
 mono_stringify_assembly_name
@@ -809,9 +831,20 @@ mono_thread_cleanup
 mono_thread_create
 mono_thread_current
 mono_thread_detach
+mono_thread_detach_if_exiting
 mono_thread_exit
 mono_thread_get_main
 mono_thread_get_undeniable_exception
+mono_thread_info_clear_interruption
+mono_thread_info_exit
+mono_thread_info_finish_interrupt
+mono_thread_info_get_stack_bounds
+mono_thread_info_interrupt
+mono_thread_info_open_handle
+mono_thread_info_prepare_interrupt
+mono_thread_info_self_interrupt
+mono_thread_info_tls_get
+mono_thread_info_tls_set
 mono_thread_init
 mono_thread_is_foreign
 mono_thread_manage
@@ -819,13 +852,22 @@ mono_thread_new_init
 mono_thread_set_main
 mono_thread_set_manage_callback
 mono_thread_stop
+mono_threads_attach_tools_thread
+mono_threads_core_clear_interruption
+mono_threads_core_finish_interrupt
+mono_threads_core_prepare_interrupt
+mono_threads_core_self_interrupt
+mono_threads_create_thread
 mono_threads_get_default_stacksize
 mono_threads_request_thread_dump
 mono_threads_set_default_stacksize
 mono_tls_key_get_offset
 mono_tls_key_set_offset
 mono_trace_set_level_string
+mono_trace_set_log_handler
 mono_trace_set_mask_string
+mono_trace_set_print_handler
+mono_trace_set_printerr_handler
 mono_type_create_from_typespec
 mono_type_full_name
 mono_type_generic_inst_is_valuetype
index 33a72f6b1bd8d7e0611fda19d337a2080e62eaed..f67a854569327dcbd8fb0d344ea2ed97de89c1f3 100755 (executable)
@@ -1,6 +1,9 @@
 @echo off
 cd ..
+if exist config.h if not exist cygconfig.h copy config.h cygconfig.h
+if exist eglib\config.h if not exist eglib\cygconfig.h copy eglib\config.h eglib\cygconfig.h
 copy winconfig.h config.h
+copy eglib\winconfig.h eglib\config.h
 goto end
 :error
 echo fatal error: the VSDepenancies directory was not found in the "mono" directory
index ca34a6f396f0db1dd392fecf9cf684482ce7da65..1af1a1d1bfefb4591c846d859ac7e41cad380cd6 100644 (file)
@@ -33,18 +33,13 @@ build_profiles = xammac
 else
 build_profiles = 
 
-if INSTALL_2_0
-build_profiles += net_2_0 net_3_5
-al_profile = net_2_0
-endif
-
 if INSTALL_4_0
 build_profiles += net_4_0
 al_profile = net_4_0
 endif
 
 if INSTALL_4_5
-build_profiles += net_4_5 xbuild_12
+build_profiles += net_4_5 xbuild_12 xbuild_14
 al_profile = net_4_5
 endif
 
@@ -99,13 +94,6 @@ endif BUILD_MCS
 
 TEST_SUPPORT_FILES = $(tmpinst)/bin/mono $(tmpinst)/bin/ilasm $(tmpinst)/bin/mcs $(tmpinst)/bin/gmcs $(tmpinst)/bin/dmcs $(tmpinst)/bin/al2 $(tmpinst)/bin/al
 
-# now a misnomer, but it'll go away soon enough.
-if ENABLE_NUNIT_TESTS
-test_select =
-else
-test_select = ONLY_CENTUM_TESTS=yes
-endif
-
 mcs-do-test-profiles:
        cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(test_profiles)' test-profiles
 
@@ -134,9 +122,9 @@ mcs-compileall: mono-wrapper etc/mono/config
          if [ "net_4_0" = "$$profile" ]; then \
           continue; \
       fi; \
-         if [ "net_3_5" = "$$profile" ]; then \
-                 MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \
-         elif [ "xbuild_12" = "$$profile" ]; then \
+         if [ "xbuild_12" = "$$profile" ]; then \
+                 MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_4_5$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \
+         elif [ "xbuild_14" = "$$profile" ]; then \
                  MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_4_5$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \
          else \
                  MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \
@@ -157,7 +145,7 @@ if NACL_CODEGEN
 check-local:
 else
 check-local: mcs-compileall mcs-do-test-profiles
-       $(MAKE) $(test_select) mcs-do-run-test-profiles
+       $(MAKE) ONLY_CENTUM_TESTS=yes mcs-do-run-test-profiles
 endif
 
 # Compile all mcs tests
index be62dd633ef71d23c7a1d6007d0af53db5f3dcbc..a89a33b2d3e2ee41893197e3e21293e417461b48 100644 (file)
@@ -264,7 +264,7 @@ $(scripts_defaults): $(SCRIPT_IN) Makefile
 
 $(scripts_2_0): $(SCRIPT_IN) Makefile
        n=`echo $@ | sed 's,$(COMPAT_2_0_SUFFIX)$$,,'`; \
-       $(REWRITE2) -e "s,@""exe_name@,$$n,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp
+       $(REWRITE4) -e "s,@""exe_name@,$$n,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp
        mv -f $@.tmp $@
 
 $(scripts_4_0): $(SCRIPT_IN) Makefile
index e59bacf91a8155db165b513f5de609e5e9b47a7e..d254e29c7b718a3b696585551f7a8ce2c9aea9a7 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec @bindir@/mono $MONO_OPTIONS @mono_instdir@/4.5/mcs.exe -sdk:4 "$@"
+exec @bindir@/mono $MONO_OPTIONS @mono_instdir@/4.5/mcs.exe "$@"
index 64005f5c09f627b5c751d6fc4d374d385aab2751..d254e29c7b718a3b696585551f7a8ce2c9aea9a7 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec @bindir@/mono $MONO_OPTIONS @mono_instdir@/4.5/mcs.exe -sdk:2 "$@"
+exec @bindir@/mono $MONO_OPTIONS @mono_instdir@/4.5/mcs.exe "$@"
index 87d3e64d4ed3e22c38c5dbe3dc19c5a0246bdeec..52f0ab26ee3557c0b070fe2456c780d454bb5ebb 100755 (executable)
@@ -39,81 +39,222 @@ if len (files) != 1:
     sys.exit (1)
 
 data = []
-minor_pausetimes = []
-major_pausetimes = []
+
+class Event:
+    def __init__(self, **kwargs):
+        self.minor_work = kwargs['minor_work']
+        self.major_work = kwargs['major_work']
+        self.start = kwargs['start']
+        self.stop = kwargs['stop']
+        self.gc_type = kwargs['gc_type']
+    def __repr__(self):
+        return 'Event(minor_work={}, major_work={}, start={}, stop={}, gc_type={})'.format(
+            self.minor_work,
+            self.major_work,
+            self.start,
+            self.stop,
+            self.gc_type,
+        )
 
 grep_input = open (files [0])
 proc = subprocess.Popen ([sgen_grep_path, '--pause-times'], stdin = grep_input, stdout = subprocess.PIPE)
 for line in iter (proc.stdout.readline, ''):
-    m = re.match ('^pause-time (\d+) (\d+) (\d+) (\d+)', line)
+    m = re.match ('^pause-time (\d+) (\d+) (\d+) (\d+) (\d+)', line)
     if m:
+        minor_work = major_work = False
         generation = int (m.group (1))
-        concurrent = int (m.group (2))
-        msecs = int (m.group (3)) / 10.0 / 1000.0
-        start = int (m.group (4)) / 10.0 / 1000.0
-        if generation == 0:
-            generation = "minor"
-            minor_pausetimes.append (msecs)
-        else:
-            generation = "major"
-            major_pausetimes.append (msecs)
-        if concurrent == 1:
+        concurrent = int (m.group (2)) != 0
+        finish = int (m.group (3)) != 0
+        msecs = int (m.group (4)) / 10.0 / 1000.0
+        start = int (m.group (5)) / 10.0 / 1000.0
+
+        if concurrent:
             kind = "CONC"
         else:
             kind = "SYNC"
-        rec = (generation, start, start + msecs, kind)
+
+        if generation == 0:
+            minor_work = True
+            if concurrent:
+                major_work = True
+                gc_type = "nursery+update"
+            else:
+                gc_type = "nursery"
+        else:
+            major_work = True
+            if concurrent:
+                if finish:
+                    minor_work = True
+                    gc_type = "nursery+finish"
+                else:
+                    gc_type = "start"
+            else:
+                gc_type = "full"
+
+        rec = Event(
+            minor_work=minor_work,
+            major_work=major_work,
+            start=start,
+            stop=start + msecs,
+            kind=kind,
+            gc_type=gc_type,
+        )
         print rec
         data.append (rec)
 
+class MajorGCEventGroup:
+    pass
+
+class FullMajorGCEventGroup(MajorGCEventGroup):
+    def __init__(self, event):
+        self.event = event
+    def __repr__(self):
+        return 'FullMajorGCEventGroup({})'.format(
+            self.event,
+        )
+
+class ConcurrentMajorGCEventGroup(MajorGCEventGroup):
+    def __init__(self, start, updates, finish):
+        self.start = start
+        self.updates = updates
+        self.finish = finish
+    def __repr__(self):
+        return 'ConcurrentMajorEventGroup({}, {}, {})'.format(
+            self.start,
+            self.updates,
+            self.finish,
+        )
+
+# ([Event], int) -> (MajorGCEventGroup, int) | None
+def parse_next_major_gc(data, i):
+    assert i >= 0
+    # Find start or full event.
+    while i < len(data) and data[i].gc_type not in ['start', 'full']:
+        i += 1
+    if i == len(data):
+        return None
+    # If full event, done.
+    if data[i].gc_type == 'full':
+        return (FullMajorGCEventGroup(data[i]), i + 1)
+    start_event = data[i]
+    update_events = []
+    # Filter update events and find finish event.
+    while i < len(data) and data[i].gc_type != 'nursery+finish':
+        if data[i].gc_type == 'nursery+update':
+            update_events.append(data[i])
+        i += 1
+    if i == len(data):
+        return None
+    finish_event = data[i]
+    i += 1
+    return (ConcurrentMajorGCEventGroup(start_event, update_events, finish_event), i)
+
+# [Event] -> [MajorGCEventGroup]
+def parse_major_gcs(data):
+    major_gc_events = []
+    i = 0
+    while True:
+        maybe_event_group = parse_next_major_gc(data, i)
+        if maybe_event_group is None:
+            return major_gc_events
+        event_group, i = maybe_event_group
+        major_gc_events.append(event_group)
+
 if show_histogram:
+    minor_pausetimes = []
+    major_pausetimes = []
+
+    for rec in data:
+        pause = rec.stop - rec.start
+        if rec.minor_work and rec.major_work and show_minor and show_major:
+            major_pausetimes.append (pause)
+        else:
+            if rec.minor_work:
+                minor_pausetimes.append (pause)
+            if rec.major_work:
+                major_pausetimes.append (pause)
+
     pausetimes = []
+    colors = []
     if show_minor:
-        pausetimes += minor_pausetimes
+        pausetimes.append(minor_pausetimes)
+        colors.append('blue')
     if show_major:
-        pausetimes += major_pausetimes
-    plt.hist (pausetimes, 100)
+        pausetimes.append(major_pausetimes)
+        colors.append('red')
+
+    plt.hist (pausetimes, 100, stacked=True, log=True, color=colors)
     plt.xlabel ('Pause time in msec')
 else:
-    data = np.array (data, dtype = [('caption', '|S20'), ('start', int), ('stop', int), ('kind', '|S20')])
-    cap, start, stop=data['caption'], data['start'], data['stop']
-
-    #Check the status, because we paint all lines with the same color
-    #together
-    is_sync= (data['kind']=='SYNC')
-    not_sync=np.logical_not(is_sync)
-
-    #Get unique captions and there indices and the inverse mapping
-    captions, unique_idx, caption_inv=np.unique(cap, 1,1)
-    print captions
-
-    #Build y values from the number of unique captions.
-    y=(caption_inv+1)/float(len(captions)+1)
-
-    #Plot function
-    def timelines(y, xstart, xstop,color='b'):
-        """Plot timelines at y from xstart to xstop with given color."""
-        plt.hlines(y,xstart,xstop,color,lw=4)
-        plt.vlines(xstart, y+0.03,y-0.03,color,lw=2)
-        plt.vlines(xstop, y+0.03,y-0.03,color,lw=2)
-
-    #Plot ok tl black
-    timelines(y[is_sync],start[is_sync],stop[is_sync],'r')
-    #Plot fail tl red
-    timelines(y[not_sync],start[not_sync],stop[not_sync],'k')
-
-    #Setup the plot
-    ax=plt.gca()
-    #ax.xaxis_date()
-    #myFmt = DateFormatter('%H:%M:%S')
-    #ax.xaxis.set_major_formatter(myFmt)
-    #ax.xaxis.set_major_locator(SecondLocator(0,interval=20))
-
-    #To adjust the xlimits a timedelta is needed.
-    delta=(stop.max()-start.min())/10
-
-    plt.yticks(y[unique_idx],captions)
-    plt.ylim(0,1)
-    plt.xlim(start.min()-delta, stop.max()+delta)
-    plt.xlabel('Time')
+    major_gc_event_groups = parse_major_gcs(data)
+
+    def bar(**kwargs):
+        indices = kwargs['indices']
+        pauses = kwargs['pauses']
+        color = kwargs['color']
+        if 'bottom' in kwargs:
+            bottom = kwargs['bottom']
+        else:
+            bottom = 0
+        plt.bar(
+            [index for index in indices if pauses[index] is not None],
+            np.array([pause for pause in pauses if pause is not None]),
+            color=color,
+            bottom=bottom,
+        )
+
+    indices = np.arange(len(major_gc_event_groups))
+    start_pauses = [
+        event_group.start.stop - event_group.start.start
+        if isinstance(event_group, ConcurrentMajorGCEventGroup) else None
+        for event_group in major_gc_event_groups
+    ]
+    bar(
+        indices=indices,
+        pauses=start_pauses,
+        color='red',
+    )
+    update_pauses = [
+        sum([
+            update_event.stop - update_event.start
+            for update_event in event_group.updates
+        ]) if isinstance(event_group, ConcurrentMajorGCEventGroup) else None
+        for event_group in major_gc_event_groups
+    ]
+    bar(
+        indices=indices,
+        pauses=update_pauses,
+        color='green',
+        bottom=[pause for pause in start_pauses if pause is not None],
+    )
+    finish_pauses = [
+        event_group.finish.stop - event_group.finish.start
+        if isinstance(event_group, ConcurrentMajorGCEventGroup) else None
+        for event_group in major_gc_event_groups
+    ]
+    start_update_pauses = [
+        a + b
+        for a, b in zip(start_pauses, update_pauses)
+        if a is not None and b is not None
+    ]
+    bar(
+        indices=indices,
+        pauses=finish_pauses,
+        color='blue',
+        bottom=start_update_pauses,
+    )
+    full_pauses = [
+        event_group.event.stop - event_group.event.start
+        if isinstance(event_group, FullMajorGCEventGroup) else None
+        for event_group in major_gc_event_groups
+    ]
+    bar(
+        indices=indices,
+        pauses=full_pauses,
+        color='black',
+    )
+
+    plt.ylabel("Pause Time (ms)")
+    plt.xlabel("Collection")
 
 plt.show()
index ea416b7e3a33cb17ef5e3d875b9d249124ad3a4a..984f3a23993e04e53dde8237dd1fcc7b619e4eb1 100644 (file)
@@ -23,10 +23,11 @@ read_entry (FILE *in, void **data)
                return SGEN_PROTOCOL_EOF;
        switch (TYPE (type)) {
        case SGEN_PROTOCOL_COLLECTION_FORCE: size = sizeof (SGenProtocolCollectionForce); break;
-       case SGEN_PROTOCOL_COLLECTION_BEGIN: size = sizeof (SGenProtocolCollection); break;
-       case SGEN_PROTOCOL_COLLECTION_END: size = sizeof (SGenProtocolCollection); break;
+       case SGEN_PROTOCOL_COLLECTION_BEGIN: size = sizeof (SGenProtocolCollectionBegin); break;
+       case SGEN_PROTOCOL_COLLECTION_END: size = sizeof (SGenProtocolCollectionEnd); break;
        case SGEN_PROTOCOL_CONCURRENT_START: size = 0; break;
-       case SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH: size = 0; break;
+       case SGEN_PROTOCOL_CONCURRENT_UPDATE: size = 0; break;
+       case SGEN_PROTOCOL_CONCURRENT_FINISH: size = 0; break;
        case SGEN_PROTOCOL_WORLD_STOPPING: size = sizeof (SGenProtocolWorldStopping); break;
        case SGEN_PROTOCOL_WORLD_STOPPED: size = sizeof (SGenProtocolWorldStopped); break;
        case SGEN_PROTOCOL_WORLD_RESTARTING: size = sizeof (SGenProtocolWorldRestarting); break;
@@ -35,10 +36,12 @@ read_entry (FILE *in, void **data)
        case SGEN_PROTOCOL_ALLOC_PINNED: size = sizeof (SGenProtocolAlloc); break;
        case SGEN_PROTOCOL_ALLOC_DEGRADED: size = sizeof (SGenProtocolAlloc); break;
        case SGEN_PROTOCOL_COPY: size = sizeof (SGenProtocolCopy); break;
+       case SGEN_PROTOCOL_PIN_STAGE: size = sizeof (SGenProtocolPinStage); break;
        case SGEN_PROTOCOL_PIN: size = sizeof (SGenProtocolPin); break;
        case SGEN_PROTOCOL_MARK: size = sizeof (SGenProtocolMark); break;
        case SGEN_PROTOCOL_SCAN_BEGIN: size = sizeof (SGenProtocolScanBegin); break;
        case SGEN_PROTOCOL_SCAN_VTYPE_BEGIN: size = sizeof (SGenProtocolScanVTypeBegin); break;
+       case SGEN_PROTOCOL_SCAN_PROCESS_REFERENCE: size = sizeof (SGenProtocolScanProcessReference); break;
        case SGEN_PROTOCOL_WBARRIER: size = sizeof (SGenProtocolWBarrier); break;
        case SGEN_PROTOCOL_GLOBAL_REMSET: size = sizeof (SGenProtocolGlobalRemset); break;
        case SGEN_PROTOCOL_PTR_UPDATE: size = sizeof (SGenProtocolPtrUpdate); break;
@@ -81,7 +84,8 @@ is_always_match (int type)
        case SGEN_PROTOCOL_COLLECTION_BEGIN:
        case SGEN_PROTOCOL_COLLECTION_END:
        case SGEN_PROTOCOL_CONCURRENT_START:
-       case SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH:
+       case SGEN_PROTOCOL_CONCURRENT_UPDATE:
+       case SGEN_PROTOCOL_CONCURRENT_FINISH:
        case SGEN_PROTOCOL_WORLD_STOPPING:
        case SGEN_PROTOCOL_WORLD_STOPPED:
        case SGEN_PROTOCOL_WORLD_RESTARTING:
@@ -93,8 +97,6 @@ is_always_match (int type)
        case SGEN_PROTOCOL_CEMENT_RESET:
        case SGEN_PROTOCOL_DOMAIN_UNLOAD_BEGIN:
        case SGEN_PROTOCOL_DOMAIN_UNLOAD_END:
-       case SGEN_PROTOCOL_GRAY_ENQUEUE:
-       case SGEN_PROTOCOL_GRAY_DEQUEUE:
                return TRUE;
        default:
                return FALSE;
@@ -116,21 +118,27 @@ print_entry (int type, void *data)
                break;
        }
        case SGEN_PROTOCOL_COLLECTION_BEGIN: {
-               SGenProtocolCollection *entry = data;
+               SGenProtocolCollectionBegin *entry = data;
                printf ("collection begin %d generation %d\n", entry->index, entry->generation);
                break;
        }
        case SGEN_PROTOCOL_COLLECTION_END: {
-               SGenProtocolCollection *entry = data;
-               printf ("collection end %d generation %d\n", entry->index, entry->generation);
+               SGenProtocolCollectionEnd *entry = data;
+               long long scanned = entry->num_scanned_objects;
+               long long unique = entry->num_unique_scanned_objects;
+               printf ("collection end %d generation %d scanned %lld unique %lld %0.2f%%\n", entry->index, entry->generation, scanned, unique, unique ? 100.0 * (double) scanned / (double) unique : 0.0);
                break;
        }
        case SGEN_PROTOCOL_CONCURRENT_START: {
                printf ("concurrent start\n");
                break;
        }
-       case SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH: {
-               printf ("concurrent update or finish\n");
+       case SGEN_PROTOCOL_CONCURRENT_UPDATE: {
+               printf ("concurrent update\n");
+               break;
+       }
+       case SGEN_PROTOCOL_CONCURRENT_FINISH: {
+               printf ("concurrent finish\n");
                break;
        }
        case SGEN_PROTOCOL_WORLD_STOPPING: {
@@ -177,6 +185,11 @@ print_entry (int type, void *data)
                printf ("copy from %p to %p vtable %p size %d\n", entry->from, entry->to, entry->vtable, entry->size);
                break;
        }
+       case SGEN_PROTOCOL_PIN_STAGE: {
+               SGenProtocolPinStage *entry = data;
+               printf ("pin stage addr ptr %p addr %p\n", entry->addr_ptr, entry->addr);
+               break;
+       }
        case SGEN_PROTOCOL_PIN: {
                SGenProtocolPin *entry = data;
                printf ("pin obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size);
@@ -197,6 +210,11 @@ print_entry (int type, void *data)
                printf ("scan_vtype_begin obj %p size %d\n", entry->obj, entry->size);
                break;
        }
+       case SGEN_PROTOCOL_SCAN_PROCESS_REFERENCE: {
+               SGenProtocolScanProcessReference *entry = data;
+               printf ("scan_process_reference obj %p ptr %p value %p\n", entry->obj, entry->ptr, entry->value);
+               break;
+       }
        case SGEN_PROTOCOL_WBARRIER: {
                SGenProtocolWBarrier *entry = data;
                printf ("wbarrier ptr %p value %p value_vtable %p\n", entry->ptr, entry->value, entry->value_vtable);
@@ -331,6 +349,10 @@ is_match (gpointer ptr, int type, void *data)
                SGenProtocolCopy *entry = data;
                return matches_interval (ptr, entry->from, entry->size) || matches_interval (ptr, entry->to, entry->size);
        }
+       case SGEN_PROTOCOL_PIN_STAGE: {
+               SGenProtocolPinStage *entry = data;
+               return ptr == entry->addr_ptr || ptr == entry->addr;
+       }
        case SGEN_PROTOCOL_PIN: {
                SGenProtocolPin *entry = data;
                return matches_interval (ptr, entry->obj, entry->size);
@@ -347,6 +369,10 @@ is_match (gpointer ptr, int type, void *data)
                SGenProtocolScanVTypeBegin *entry = data;
                return matches_interval (ptr, entry->obj, entry->size);
        }
+       case SGEN_PROTOCOL_SCAN_PROCESS_REFERENCE: {
+               SGenProtocolScanProcessReference *entry = data;
+               return ptr == entry->obj || ptr == entry->ptr || ptr == entry->value;
+       }
        case SGEN_PROTOCOL_WBARRIER: {
                SGenProtocolWBarrier *entry = data;
                return ptr == entry->ptr || ptr == entry->value;
@@ -474,6 +500,7 @@ main (int argc, char *argv[])
        gboolean pause_times = FALSE;
        gboolean pause_times_stopped = FALSE;
        gboolean pause_times_concurrent = FALSE;
+       gboolean pause_times_finish = FALSE;
        long long pause_times_ts = 0;
 
        for (i = 0; i < num_args; ++i) {
@@ -503,20 +530,24 @@ main (int argc, char *argv[])
                                SGenProtocolWorldStopping *entry = data;
                                assert (!pause_times_stopped);
                                pause_times_concurrent = FALSE;
+                               pause_times_finish = FALSE;
                                pause_times_ts = entry->timestamp;
                                pause_times_stopped = TRUE;
                                break;
                        }
+                       case SGEN_PROTOCOL_CONCURRENT_FINISH:
+                               pause_times_finish = TRUE;
                        case SGEN_PROTOCOL_CONCURRENT_START:
-                       case SGEN_PROTOCOL_CONCURRENT_UPDATE_FINISH:
+                       case SGEN_PROTOCOL_CONCURRENT_UPDATE:
                                pause_times_concurrent = TRUE;
                                break;
                        case SGEN_PROTOCOL_WORLD_RESTARTED: {
                                SGenProtocolWorldRestarted *entry = data;
                                assert (pause_times_stopped);
-                               printf ("pause-time %d %d %lld %lld\n",
+                               printf ("pause-time %d %d %d %lld %lld\n",
                                                entry->generation,
                                                pause_times_concurrent,
+                                               pause_times_finish,
                                                entry->timestamp - pause_times_ts,
                                                pause_times_ts);
                                pause_times_stopped = FALSE;
index b6d74e1cb41832b4768000939b1050afb14e7b50..21cc0d506d76c94167459d5f961d950b1ab269a8 100644 (file)
@@ -1,6 +1,10 @@
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+#ifndef _MSC_VER
+#include "cygconfig.h"
+#else
+
 /* The architecture this is running on */
 #if defined(_M_IA64)
 #define ARCHITECTURE "ia64"
 /* #undef USE_MONO_MUTEX */
 
 /* Version number of package */
-#define VERSION "2.11"
+#define VERSION "3.12.1"
+#endif