Merge pull request #767 from ovatsus/Bug14922
authorAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Fri, 18 Oct 2013 07:48:26 +0000 (00:48 -0700)
committerAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Fri, 18 Oct 2013 07:48:26 +0000 (00:48 -0700)
Fix for #14922

363 files changed:
README
external/cecil
external/ikvm
mcs/class/Facades/Makefile
mcs/class/Facades/System.Collections.Concurrent/AssemblyInfo.cs
mcs/class/Facades/System.Collections.Concurrent/Makefile
mcs/class/Facades/System.Collections.Concurrent/System.Collections.Concurrent.dll.sources
mcs/class/Facades/System.Collections.Concurrent/TypeForwarders.cs
mcs/class/Facades/System.Collections/AssemblyInfo.cs
mcs/class/Facades/System.Collections/Makefile
mcs/class/Facades/System.Collections/System.Collections.dll.sources
mcs/class/Facades/System.Collections/TypeForwarders.cs
mcs/class/Facades/System.ComponentModel.Annotations/AssemblyInfo.cs
mcs/class/Facades/System.ComponentModel.Annotations/Makefile
mcs/class/Facades/System.ComponentModel.Annotations/System.ComponentModel.Annotations.dll.sources
mcs/class/Facades/System.ComponentModel.Annotations/TypeForwarders.cs
mcs/class/Facades/System.ComponentModel.EventBasedAsync/AssemblyInfo.cs
mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile
mcs/class/Facades/System.ComponentModel.EventBasedAsync/System.ComponentModel.EventBasedAsync.dll.sources
mcs/class/Facades/System.ComponentModel.EventBasedAsync/TypeForwarders.cs
mcs/class/Facades/System.ComponentModel/AssemblyInfo.cs
mcs/class/Facades/System.ComponentModel/Makefile
mcs/class/Facades/System.ComponentModel/System.ComponentModel.dll.sources
mcs/class/Facades/System.ComponentModel/TypeForwarders.cs
mcs/class/Facades/System.Diagnostics.Contracts/AssemblyInfo.cs
mcs/class/Facades/System.Diagnostics.Contracts/Makefile
mcs/class/Facades/System.Diagnostics.Contracts/System.Diagnostics.Contracts.dll.sources
mcs/class/Facades/System.Diagnostics.Contracts/TypeForwarders.cs
mcs/class/Facades/System.Diagnostics.Debug/AssemblyInfo.cs
mcs/class/Facades/System.Diagnostics.Debug/Makefile
mcs/class/Facades/System.Diagnostics.Debug/System.Diagnostics.Debug.dll.sources
mcs/class/Facades/System.Diagnostics.Debug/TypeForwarders.cs
mcs/class/Facades/System.Diagnostics.Tools/AssemblyInfo.cs
mcs/class/Facades/System.Diagnostics.Tools/Makefile
mcs/class/Facades/System.Diagnostics.Tools/System.Diagnostics.Tools.dll.sources
mcs/class/Facades/System.Diagnostics.Tools/TypeForwarders.cs
mcs/class/Facades/System.Dynamic.Runtime/AssemblyInfo.cs
mcs/class/Facades/System.Dynamic.Runtime/Makefile
mcs/class/Facades/System.Dynamic.Runtime/System.Dynamic.Runtime.dll.sources
mcs/class/Facades/System.Dynamic.Runtime/TypeForwarders.cs
mcs/class/Facades/System.Globalization/AssemblyInfo.cs
mcs/class/Facades/System.Globalization/Makefile
mcs/class/Facades/System.Globalization/System.Globalization.dll.sources
mcs/class/Facades/System.Globalization/TypeForwarders.cs
mcs/class/Facades/System.IO/AssemblyInfo.cs
mcs/class/Facades/System.IO/Makefile
mcs/class/Facades/System.IO/System.IO.dll.sources
mcs/class/Facades/System.IO/TypeForwarders.cs
mcs/class/Facades/System.Linq.Expressions/AssemblyInfo.cs
mcs/class/Facades/System.Linq.Expressions/Makefile
mcs/class/Facades/System.Linq.Expressions/System.Linq.Expressions.dll.sources
mcs/class/Facades/System.Linq.Expressions/TypeForwarders.cs
mcs/class/Facades/System.Linq.Parallel/AssemblyInfo.cs
mcs/class/Facades/System.Linq.Parallel/Makefile
mcs/class/Facades/System.Linq.Parallel/System.Linq.Parallel.dll.sources
mcs/class/Facades/System.Linq.Parallel/TypeForwarders.cs
mcs/class/Facades/System.Linq.Queryable/AssemblyInfo.cs
mcs/class/Facades/System.Linq.Queryable/Makefile
mcs/class/Facades/System.Linq.Queryable/System.Linq.Queryable.dll.sources
mcs/class/Facades/System.Linq.Queryable/TypeForwarders.cs
mcs/class/Facades/System.Linq/AssemblyInfo.cs
mcs/class/Facades/System.Linq/Makefile
mcs/class/Facades/System.Linq/System.Linq.dll.sources
mcs/class/Facades/System.Linq/TypeForwarders.cs
mcs/class/Facades/System.Net.NetworkInformation/AssemblyInfo.cs
mcs/class/Facades/System.Net.NetworkInformation/Makefile
mcs/class/Facades/System.Net.NetworkInformation/System.Net.NetworkInformation.dll.sources
mcs/class/Facades/System.Net.NetworkInformation/TypeForwarders.cs
mcs/class/Facades/System.Net.Primitives/AssemblyInfo.cs
mcs/class/Facades/System.Net.Primitives/Makefile
mcs/class/Facades/System.Net.Primitives/System.Net.Primitives.dll.sources
mcs/class/Facades/System.Net.Primitives/TypeForwarders.cs
mcs/class/Facades/System.Net.Requests/AssemblyInfo.cs
mcs/class/Facades/System.Net.Requests/Makefile
mcs/class/Facades/System.Net.Requests/System.Net.Requests.dll.sources
mcs/class/Facades/System.Net.Requests/TypeForwarders.cs
mcs/class/Facades/System.ObjectModel/AssemblyInfo.cs
mcs/class/Facades/System.ObjectModel/Makefile
mcs/class/Facades/System.ObjectModel/System.ObjectModel.dll.sources
mcs/class/Facades/System.ObjectModel/TypeForwarders.cs
mcs/class/Facades/System.Reflection.Emit.ILGeneration/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.ILGeneration/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.ILGeneration/TypeForwarders.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/TypeForwarders.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/Makefile [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit.dll.sources [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/TypeForwarders.cs [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Extensions/AssemblyInfo.cs
mcs/class/Facades/System.Reflection.Extensions/Makefile
mcs/class/Facades/System.Reflection.Extensions/System.Reflection.Extensions.dll.sources
mcs/class/Facades/System.Reflection.Extensions/TypeForwarders.cs
mcs/class/Facades/System.Reflection.Primitives/AssemblyInfo.cs
mcs/class/Facades/System.Reflection.Primitives/Makefile
mcs/class/Facades/System.Reflection.Primitives/System.Reflection.Primitives.dll.sources
mcs/class/Facades/System.Reflection.Primitives/TypeForwarders.cs
mcs/class/Facades/System.Reflection/AssemblyInfo.cs
mcs/class/Facades/System.Reflection/Makefile
mcs/class/Facades/System.Reflection/System.Reflection.dll.sources
mcs/class/Facades/System.Reflection/TypeForwarders.cs
mcs/class/Facades/System.Resources.ResourceManager/AssemblyInfo.cs
mcs/class/Facades/System.Resources.ResourceManager/Makefile
mcs/class/Facades/System.Resources.ResourceManager/System.Resources.ResourceManager.dll.sources
mcs/class/Facades/System.Resources.ResourceManager/TypeForwarders.cs
mcs/class/Facades/System.Runtime.Extensions/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.Extensions/Makefile
mcs/class/Facades/System.Runtime.Extensions/System.Runtime.Extensions.dll.sources
mcs/class/Facades/System.Runtime.Extensions/TypeForwarders.cs
mcs/class/Facades/System.Runtime.InteropServices/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.InteropServices/Makefile
mcs/class/Facades/System.Runtime.InteropServices/System.Runtime.InteropServices.dll.sources
mcs/class/Facades/System.Runtime.InteropServices/TypeForwarders.cs
mcs/class/Facades/System.Runtime.Numerics/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.Numerics/Makefile
mcs/class/Facades/System.Runtime.Numerics/System.Runtime.Numerics.dll.sources
mcs/class/Facades/System.Runtime.Numerics/TypeForwarders.cs
mcs/class/Facades/System.Runtime.Serialization.Json/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.Serialization.Json/Makefile
mcs/class/Facades/System.Runtime.Serialization.Json/System.Runtime.Serialization.Json.dll.sources
mcs/class/Facades/System.Runtime.Serialization.Json/TypeForwarders.cs
mcs/class/Facades/System.Runtime.Serialization.Primitives/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile
mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives.dll.sources
mcs/class/Facades/System.Runtime.Serialization.Primitives/TypeForwarders.cs
mcs/class/Facades/System.Runtime.Serialization.Xml/AssemblyInfo.cs
mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml.dll.sources
mcs/class/Facades/System.Runtime.Serialization.Xml/TypeForwarders.cs
mcs/class/Facades/System.Runtime/AssemblyInfo.cs
mcs/class/Facades/System.Runtime/Makefile
mcs/class/Facades/System.Runtime/System.Runtime.dll.sources
mcs/class/Facades/System.Runtime/TypeForwarders.cs
mcs/class/Facades/System.Security.Principal/AssemblyInfo.cs
mcs/class/Facades/System.Security.Principal/Makefile
mcs/class/Facades/System.Security.Principal/System.Security.Principal.dll.sources
mcs/class/Facades/System.Security.Principal/TypeForwarders.cs
mcs/class/Facades/System.ServiceModel.Http/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Http/Makefile
mcs/class/Facades/System.ServiceModel.Http/System.ServiceModel.Http.dll.sources
mcs/class/Facades/System.ServiceModel.Http/TypeForwarders.cs
mcs/class/Facades/System.ServiceModel.Primitives/AssemblyInfo.cs
mcs/class/Facades/System.ServiceModel.Primitives/Makefile
mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives.dll.sources
mcs/class/Facades/System.ServiceModel.Primitives/TypeForwarders.cs
mcs/class/Facades/System.Text.Encoding.Extensions/AssemblyInfo.cs
mcs/class/Facades/System.Text.Encoding.Extensions/Makefile
mcs/class/Facades/System.Text.Encoding.Extensions/System.Text.Encoding.Extensions.dll.sources
mcs/class/Facades/System.Text.Encoding.Extensions/TypeForwarders.cs
mcs/class/Facades/System.Text.Encoding/AssemblyInfo.cs
mcs/class/Facades/System.Text.Encoding/Makefile
mcs/class/Facades/System.Text.Encoding/System.Text.Encoding.dll.sources
mcs/class/Facades/System.Text.Encoding/TypeForwarders.cs
mcs/class/Facades/System.Text.RegularExpressions/AssemblyInfo.cs
mcs/class/Facades/System.Text.RegularExpressions/Makefile
mcs/class/Facades/System.Text.RegularExpressions/System.Text.RegularExpressions.dll.sources
mcs/class/Facades/System.Text.RegularExpressions/TypeForwarders.cs
mcs/class/Facades/System.Threading.Tasks.Parallel/AssemblyInfo.cs
mcs/class/Facades/System.Threading.Tasks.Parallel/Makefile
mcs/class/Facades/System.Threading.Tasks.Parallel/System.Threading.Tasks.Parallel.dll.sources
mcs/class/Facades/System.Threading.Tasks.Parallel/TypeForwarders.cs
mcs/class/Facades/System.Threading.Tasks/AssemblyInfo.cs
mcs/class/Facades/System.Threading.Tasks/Makefile
mcs/class/Facades/System.Threading.Tasks/System.Threading.Tasks.dll.sources
mcs/class/Facades/System.Threading.Tasks/TypeForwarders.cs
mcs/class/Facades/System.Threading/AssemblyInfo.cs
mcs/class/Facades/System.Threading/Makefile
mcs/class/Facades/System.Threading/System.Threading.dll.sources
mcs/class/Facades/System.Threading/TypeForwarders.cs
mcs/class/Facades/System.Xml.ReaderWriter/AssemblyInfo.cs
mcs/class/Facades/System.Xml.ReaderWriter/Makefile
mcs/class/Facades/System.Xml.ReaderWriter/System.Xml.ReaderWriter.dll.sources
mcs/class/Facades/System.Xml.ReaderWriter/TypeForwarders.cs
mcs/class/Facades/System.Xml.XDocument/AssemblyInfo.cs
mcs/class/Facades/System.Xml.XDocument/Makefile
mcs/class/Facades/System.Xml.XDocument/System.Xml.XDocument.dll.sources
mcs/class/Facades/System.Xml.XDocument/TypeForwarders.cs
mcs/class/Facades/System.Xml.XmlSerializer/AssemblyInfo.cs
mcs/class/Facades/System.Xml.XmlSerializer/Makefile
mcs/class/Facades/System.Xml.XmlSerializer/System.Xml.XmlSerializer.dll.sources
mcs/class/Facades/System.Xml.XmlSerializer/TypeForwarders.cs
mcs/class/I18N/CJK/ISO2022JP.cs
mcs/class/I18N/CJK/Test/I18N.CJK.Test.cs
mcs/class/Makefile
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework.dll.sources
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildEventArgs.cs
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildFinishedEventArgs.cs
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildStartedEventArgs.cs
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildStatusEventArgs.cs
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/LazyFormattedBuildEventArgs.cs [new file with mode: 0644]
mcs/class/Microsoft.Build.Utilities/Makefile
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities.Test.csproj
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities_test.dll.sources
mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/ToolTaskTest.cs [new file with mode: 0644]
mcs/class/Microsoft.Build/Makefile
mcs/class/Microsoft.Build/Microsoft.Build.Logging/ConsoleLogger.cs
mcs/class/Microsoft.Build/Microsoft.Build.Logging/FileLogger.cs
mcs/class/Microsoft.Build/Microsoft.Build_test.dll.sources
mcs/class/Microsoft.Build/Test/Microsoft.Build.Logging/ConsoleLoggerTest.cs [new file with mode: 0644]
mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs
mcs/class/Mono.Debugger.Soft/Test/dtest.cs
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/CreditCardAttribute.cs
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations/EmailAddressAttribute.cs
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/CreditCardAttributeTest.cs
mcs/class/System.ComponentModel.DataAnnotations/Test/System.ComponentModel.DataAnnotations/EmailAddressAttributeTest.cs
mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciCalls.cs
mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciStatementHandle.cs
mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleCommand.cs
mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleParameter.cs
mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs
mcs/class/System.ServiceModel.Web/System.Runtime.Serialization.Json/JsonSerializationReader.cs
mcs/class/System.ServiceModel.Web/Test/System.Runtime.Serialization.Json/DataContractJsonSerializerTest.cs
mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/Makefile
mcs/class/System.XML/Test/System.Xml.Xsl/standalone_tests/xslttest.cs
mcs/class/System.Xml.Linq/System.Xml.Linq/XContainer.cs
mcs/class/System.Xml.Linq/System.Xml.Linq/XElement.cs
mcs/class/System.Xml.Linq/System.Xml.Linq/XName.cs
mcs/class/System.Xml.Linq/System.Xml.Linq/XObject.cs
mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs
mcs/class/System/System.CodeDom.Compiler/TempFileCollection.cs
mcs/class/System/System.IO.Compression/CompressionLevel.cs
mcs/class/System/System.Net.NetworkInformation/NetworkChange.cs
mcs/class/System/System.Net/HttpWebResponse.cs
mcs/class/System/System.Net/MacProxy.cs
mcs/class/System/Test/Microsoft.CSharp/CSharpCodeProviderTest.cs
mcs/class/corlib/System.Collections/CollectionBase.cs
mcs/class/corlib/System.IO/Path.cs
mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs
mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs
mcs/class/corlib/System.Text/UTF8Encoding.cs
mcs/class/corlib/System.Threading.Tasks/Task.cs
mcs/class/corlib/System.Threading.Tasks/TaskContinuation.cs
mcs/class/corlib/System.Threading.Tasks/TpScheduler.cs
mcs/class/corlib/System.Threading/ThreadPool.cs
mcs/class/corlib/System.Threading/Timer.cs
mcs/class/corlib/System/Convert.cs
mcs/class/corlib/System/Enum.cs
mcs/class/corlib/System/MulticastDelegate.cs
mcs/class/corlib/Test/System.Security.Principal/WindowsIdentityTest.cs
mcs/class/corlib/Test/System.Text/UTF8EncodingTest.cs
mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs
mcs/class/corlib/Test/System.Threading/ThreadPoolTest.cs
mcs/class/corlib/Test/System.Threading/TimerTest.cs
mcs/class/corlib/Test/System/EnumTest.cs
mcs/class/corlib/Test/System/IntegerFormatterTest.cs
mcs/class/monodoc/Monodoc/providers/EcmaDoc.cs
mcs/errors/cs0037-8.cs [deleted file]
mcs/errors/cs0165-21.cs [new file with mode: 0644]
mcs/errors/cs0429-3.cs [new file with mode: 0644]
mcs/errors/cs0458-17.cs [new file with mode: 0644]
mcs/errors/cs1648-2.cs [new file with mode: 0644]
mcs/errors/cs1648-3.cs [new file with mode: 0644]
mcs/errors/cs1650-2.cs [new file with mode: 0644]
mcs/errors/cs1739-4.cs [new file with mode: 0644]
mcs/errors/known-issues-net_4_5
mcs/mcs/anonymous.cs
mcs/mcs/assembly.cs
mcs/mcs/assign.cs
mcs/mcs/async.cs
mcs/mcs/attribute.cs
mcs/mcs/cfold.cs
mcs/mcs/class.cs
mcs/mcs/constant.cs
mcs/mcs/context.cs
mcs/mcs/cs-parser.jay
mcs/mcs/cs-tokenizer.cs
mcs/mcs/decl.cs
mcs/mcs/doc.cs
mcs/mcs/driver.cs
mcs/mcs/dynamic.cs
mcs/mcs/ecore.cs
mcs/mcs/enum.cs
mcs/mcs/eval.cs
mcs/mcs/expression.cs
mcs/mcs/field.cs
mcs/mcs/flowanalysis.cs
mcs/mcs/generic.cs
mcs/mcs/ikvm.cs
mcs/mcs/import.cs
mcs/mcs/membercache.cs
mcs/mcs/method.cs
mcs/mcs/modifiers.cs
mcs/mcs/module.cs
mcs/mcs/namespace.cs
mcs/mcs/nullable.cs
mcs/mcs/parameter.cs
mcs/mcs/property.cs
mcs/mcs/report.cs
mcs/mcs/settings.cs
mcs/mcs/statement.cs
mcs/mcs/typespec.cs
mcs/tests/dtest-error-02.cs
mcs/tests/gtest-540.cs
mcs/tests/gtest-579.cs
mcs/tests/gtest-597.cs [new file with mode: 0644]
mcs/tests/gtest-iter-30.cs [new file with mode: 0644]
mcs/tests/gtest-iter-31.cs [new file with mode: 0644]
mcs/tests/test-870.cs [new file with mode: 0644]
mcs/tests/test-871.cs [new file with mode: 0644]
mcs/tests/test-async-52.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_5.xml
mcs/tools/corcompare/corcompare.sln
mcs/tools/corcompare/mono-api-html/ApiDiff.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/AssemblyComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/ClassComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/Comparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/ConstructorComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/EventComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/FieldComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/Helpers.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/InterfaceComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/MemberComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/MethodComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/NamespaceComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/PropertyComparer.cs [new file with mode: 0644]
mcs/tools/corcompare/mono-api-html/mono-api-html.csproj [new file with mode: 0644]
mcs/tools/corcompare/mono-api-info.csproj
mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs
mcs/tools/mdbrebase/mdbrebase.cs
mcs/tools/mdoc/Mono.Documentation/monodocer.cs
mcs/tools/mdoc/Test/DocTest-v1.cs
mcs/tools/mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml
mcs/tools/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml
mcs/tools/mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml
mcs/tools/mdoc/Test/en.expected/Mono.DocTest/Widget.xml
mcs/tools/mdoc/Test/html.expected/Mono.DocTest/Widget.html
mcs/tools/mdoc/Test/msxdoc-expected.importslashdoc.xml
mcs/tools/mkbundle/template_z.c
mcs/tools/security/sn.cs
mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs
mono/metadata/assembly.c
mono/metadata/cil-coff.h
mono/metadata/image.c
mono/metadata/locales.c
mono/metadata/metadata-internals.h
mono/metadata/mono-hash.h
mono/metadata/sgen-bridge.c
mono/metadata/sgen-gc.c
mono/metadata/sgen-gc.h
mono/metadata/sgen-marksweep.c
mono/metadata/sgen-os-posix.c
mono/metadata/sgen-os-win32.c
mono/metadata/sgen-stw.c
mono/mini/debugger-agent.c
mono/mini/driver.c
mono/mini/dwarfwriter.c
mono/mini/exceptions-amd64.c
mono/mini/exceptions-x86.c
mono/mini/mini-trampolines.c
mono/mini/mini.c
mono/mini/mini.h
mono/mini/regalloc2.c
mono/mini/xdebug.c
mono/tests/Makefile.am
mono/tests/marshal.cs
mono/tests/sgen-bridge-xref.cs [new file with mode: 0644]
mono/utils/atomic.h
support/Makefile.am
support/mac-reachability.c [deleted file]

diff --git a/README b/README
index 43efac46d798daeee10c25556a10d1be2e74a077..7af5440340a7468194758dc44db3558b5117efe4 100644 (file)
--- a/README
+++ b/README
@@ -4,6 +4,7 @@ This is Mono.
        2. Using Mono
        3. Directory Roadmap
        4. git submodules maintenance
+       5. Reporting bugs
 
 1. Compilation and Installation
 ===============================
@@ -590,3 +591,17 @@ This is Mono.
 =============================
 
 Read documentation at http://mono-project.com/Git_Submodule_Maintenance
+
+
+5. 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 54e0a50464edbc254b39ea3c885ee91ada730705..89cfb1d4079002394010fd351628ad057c94422f 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 54e0a50464edbc254b39ea3c885ee91ada730705
+Subproject commit 89cfb1d4079002394010fd351628ad057c94422f
index b21af5015e658c102be86d25ccb02a2f6a895fb5..c02349ea22f33a8658170b89796bd70ba81563b2 160000 (submodule)
@@ -1 +1 @@
-Subproject commit b21af5015e658c102be86d25ccb02a2f6a895fb5
+Subproject commit c02349ea22f33a8658170b89796bd70ba81563b2
index 6d18c6c58a3cc2dccd5a2b68f4e1d1973d13d5b4..c1a09f59f57d0992922644eb7675307bd25c1445 100644 (file)
@@ -1,23 +1,15 @@
+MCS_BUILD_DIR = ../../build
+
 thisdir = class/Facades
 
-net_4_5_SUBDIRS = System.Runtime System.Linq System.Xml.XmlSerializer \
-       System.ServiceModel.Primitives System.Xml.ReaderWriter System.Diagnostics.Debug \
-       System.Runtime.Extensions System.Diagnostics.Tools System.Collections \
-       System.ComponentModel.EventBasedAsync System.ComponentModel System.ObjectModel \
-       System.Text.RegularExpressions System.Threading System.Runtime.InteropServices \
-       System.Reflection System.Globalization System.IO System.Reflection.Primitives \
-       System.Resources.ResourceManager System.Security.Principal System.Text.Encoding \
-       System.Text.Encoding.Extensions System.Linq.Queryable System.Linq.Expressions \
-       System.Net.Primitives System.Net.Requests System.Net.NetworkInformation \
-       System.Runtime.Serialization.Primitives System.Runtime.Serialization.Xml \
-       System.Runtime.Serialization.Json System.ServiceModel.Http \
-       System.Xml.XDocument System.Threading.Tasks System.Diagnostics.Contracts \
-       System.Dynamic.Runtime System.ComponentModel.Annotations System.Runtime.Numerics \
-       System.Linq.Parallel System.Collections.Concurrent System.Threading.Tasks.Parallel \
-       System.Reflection.Extensions
-
-SUBDIRS = $(net_4_5_SUBDIRS)
-
-include ../../build/rules.make
+monotouch_SUBDIRS = System.Collections.Concurrent System.Collections System.ComponentModel.Annotations System.ComponentModel.EventBasedAsync System.ComponentModel System.Diagnostics.Contracts System.Diagnostics.Debug System.Diagnostics.Tools System.Globalization System.IO System.Linq.Expressions System.Linq.Parallel System.Linq.Queryable System.Linq System.Net.NetworkInformation System.Net.Primitives System.Net.Requests System.ObjectModel System.Reflection.Extensions System.Reflection.Primitives System.Reflection System.Resources.ResourceManager System.Runtime.Extensions System.Runtime.InteropServices System.Runtime.Numerics System.Runtime.Serialization.Json System.Runtime.Serialization.Primitives System.Runtime.Serialization.Xml System.Runtime System.Security.Principal System.ServiceModel.Http System.ServiceModel.Primitives System.Text.Encoding.Extensions System.Text.Encoding System.Text.RegularExpressions System.Threading.Tasks.Parallel System.Threading.Tasks System.Threading System.Xml.ReaderWriter System.Xml.XDocument System.Xml.XmlSerializer
+
+net_4_5_SUBDIRS = $(monotouch_SUBDIRS) System.Dynamic.Runtime System.Reflection.Emit.ILGeneration System.Reflection.Emit.Lightweight System.Reflection.Emit
+
+monodroid_SUBDIRS = $(net_4_5_SUBDIRS)
+
+include $(MCS_BUILD_DIR)/rules.make
 
 dist-local: dist-default
+
+
index 685be8042b00d3a0cd124dfe36b361ee966f16b6..b14058779a3979974b495d28df8da421532a644e 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Collections.Concurrent.dll")]
 [assembly: AssemblyDescription ("System.Collections.Concurrent.dll")]
 [assembly: AssemblyDefaultAlias ("System.Collections.Concurrent.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index bb8e26bca9e315c96156a2c65a301b3c1d5bfafa..d0e3fdf6086d18e28024f7e9cb378817a1829753 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Collections.Concurrent
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Collections.Concurrent.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 4103861ffa5ec43928d794d8ddbfa54d727dbc8c..662e4042950b98d6e46f85ebbca2b885517f81b8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.BlockingCollection<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.ConcurrentBag<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.ConcurrentDictionary<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.IProducerConsumerCollection<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.ConcurrentQueue<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.ConcurrentStack<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.Partitioner<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.EnumerablePartitionerOptions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.IProducerConsumerCollection<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.OrderablePartitioner<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.Partitioner))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.EnumerablePartitionerOptions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.Partitioner<>))]
 
index a96857e7f76bb6a1d4d7a28f4c86ae4fbe55c63a..e3f037ff8e8a96531cf2924b4351e213ea6af872 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Collections.dll")]
 [assembly: AssemblyDescription ("System.Collections.dll")]
 [assembly: AssemblyDefaultAlias ("System.Collections.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 58797f283e28aaa1baf033025abbbf4a66ecbd74..7169319ecf780a798155d88dc287ff3cd5bc884f 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Collections
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Collections.dll
-LIB_MCS_FLAGS = /r:System /r:System.Core
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 716fe5c71dc5d579d8c8ba57af2f5434749c31ea..9a2b8f18f67a6000f6da3f19910b131c32e7c63c 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.LinkedList<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.LinkedListNode<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Queue<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Stack<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.BitArray))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Comparer<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Dictionary<,>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.EqualityComparer<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.List<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.HashSet<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.LinkedList<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.LinkedListNode<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.List<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Queue<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.SortedDictionary<,>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.SortedSet<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.Stack<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.StructuralComparisons))]
 
index 8aa8cbcdc165e013010ac5d66c89ccf097830e1a..3ea660a30b05e23a78602e51ad45d6602851e6d4 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ComponentModel.Annotations.dll")]
 [assembly: AssemblyDescription ("System.ComponentModel.Annotations.dll")]
 [assembly: AssemblyDefaultAlias ("System.ComponentModel.Annotations.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 2d9f7b1b404d15e44174dca3f568358411f85194..c3bc1f9dc53763320e10b3dd41688d3316dc5097 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ComponentModel.Annotations
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ComponentModel.Annotations.dll
-LIB_MCS_FLAGS = /r:System.ComponentModel.DataAnnotations
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ComponentModel.DataAnnotations
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 0bc80b3456a2f385f4821d2b68b6a546ab8a738c..e7c1feff498541e03e31e38bfd783d2000018e0d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.AssociationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ConcurrencyCheckAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ValidationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.CustomValidationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.DataType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.DataTypeAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.RangeAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.RegularExpressionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.RequiredAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.StringLengthAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.TimestampAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.UIHintAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ValidationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ValidationContext))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ValidationException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.ValidationResult))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.Validator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption))]
 
index 85cfdb9cc122aaefa43c4203b00d94fa55492b22..02d9d9307f400b9ad46f90956ece6e2788bb9363 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ComponentModel.EventBasedAsync.dll")]
 [assembly: AssemblyDescription ("System.ComponentModel.EventBasedAsync.dll")]
 [assembly: AssemblyDefaultAlias ("System.ComponentModel.EventBasedAsync.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 479bd2000a4876f62b808da4717c0374d2d52e8e..acd577cbc3bbe03739dafa61e5d47b0797967bef 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ComponentModel.EventBasedAsync
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ComponentModel.EventBasedAsync.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index df5c85a6daca823368e5fef3e778f17655fcda3f..eeef8ec2c5def0d0beb792ab480ffa1998ccd9d2 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.AsyncCompletedEventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.AsyncCompletedEventHandler))]
index 828b771a27568b9b67799a086279c523c9ca170f..944626f1d5dde8dce0039db6a9244b52de1bc19d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ComponentModel.dll")]
 [assembly: AssemblyDescription ("System.ComponentModel.dll")]
 [assembly: AssemblyDefaultAlias ("System.ComponentModel.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 680660269dd9107aa973fdaf79f601772eeac7cc..715e92db80736163df12db8a3e7ded8d5e7178fc 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ComponentModel
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ComponentModel.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 238ceac40d9f029bef1f421f909e34f8adb1d362..24e97c6fe76cd73ef040ce018af3d0e65c27e980 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CancelEventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.IChangeTracking))]
index 2fc9947025957ab5711ee8d175505e7510821dca..55e9ec069d3c3825cc8012beb4b89c5308a7efb0 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Diagnostics.Contracts.dll")]
 [assembly: AssemblyDescription ("System.Diagnostics.Contracts.dll")]
 [assembly: AssemblyDefaultAlias ("System.Diagnostics.Contracts.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index a6ffb84934b733fd21199a638d6ea217726fbc0a..24336c082b12e9fff7a68fbf570da0fa7b353600 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Diagnostics.Contracts
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Diagnostics.Contracts.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index ac2cc3dc37569b7e9656e93f1f62633efe6214ff..961cfe8bfe668f0ca600d7e4d392862929920e32 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.Contract))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractAbbreviatorAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractArgumentValidatorAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractClassAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractClassForAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractFailedEventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractFailureKind))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractInvariantMethodAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractOptionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractVerificationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.PureAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractFailedEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractAbbreviatorAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractArgumentValidatorAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.ContractOptionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ContractHelper))]
 
index f1e987d020ad868ece9926f4d341584dbd05dda1..a7cbf21727b35a7c92446a5489227658fa9efb56 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Diagnostics.Debug.dll")]
 [assembly: AssemblyDescription ("System.Diagnostics.Debug.dll")]
 [assembly: AssemblyDefaultAlias ("System.Diagnostics.Debug.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 440c475fac5983802abb0c0c3b3b99f441d61fcf..024f0d65572742ff14cb36fdb1d116a1efa3f8fa 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Diagnostics.Debug
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Diagnostics.Debug.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index e829ac7eeb0d54dbef614a853ad9e57f21db757c..e9604390dfaa712c7851e31779ac5d0d293351f2 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Debug))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Debugger))]
index b6db9a1e6435a8fb3f8987aa9a53b05cb4972081..62b783c9378e2b772fd091693a279b9c564af830 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Diagnostics.Tools.dll")]
 [assembly: AssemblyDescription ("System.Diagnostics.Tools.dll")]
 [assembly: AssemblyDefaultAlias ("System.Diagnostics.Tools.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 24a69af8725fa8b134c47c9d78274b9ecf1c99ee..2a448a771196be27a513fe353780ad24076dfaee 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Diagnostics.Tools
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Diagnostics.Tools.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index a07fed0c3f5cb420a226cc9b6e5f2333d3676916..56ebfd6570a0347b0af3204d39c848d0250f3c9d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.CodeDom.Compiler.GeneratedCodeAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.CodeAnalysis.SuppressMessageAttribute))]
index 085333228a6cc45ce68cb246db87609b10702cbc..e64d545b785de25a5dd5f6e51a6f8330ca598c64 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Dynamic.Runtime.dll")]
 [assembly: AssemblyDescription ("System.Dynamic.Runtime.dll")]
 [assembly: AssemblyDefaultAlias ("System.Dynamic.Runtime.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index ed5c735fb4991d48f351c36a8a76e514f915f2ea..393bc9dcd507f7d5e9e329097ad0fd8188f7a10a 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Dynamic.Runtime
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Dynamic.Runtime.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 2a7a27c41b1a503175cd94303be7f292735f6198..b579d020c120a10cf55dc528c6bf55b36784a914 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConditionalWeakTable<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.BinaryOperationBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.BindingRestrictions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.CallInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.ConvertBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.CreateInstanceBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.DeleteIndexBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.DeleteMemberBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.DynamicMetaObject))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.DynamicMetaObjectBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.DynamicObject))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.ExpandoObject))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.GetIndexBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.GetMemberBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.IDynamicMetaObjectProvider))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.IInvokeOnGetBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.InvokeBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.InvokeMemberBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.SetIndexBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.SetMemberBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.UnaryOperationBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.DynamicExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallSite))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallSite<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallSiteBinder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallSiteHelpers))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.DynamicAttribute))]
 
index e924712186db454a9fde173a594141516b52f191..9db0473f4f1813015c3f189715ea46d4615e1f61 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Globalization.dll")]
 [assembly: AssemblyDescription ("System.Globalization.dll")]
 [assembly: AssemblyDefaultAlias ("System.Globalization.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 6a9fb37997bff86df6a2d6702716c11a7c67a51a..bb46d247e3697cc46b18520fc7afb4ffe2936b1d 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Globalization
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Globalization.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 9f279911f9483220248748dee2bcc957f37f9bf4..fd2bc99d8c1f582c1b2140c1d7fa50b87cd08b3f 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.Calendar))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CalendarWeekRule))]
@@ -30,6 +26,7 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CompareInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CompareOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CultureInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CultureNotFoundException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.DateTimeFormatInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.NumberFormatInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.RegionInfo))]
@@ -37,5 +34,4 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.TextElementEnumerator))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.TextInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.UnicodeCategory))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.CultureNotFoundException))]
 
index f87e3ce5ded5ab9cb2f0b45a3440f30eac698228..6b5b23d878ff19152ba757102d47b57b63764863 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.IO.dll")]
 [assembly: AssemblyDescription ("System.IO.dll")]
 [assembly: AssemblyDefaultAlias ("System.IO.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index a59d44828f97e693e0aa26ac3b3cb1b31f8e18ba..221291d4c52ea097031dd5ccb80e93c4fb0f44f2 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.IO
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.IO.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 1a3d86656f599143bcffe4210ac74cae11fa8490..ea526e77de476e7db02c11eedf2a25c82cc9d0fe 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.BinaryReader))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.BinaryWriter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.IOException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.EndOfStreamException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.FileNotFoundException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Stream))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.InvalidDataException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.IOException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.MemoryStream))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.SeekOrigin))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextReader))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Stream))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.StreamReader))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextWriter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.StreamWriter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.StringReader))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.StringWriter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.InvalidDataException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextReader))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.TextWriter))]
 
index 6f25c833312d19c00c64d4d1de03a3e555f3e115..de01cb447b621dc50a27d4785d15327ca771679a 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Linq.Expressions.dll")]
 [assembly: AssemblyDescription ("System.Linq.Expressions.dll")]
 [assembly: AssemblyDefaultAlias ("System.Linq.Expressions.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 1883c9107a9b5439723710fb3de14fcb6b024e71..60b5140e37bd2c03fd37656f441665a5e9bbb6ee 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Linq.Expressions
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Linq.Expressions.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 1f5818bde9bcb24d4348a8259aebb0d27954de57..ca35ff1a1b24a92862addaf84c86b25565818dc5 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IOrderedQueryable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IOrderedQueryable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryProvider))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.Expression))]
+#if !MONOTOUCH
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.BlockExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.CatchBlock))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.DebugInfoExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.DefaultExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.GotoExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.GotoExpressionKind))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IndexExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LabelExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LabelTarget))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LoopExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.RuntimeVariablesExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SwitchCase))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SwitchExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SymbolDocumentInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.TryExpression))]
+#endif
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.BinaryExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ConditionalExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ConstantExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ElementInit))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LambdaExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.Expression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.Expression<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ExpressionType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ExpressionVisitor))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.InvocationExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LambdaExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ListInitExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberBinding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberAssignment))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberBinding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberBindingType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.MemberInitExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.ParameterExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.TypeBinaryExpression))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.UnaryExpression))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IOrderedQueryable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IOrderedQueryable<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryable<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IQueryProvider))]
 
-#if !FULL_AOT_RUNTIME
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.BlockExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.CatchBlock))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.DebugInfoExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.DefaultExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.GotoExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.GotoExpressionKind))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.IndexExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LabelExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LabelTarget))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.LoopExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.RuntimeVariablesExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SwitchCase))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SwitchExpression))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.SymbolDocumentInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.TryExpression))]
-#endif
index 5824fc0e7c114e00a9f89917495c4ca9768d27e8..b3d86f59f9d5a86c64264cb6b50df0bb5c0727df 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Linq.Parallel.dll")]
 [assembly: AssemblyDescription ("System.Linq.Parallel.dll")]
 [assembly: AssemblyDefaultAlias ("System.Linq.Parallel.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index bf9069a77be19e8a50df7a6d0a45fb4da90c6b14..54a937f7ed1b4abe540baa502b9fbcacd2b4d1ea 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Linq.Parallel
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Linq.Parallel.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 8fab8b6f07fb625f3d44a8a40befd1277b7f945c..00445f24a38dce3bebb1345304d3d73e54b1e910 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelQuery))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelQuery<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.OrderedParallelQuery<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelEnumerable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelExecutionMode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelMergeOptions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelQuery))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.ParallelQuery<>))]
 
index 5c425d1487056f22ff38f6b75ad48818cdddad86..ec77afbfebb44594f48e273119e4561e3e8c6084 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Linq.Queryable.dll")]
 [assembly: AssemblyDescription ("System.Linq.Queryable.dll")]
 [assembly: AssemblyDefaultAlias ("System.Linq.Queryable.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 3bed035956b9905e06c535d0b371e310b234e78b..270601149d50b57e126b1fe1bf7e02c532b8c5a3 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Linq.Queryable
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Linq.Queryable.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 0d20080e20b49803d47845e99f1a4a89a6cc5859..a8f9ee444ee02307aaaf9487c39cb5a0c155e85d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.EnumerableExecutor))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.EnumerableExecutor<>))]
index 0c3c697408b35198796bc706962708e5a4158d22..e654d85a44b9de331356f73a62c1ddcfdaac9a02 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Linq.dll")]
 [assembly: AssemblyDescription ("System.Linq.dll")]
 [assembly: AssemblyDefaultAlias ("System.Linq.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index cca44b1499c691fdd6dd8be30937762b662f875b..b08a8a3798c28458495ed3b7962c9f6d5673c275 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Linq
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Linq.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index b5cd612a2b426903dd07383332927e2768b579e0..5ae7fa03f46c5aff7e3609cf76ea0ed55147e3e0 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Enumerable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.IGrouping<,>))]
index 62f55c568473553db0ad200ae3b48e30cf1a4484..4f5c9c1b6d021ee98a69a781a30ac1957dbf6ab3 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Net.NetworkInformation.dll")]
 [assembly: AssemblyDescription ("System.Net.NetworkInformation.dll")]
 [assembly: AssemblyDefaultAlias ("System.Net.NetworkInformation.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 6c24f13694847593beaecb62285d2aef4d28fc10..2168babf3905d842a6d1f35479821cd666527c1b 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Net.NetworkInformation
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Net.NetworkInformation.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 0cb15ff155de057b68ac38728ee67f27dddeb0fd..c16fa7fdaa4e632c971ede89d33d93e7d50828e0 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.NetworkAddressChangedEventHandler))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.NetworkChange))]
index 7baa4d661146535c2998f8a3ad63814436147a13..43418d0fb7860847b3860039d439d2a511671530 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Net.Primitives.dll")]
 [assembly: AssemblyDescription ("System.Net.Primitives.dll")]
 [assembly: AssemblyDefaultAlias ("System.Net.Primitives.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 6307ee11c0d0bad63bdbdea2cc839c16b32d4242..db960f49310d8d4db1f64ba1ef3db833a6156d79 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Net.Primitives
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Net.Primitives.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 9227c4614f4feb71469982d0429452efc1b46d9b..1d78a8dbaa5fada2690a08bbd1550bafc1ab84dd 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.AuthenticationSchemes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Cookie))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.CookieCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.CookieContainer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.CookieException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.CredentialCache))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.DecompressionMethods))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.HttpStatusCode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.ICredentials))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkCredential))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.AuthenticationSchemes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.ICredentialsByHost))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.CredentialCache))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.DecompressionMethods))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.IWebProxy))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkCredential))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.TransportContext))]
 
index d75c389c82000c631aca5d2f77fc4e52ee13e604..771473695cc1ef24e3d80ff717dad09594ed89bd 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Net.Requests.dll")]
 [assembly: AssemblyDescription ("System.Net.Requests.dll")]
 [assembly: AssemblyDefaultAlias ("System.Net.Requests.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index f3c942ef6f967ba684b9aeb2bd4bc6f51e93c560..35d7d842f60f3fa13e9530c51a953a3dbdb69355 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Net.Requests
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Net.Requests.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 9730eaec3d45fc5241b4f17746f3acc7ac1d9f60..2d4e79f6f080afec570f23461b76f41b5cf72db8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.HttpRequestHeader))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebRequest))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.HttpWebRequest))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebResponse))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.HttpWebResponse))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.IWebRequestCreate))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.ProtocolViolationException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebExceptionStatus))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebHeaderCollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebRequest))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebResponse))]
 
index a7f198c67bf2c512ade2a1308d60a1d2acad89a7..1eac48ac27c9c0a54e35467927ac40d58ad4a110 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ObjectModel.dll")]
 [assembly: AssemblyDescription ("System.ObjectModel.dll")]
 [assembly: AssemblyDefaultAlias ("System.ObjectModel.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 0a6e2a51183315c31ae6128bd5b5ece0c37e8c96..6f9294289b05e7b15b955d64413116c8f5773446 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ObjectModel
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ObjectModel.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 8737de0adc5f36a3c02e15a0f058ddb31d236ca8..2679bd038c5f09abde767c1171ff232b7e23e487 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.INotifyPropertyChanged))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyChangedEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyChangedEventHandler))]
+#if !MONOTOUCH
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.ReadOnlyDictionary<,>))]
+#endif
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.KeyedCollection<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.INotifyCollectionChanged))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.ReadOnlyObservableCollection<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.INotifyCollectionChanged))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.NotifyCollectionChangedAction))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.NotifyCollectionChangedEventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.NotifyCollectionChangedEventHandler))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Windows.Input.ICommand))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.INotifyDataErrorInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataErrorsChangedEventArgs))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.INotifyDataErrorInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.INotifyPropertyChanged))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyChangedEventArgs))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.PropertyChangedEventHandler))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Windows.Input.ICommand))]
 
diff --git a/mcs/class/Facades/System.Reflection.Emit.ILGeneration/AssemblyInfo.cs b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..43035ee
--- /dev/null
@@ -0,0 +1,41 @@
+// 
+// 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.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Reflection.Emit.ILGeneration.dll")]
+[assembly: AssemblyDescription ("System.Reflection.Emit.ILGeneration.dll")]
+[assembly: AssemblyDefaultAlias ("System.Reflection.Emit.ILGeneration.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
+[assembly: AssemblyDelaySign (true)]
+[assembly: AssemblyKeyFile ("../../msfinal.pub")]
+
+[assembly: ReferenceAssembly]
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.ILGeneration/Makefile b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/Makefile
new file mode 100644 (file)
index 0000000..d1c857b
--- /dev/null
@@ -0,0 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Reflection.Emit.ILGeneration
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Reflection.Emit.ILGeneration.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
+
+PLATFORM_DEBUG_FLAGS =
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration.dll.sources b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration.dll.sources
new file mode 100644 (file)
index 0000000..8e33d4d
--- /dev/null
@@ -0,0 +1,3 @@
+TypeForwarders.cs
+AssemblyInfo.cs
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.ILGeneration/TypeForwarders.cs b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/TypeForwarders.cs
new file mode 100644 (file)
index 0000000..3547d6d
--- /dev/null
@@ -0,0 +1,29 @@
+// 
+// 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.
+// 
+
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.CustomAttributeBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.ILGenerator))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.Label))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.LocalBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.ParameterBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.SignatureHelper))]
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.Lightweight/AssemblyInfo.cs b/mcs/class/Facades/System.Reflection.Emit.Lightweight/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..521dee7
--- /dev/null
@@ -0,0 +1,41 @@
+// 
+// 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.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Reflection.Emit.Lightweight.dll")]
+[assembly: AssemblyDescription ("System.Reflection.Emit.Lightweight.dll")]
+[assembly: AssemblyDefaultAlias ("System.Reflection.Emit.Lightweight.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
+[assembly: AssemblyDelaySign (true)]
+[assembly: AssemblyKeyFile ("../../msfinal.pub")]
+
+[assembly: ReferenceAssembly]
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.Lightweight/Makefile b/mcs/class/Facades/System.Reflection.Emit.Lightweight/Makefile
new file mode 100644 (file)
index 0000000..751a8ec
--- /dev/null
@@ -0,0 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Reflection.Emit.Lightweight
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Reflection.Emit.Lightweight.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
+
+PLATFORM_DEBUG_FLAGS =
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight.dll.sources b/mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight.dll.sources
new file mode 100644 (file)
index 0000000..8e33d4d
--- /dev/null
@@ -0,0 +1,3 @@
+TypeForwarders.cs
+AssemblyInfo.cs
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.Lightweight/TypeForwarders.cs b/mcs/class/Facades/System.Reflection.Emit.Lightweight/TypeForwarders.cs
new file mode 100644 (file)
index 0000000..7cd359e
--- /dev/null
@@ -0,0 +1,24 @@
+// 
+// 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.
+// 
+
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.DynamicMethod))]
+
diff --git a/mcs/class/Facades/System.Reflection.Emit/AssemblyInfo.cs b/mcs/class/Facades/System.Reflection.Emit/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..656df0b
--- /dev/null
@@ -0,0 +1,41 @@
+// 
+// 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.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle ("System.Reflection.Emit.dll")]
+[assembly: AssemblyDescription ("System.Reflection.Emit.dll")]
+[assembly: AssemblyDefaultAlias ("System.Reflection.Emit.dll")]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
+[assembly: AssemblyVersion ("4.0.0.0")]
+[assembly: AssemblyInformationalVersion ("4.0.0.0")]
+[assembly: AssemblyFileVersion ("4.0.0.0")]
+[assembly: AssemblyDelaySign (true)]
+[assembly: AssemblyKeyFile ("../../msfinal.pub")]
+
+[assembly: ReferenceAssembly]
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit/Makefile b/mcs/class/Facades/System.Reflection.Emit/Makefile
new file mode 100644 (file)
index 0000000..43659a9
--- /dev/null
@@ -0,0 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
+thisdir = class/Facades/System.Reflection.Emit
+SUBDIRS = 
+include $(MCS_BUILD_DIR)/rules.make
+
+LIBRARY_SUBDIR = Facades
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
+
+LIBRARY = System.Reflection.Emit.dll
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
+
+PLATFORM_DEBUG_FLAGS =
+
+NO_TEST = yes
+
+include $(MCS_BUILD_DIR)/library.make
+
+
diff --git a/mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit.dll.sources b/mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit.dll.sources
new file mode 100644 (file)
index 0000000..8e33d4d
--- /dev/null
@@ -0,0 +1,3 @@
+TypeForwarders.cs
+AssemblyInfo.cs
+
diff --git a/mcs/class/Facades/System.Reflection.Emit/TypeForwarders.cs b/mcs/class/Facades/System.Reflection.Emit/TypeForwarders.cs
new file mode 100644 (file)
index 0000000..c00424d
--- /dev/null
@@ -0,0 +1,34 @@
+// 
+// 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.
+// 
+
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.AssemblyBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.AssemblyBuilderAccess))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.ConstructorBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.EnumBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.EventBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.FieldBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.GenericTypeParameterBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.MethodBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.ModuleBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.PropertyBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.TypeBuilder))]
+
index 9124e1b2b5e6a39e339ba9acc8de9c18ef050dd2..7b9237816ec909a737368aa2c5c8033c9e1e0bcf 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Reflection.Extensions.dll")]
 [assembly: AssemblyDescription ("System.Reflection.Extensions.dll")]
 [assembly: AssemblyDefaultAlias ("System.Reflection.Extensions.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index aaf20facb06708123d642f67fa8736eabd2a59c3..ff09a4df7512110aa1dfd08c12ee2efd472c70d5 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Reflection.Extensions
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Reflection.Extensions.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 3ed6cd94c08745916b45812e225f10c670bcab77..0bb74c4e2cdf0fb8967b703b2a5ddbc6806701ba 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeExtensions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.InterfaceMapping))]
index 0141d30c0ee1da43673c2a06a5efa233c64268ed..260b4584c69bd991a449844adebc823dc9208791 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Reflection.Primitives.dll")]
 [assembly: AssemblyDescription ("System.Reflection.Primitives.dll")]
 [assembly: AssemblyDefaultAlias ("System.Reflection.Primitives.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 602815ba56c2cb8b84cf1406b473454c8a9b5017..6d1d422f0fa56c363c2a35e5b837172746bada31 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Reflection.Primitives
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Reflection.Primitives.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 8dfe9b4b95061ac9077fb2f874b201948f4a465d..d19ab64febc11b05c64c1faae970e4bed2829469 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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 !MONOTOUCH
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.FlowControl))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OpCode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OpCodes))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OpCodeType))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.OperandType))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.PackingSize))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Emit.StackBehaviour))]
+#endif
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CallingConventions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.EventAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.FieldAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.GenericParameterAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodAttributes))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodImplAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ParameterAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.PropertyAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TypeAttributes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodImplAttributes))]
 
index 6c614cdb54909d3ec52a46e8748eb5e6211c8a7a..36520e0b758e7a229c37649a4aa0311d33565154 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Reflection.dll")]
 [assembly: AssemblyDescription ("System.Reflection.dll")]
 [assembly: AssemblyDefaultAlias ("System.Reflection.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 85c5ac89f13454b7df8a764b5cc9ed031e244702..12e2a5f649ef3620014991794aa4fc218d62f355 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Reflection
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Reflection.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 5e5d09de03ed92a4765f22493ba54ef087691948..511c1fe2ed3af0233af458fa162b98c6263d916d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MemberInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AmbiguousMatchException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Assembly))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyContentType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyName))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodBase))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ConstructorInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeData))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeNamedArgument))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeTypedArgument))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.EventInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.FieldInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.IntrospectionExtensions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.IReflectableType))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.LocalVariableInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ManifestResourceInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MemberInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodBase))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.MethodInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Module))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ParameterInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.PropertyInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ReflectionContext))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ReflectionTypeLoadException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ResourceLocation))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TargetInvocationException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TargetParameterCountException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ManifestResourceInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ResourceLocation))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyContentType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeData))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeNamedArgument))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.CustomAttributeTypedArgument))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.IntrospectionExtensions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.IReflectableType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.LocalVariableInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.ReflectionContext))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.TypeInfo))]
 
index 97c869f804d848e170b673e9b76b68c492c1c210..067874f4f03e3d9872033ab694e71f4614f10780 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Resources.ResourceManager.dll")]
 [assembly: AssemblyDescription ("System.Resources.ResourceManager.dll")]
 [assembly: AssemblyDefaultAlias ("System.Resources.ResourceManager.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 0a3cf9d3479ea0c3f272da0e58136219ab47fd8a..018d07790580c150ad0e71a517a53f57fb6b9d2d 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Resources.ResourceManager
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Resources.ResourceManager.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 349023f6cc6dfdd6aa33612fea4eb68b9a814995..bea32f418ed2635d49141b252dc89e761432f44b 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Resources.MissingManifestResourceException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Resources.NeutralResourcesLanguageAttribute))]
index 8d2517ab53f5d5f7782f2562ccbb6c099627ed14..f3163e0d806175083fe3688a7546ff2b61997081 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.Extensions.dll")]
 [assembly: AssemblyDescription ("System.Runtime.Extensions.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.Extensions.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 9c371e1bedfcf502ed84c72478ac13711bf58f6f..489c457dc9c1a5eb68220fa7a56c045e4f06ce43 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.Extensions
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.Extensions.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index d0c05ecc0471762d03fa8fcbd93b397c1f41091c..a12987dbdc9a3f4f5499be921bce29b62c9eb4eb 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriBuilder))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.BitConverter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Convert))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Stopwatch))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Environment))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Path))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Math))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Random))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringComparer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Stopwatch))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MidpointRounding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Progress<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Path))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.WebUtility))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Progress<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Random))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringComparer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriBuilder))]
 
index fa299ae9c62bc9e792b1f33870cd8e53cce577ec..25b7d0a0538d62eca48b3064cc3caea26cd0f499 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.InteropServices.dll")]
 [assembly: AssemblyDescription ("System.Runtime.InteropServices.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.InteropServices.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 133466068cd6cdd066c4ed59927d8a22a849d676..b3e4a41c80e9b3a025101a221ec17b7d35a856b7 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.InteropServices
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.InteropServices.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 29d69ea40a18400da0485695519f10c5bb02e725..0c7e63a212e1b1006a613d33d1d4a84f4b7ea6b8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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 !MONOTOUCH
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComImportAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DispatchWrapper))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ErrorWrapper))]
+#endif
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DataMisalignedException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Missing))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DllNotFoundException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.Missing))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ArrayWithOffset))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.BestFitMappingAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.BStrWrapper))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComDefaultInterfaceAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComEventInterfaceAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.COMException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComInterfaceType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComMemberType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComSourceInterfacesAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CriticalHandle))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CurrencyWrapper))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DefaultCharSetAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DispIdAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.GuidAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ICustomAdapter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.InAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.InterfaceTypeAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.InvalidComObjectException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.InvalidOleVariantTypeException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.MarshalAsAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.MarshalDirectiveException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.OptionalAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.PreserveSigAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.SafeArrayRankMismatchException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.SafeArrayTypeMismatchException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.SafeHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.SafeBuffer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.SEHException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.TypeIdentifierAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.UnknownWrapper))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.UnmanagedType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.VarEnum))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.VariantWrapper))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.DefaultParameterValueAttribute))]
 
index 3a4e894f56bd61409853085078a4cb8492b568d4..00b01219c870dc95ab0ecd64cac85c045816cffb 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.Numerics.dll")]
 [assembly: AssemblyDescription ("System.Runtime.Numerics.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.Numerics.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index eb821c86566eee40846984d6d61526d210446877..b21abddbabe6970d1841b16dee3c0947d02cbb0c 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.Numerics
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.Numerics.dll
-LIB_MCS_FLAGS = /r:System.Numerics
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Numerics
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index e937f327cdc828dad832fa166c33df425b122ebb..ac647df3d151841a3f39f5f8754767eff76215f6 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Numerics.BigInteger))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Numerics.Complex))]
index 6eda657d09a31ac48013c18870ae1e108a0f2902..6710dca152ae0b2b8bcc78348a8ebd40a3b0b19a 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.Serialization.Json.dll")]
 [assembly: AssemblyDescription ("System.Runtime.Serialization.Json.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.Serialization.Json.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 8997f73155fde0979d48e876e57bf276c4d4cfb2..30bc06f1d1910a14d403d8b101b97379864b9716 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.Serialization.Json
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.Serialization.Json.dll
-LIB_MCS_FLAGS = /r:System.Runtime.Serialization /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 9ccfd6eba2a4bfa1961edb5c794f7c38a01e5428..57aeedd78ae00f106939c33d539deaf065989481 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.Json.DataContractJsonSerializer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DateTimeFormat))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.EmitTypeInformation))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.Json.DataContractJsonSerializer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.Json.DataContractJsonSerializerSettings))]
 
index b7749b990316d076ff9e525e29c90ee34e95e242..c76790eaf0e9241aa9c8f2499cc217e12248b63e 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.Serialization.Primitives.dll")]
 [assembly: AssemblyDescription ("System.Runtime.Serialization.Primitives.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.Serialization.Primitives.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 4210975d19ca50dee1a025795b92698441992512..403f973fba7b9967d39b0f4aa213104c9f5fdd1e 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.Serialization.Primitives
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.Serialization.Primitives.dll
-LIB_MCS_FLAGS = /r:System.Runtime.Serialization /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 10faec2b27d7e5e395b97e98d570771e2de7a2ba..ce3180fe1f18b8bbb783db9d3df0d08ed6686efb 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.CollectionDataContractAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.ContractNamespaceAttribute))]
index 2194c610058249ddb0d044c1461578ea61c93686..f88da3f3a599ab895c956793ad2adc2146a012ca 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.Serialization.Xml.dll")]
 [assembly: AssemblyDescription ("System.Runtime.Serialization.Xml.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.Serialization.Xml.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 9be218059f0ad2b2c124cd40579aa726d6b31b9a..cf4c9ab90eb8bd2217ab819591d49fc11a2769c9 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime.Serialization.Xml
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.Serialization.Xml.dll
-LIB_MCS_FLAGS = /r:System.Runtime.Serialization /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization /r:System.Xml
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index ffedd4dbbfc0b268b277dd017d616ed091ffbf44..34638aee54c488e026ce8aecd7c65a64a7eaa1a6 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.XmlObjectSerializer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DataContractResolver))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DataContractSerializer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DataContractSerializerSettings))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.InvalidDataContractException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.XmlObjectSerializer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.IXmlDictionary))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.UniqueId))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlBinaryReaderSession))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlBinaryWriterSession))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionary))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryReader))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryReaderQuotas))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryString))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlDictionaryWriter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DataContractResolver))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Serialization.DataContractSerializerSettings))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlBinaryReaderSession))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlBinaryWriterSession))]
 
index c921c6c1150c90eb1c121cac7fdf462203e9614d..359e2334b7eae03452305e087669750f691224ae 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Runtime.dll")]
 [assembly: AssemblyDescription ("System.Runtime.dll")]
 [assembly: AssemblyDefaultAlias ("System.Runtime.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index bb482472a149479b6077ccbf84fa165bad53c505..72ada093b090ce1aa74999a6e916efbbffc3f29f 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Runtime
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Runtime.dll
-LIB_MCS_FLAGS = /r:System /r:System.Core /r:System.ComponentModel.Composition
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.ComponentModel.Composition /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 2a6afa89aeacaa2e4a9a607b5a420c65a254306c..4a6a0166b3085022f2dd2f261ea080dc9e23f19e 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ExtensionAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Uri))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriComponents))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriFormat))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriKind))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DefaultValueAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EditorBrowsableAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EditorBrowsableState))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(object))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ValueType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IComparable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IComparable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IEquatable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IFormattable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(decimal))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Delegate))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MulticastDelegate))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Activator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Exception))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArgumentException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArgumentNullException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArgumentOutOfRangeException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArithmeticException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEnumerable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ICollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IList))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Array))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArraySegment<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ArrayTypeMismatchException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.AsyncCallback))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Attribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Enum))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.AttributeTargets))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.AttributeUsageAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.BadImageFormatException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(bool))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Boolean))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Buffer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(byte))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(char))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Byte))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Char))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.CLSCompliantAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.DictionaryEntry))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.ICollection<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IComparer<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IDictionary<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEnumerable<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEnumerator<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEqualityComparer<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IList<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyCollection<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyDictionary<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyList<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.ISet<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.KeyNotFoundException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.KeyValuePair<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ICollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IComparer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IDictionary))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IDictionaryEnumerator))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEnumerable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEnumerator))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEqualityComparer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IList))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IStructuralComparable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IStructuralEquatable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.Collection<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.ReadOnlyCollection<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Comparison<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DefaultValueAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EditorBrowsableAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.EditorBrowsableState))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DateTime))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DateTimeKind))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DateTimeOffset))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DayOfWeek))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Decimal))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Delegate))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.ConditionalAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.DebuggableAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.DivideByZeroException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(double))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Double))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Enum))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.EventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.EventHandler))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.EventHandler<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Exception))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.FlagsAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.FormatException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.GC))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.GCCollectionMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.DateTimeStyles))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.NumberStyles))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.TimeSpanStyles))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Guid))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IAsyncResult))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IComparable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IComparable<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ICustomFormatter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IDisposable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IEquatable<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IFormatProvider))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IFormattable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IndexOutOfRangeException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(short))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(int))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(long))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Int16))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Int32))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Int64))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IntPtr))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.InvalidCastException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.InvalidOperationException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.InvalidTimeZoneException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IObservable<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IObserver<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IProgress<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Lazy<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Lazy<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MemberAccessException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MissingMemberException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MTAThreadAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MulticastDelegate))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.NotImplementedException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.NotSupportedException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Nullable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Nullable<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.NullReferenceException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Object))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ObjectDisposedException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ObsoleteAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.OutOfMemoryException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.PlatformNotSupportedException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Predicate<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RankException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeFieldHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeMethodHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeTypeHandle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(sbyte))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(float))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IComparer<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEqualityComparer<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IComparer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEqualityComparer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringComparison))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringSplitOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeoutException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeSpan))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Type))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeInitializationException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeLoadException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(ushort))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(uint))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(ulong))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UIntPtr))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UnauthorizedAccessException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Version))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(void))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.WeakReference))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.DictionaryEntry))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IDictionary))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IDictionaryEnumerator))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEnumerable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.ICollection<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IDictionary<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IEnumerator<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IList<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.KeyNotFoundException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.KeyValuePair<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.Collection<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ObjectModel.ReadOnlyCollection<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.ConditionalAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.DebuggableAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.DateTimeStyles))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.NumberStyles))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyCompanyAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyConfigurationAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyCopyrightAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyInformationalVersionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyKeyFileAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyKeyNameAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyMetadataAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyNameFlags))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyProductAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblySignatureKeyAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyTitleAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyTrademarkAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyVersionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.DefaultMemberAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AccessedThroughPropertyAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncStateMachineAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerFilePathAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerLineNumberAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerMemberNameAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CompilationRelaxationsAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CustomConstantAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.DateTimeConstantAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.DecimalConstantAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ExtensionAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.FixedBufferAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IndexerNameAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.InternalsVisibleToAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IStrongBox))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IsVolatile))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IteratorStateMachineAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.MethodImplAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.MethodImplOptions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ReferenceAssemblyAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.RuntimeCompatibilityAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.RuntimeHelpers))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.StateMachineAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.StrongBox<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TypeForwardedFromAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TypeForwardedToAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.UnsafeValueTypeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.ExceptionServices.ExceptionDispatchInfo))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.GCLatencyMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.GCSettings))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CharSet))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComVisibleAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.FieldOffsetAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.LayoutKind))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.OutAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.StructLayoutAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.Versioning.TargetFrameworkAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeFieldHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeMethodHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.RuntimeTypeHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.SByte))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AllowPartiallyTrustedCallersAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecurityCriticalAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecurityException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecuritySafeCriticalAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.SecurityTransparentAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.VerificationException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Single))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.STAThreadAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.String))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringComparison))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.StringSplitOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.StringBuilder))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.WaitHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LazyThreadSafetyMode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Timeout))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.InvalidTimeZoneException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeZoneInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IStrongBox))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.StrongBox<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.TimeSpanStyles))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Lazy<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.ISet<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Action<,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IStructuralComparable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.IStructuralEquatable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Func<,,,,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Lazy<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.WaitHandle))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ThreadStaticAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeoutException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeSpan))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TimeZoneInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,,,>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<,>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Tuple<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Type))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeAccessException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TypeForwardedFromAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TypeForwardedToAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AllowPartiallyTrustedCallersAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LazyThreadSafetyMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeInitializationException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.TypeLoadException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UInt16))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UInt32))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UInt64))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UIntPtr))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UnauthorizedAccessException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Uri))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriComponents))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriFormat))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriHostNameType))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.GCCollectionMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IObservable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IObserver<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.GCLatencyMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.GCSettings))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.FixedBufferAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.UnsafeValueTypeAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.CharSet))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.InteropServices.ComVisibleAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyCollection<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyList<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IProgress<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.MTAThreadAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.STAThreadAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.UriKind))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ValueType))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Version))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.WeakReference))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.WeakReference<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Generic.IReadOnlyDictionary<,>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblyMetadataAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Reflection.AssemblySignatureKeyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.StateMachineAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncStateMachineAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerFilePathAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerLineNumberAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.CallerMemberNameAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IteratorStateMachineAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ReferenceAssemblyAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.ExceptionServices.ExceptionDispatchInfo))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(string))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(void))]
 
index 9add5807e556d5c9661a6afae25ba8aa1e61e0ea..9d0d014384ad3f9400285f51ede2eafac2cbdf7d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Security.Principal.dll")]
 [assembly: AssemblyDescription ("System.Security.Principal.dll")]
 [assembly: AssemblyDefaultAlias ("System.Security.Principal.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 6662c5ac9adee0a2bea37a91c072390ecbeeea1f..738880ff009cb5092e0d7d6e2f0abf53e08a2b3f 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Security.Principal
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Security.Principal.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 85a934368b6cd0c898779c5d6243cc83e1d08721..a6682541e65f983252b9470bc511ff4ffb15fcce 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Principal.IIdentity))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.Principal.IPrincipal))]
index a44d7588ec4d983772586b8179b0fb8078baec70..2dc616e75c1f72b42c09c98c24ade79e84f721d3 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ServiceModel.Http.dll")]
 [assembly: AssemblyDescription ("System.ServiceModel.Http.dll")]
 [assembly: AssemblyDefaultAlias ("System.ServiceModel.Http.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index b3eda5889543cf345b6f897cfcebbe9dde0fd424..b709ac623e38480f232fdc92244a6fad43fbe7d2 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ServiceModel.Http
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ServiceModel.Http.dll
-LIB_MCS_FLAGS = /r:System.ServiceModel
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceModel
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 79b95a02032c00fc1143535662464b4783bebbc6..57276e7078c989085ee8c8c27997dd707d8a0cdd 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpBinding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpMessageCredentialType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.BasicHttpSecurityMode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpRequestMessageProperty))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpResponseMessageProperty))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpTransportBindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpsTransportBindingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.HttpTransportBindingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IHttpCookieContainerManager))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.WebSocketTransportSettings))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.WebSocketTransportUsage))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.HttpBindingBase))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.HttpClientCredentialType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.HttpTransportSecurity))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetHttpBinding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.NetHttpMessageEncoding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.WebSocketTransportSettings))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.WebSocketTransportUsage))]
 
index c180411f3e625f1b769892517d7659144de24402..02bec1d5c48637196cd805d898f582fead3b6dc8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.ServiceModel.Primitives.dll")]
 [assembly: AssemblyDescription ("System.ServiceModel.Primitives.dll")]
 [assembly: AssemblyDefaultAlias ("System.ServiceModel.Primitives.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index c71d40bc9dc2ce3c381d37b0317208458c1c0f75..5391e8cdef3f0c5248adcfc1ccbfd071c0de6753 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.ServiceModel.Primitives
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.ServiceModel.Primitives.dll
-LIB_MCS_FLAGS = /r:System.ServiceModel /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceModel /r:System.Xml
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 9cb71623204487f6c3e8d2d426250dd35042de59..37b5c7d91571bc2ccd818634b78feb6e00792bb3 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.XmlSerializerFormatAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationException))]
+#if !MONOTOUCH
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.CompressionFormat))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.ClientOperation))]
+#endif
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ActionNotSupportedException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IDefaultCommunicationTimeouts))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.Binding))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ICommunicationObject))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.CommunicationObject))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannelFactory))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ChannelFactory))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ClientBase<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IOutputChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IRequestChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtensibleObject<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IContextChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IClientChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationObjectAbortedException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationObjectFaultedException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationState))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DataContractFormatAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointAddress))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointAddressBuilder))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointNotFoundException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EnvelopeVersion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ExceptionDetail))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultCode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultContractAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultException<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultReason))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultReasonText))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtension<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtensionCollection<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.InvalidMessageContractException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageContractMemberAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageBodyMemberAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageContractAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ProtocolException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeaderException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageParameterAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContext))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContextScope))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContractAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationFormatStyle))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.QuotaExceededException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServerTooBusyException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceActivationException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceContractAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceKnownTypeAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.UnknownMessageReceivedEventArgs))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ChannelFactory<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.AddressHeader))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.AddressHeaderCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.AddressingVersion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BindingElement))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageEncodingBindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BinaryMessageEncodingBindingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.Binding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BindingContext))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BindingElementCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BindingParameterCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BodyWriter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.BufferManager))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelBase))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelManagerBase))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelFactoryBase))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannelFactory<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelFactoryBase<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelManagerBase))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ChannelParameterCollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.CommunicationObject))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.CustomBinding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.FaultConverter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TransportBindingElement))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IInputChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannelFactory))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IChannelFactory<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IDuplexChannel))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ISession))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IInputSession))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IOutputSession))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IDuplexSession))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ISessionChannel<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IDuplexSessionChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IInputChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IInputSession))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IInputSessionChannel))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IMessageProperty))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IOutputChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IOutputSession))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IOutputSessionChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IRequestChannel))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.IRequestSessionChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ISession))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ISessionChannel<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.Message))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageBuffer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageEncoder))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageEncoderFactory))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageEncodingBindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageFault))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageHeaderInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageHeader))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageHeaderInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageHeaders))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageProperties))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageState))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.MessageVersion))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.RequestContext))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TextMessageEncodingBindingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TransportBindingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ClientBase<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationObjectAbortedException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationObjectFaultedException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CommunicationState))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DataContractFormatAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.ClientCredentials))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.ContractDescription))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.DataContractSerializerOperationBehavior))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.FaultDescription))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.FaultDescriptionCollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IContractBehavior))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IEndpointBehavior))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IOperationBehavior))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageBodyDescription))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageDescription))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageDescriptionCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageDirection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageHeaderDescription))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageHeaderDescriptionCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePartDescription))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePartDescriptionCollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePropertyDescription))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePropertyDescriptionCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.OperationDescription))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.OperationDescriptionCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.ServiceEndpoint))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.MessageSecurityException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.SecurityAccessDeniedException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.UserNamePasswordClientCredential))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ChannelFactory<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.ClientRuntime))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.DispatchOperation))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.DispatchRuntime))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.EndpointDispatcher))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.IClientMessageFormatter))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.IClientMessageInspector))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.IClientOperationSelector))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Dispatcher.IParameterInspector))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointAddress))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointAddressBuilder))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointIdentity))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EndpointNotFoundException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.EnvelopeVersion))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ExceptionDetail))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultCode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultContractAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultException<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultReason))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.FaultReasonText))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IClientChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ICommunicationObject))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IContextChannel))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IDefaultCommunicationTimeouts))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtensibleObject<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtension<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.IExtensionCollection<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.InvalidMessageContractException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageBodyMemberAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageContractAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageContractMemberAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageCredentialType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeader<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.SecurityMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.TransferMode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IEndpointBehavior))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IOperationBehavior))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.DataContractSerializerOperationBehavior))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.IContractBehavior))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageHeaderDescription))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessageHeaderDescriptionCollection))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePropertyDescription))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Description.MessagePropertyDescriptionCollection))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageHeaderException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.MessageParameterAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContext))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContextScope))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationContractAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.OperationFormatStyle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ProtocolException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.QuotaExceededException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.HttpDigestClientCredential))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.MessageSecurityException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.SecurityAccessDeniedException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.UserNamePasswordClientCredential))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Security.WindowsClientCredential))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.SecurityMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServerTooBusyException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceActivationException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceContractAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.ServiceKnownTypeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.TransferMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.UnknownMessageReceivedEventArgs))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.XmlSerializerFormatAttribute))]
 
index e8e33f00cdf26501a78c12b57a1bfee14fd499a0..33c51e01878ff1e4ee677e3924ffbd7ae724d27b 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Text.Encoding.Extensions.dll")]
 [assembly: AssemblyDescription ("System.Text.Encoding.Extensions.dll")]
 [assembly: AssemblyDefaultAlias ("System.Text.Encoding.Extensions.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index eb7bed8371766427a3886b26c00a1b6a16e4fb1d..b8cbfb22831eb2f5a95333d41897509db70cd9f3 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Text.Encoding.Extensions
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Text.Encoding.Extensions.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 8b7affa11a1f45027a8dd6b08a5c62ec410fcd47..fe366378eb9196b0ae978f103983015125e3df74 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.UnicodeEncoding))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.UTF8Encoding))]
index 5f8792605086901dd3aa283acbf9b18e7c75872d..ff006b094f959d4f4ce97e4db8ce5f4e549c5e2d 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Text.Encoding.dll")]
 [assembly: AssemblyDescription ("System.Text.Encoding.dll")]
 [assembly: AssemblyDefaultAlias ("System.Text.Encoding.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index cdbab8404398f1f5d2a9de4828ab6c377939773d..bf200cf7c5f8b8cc235ef5f995d51881c35e8662 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Text.Encoding
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Text.Encoding.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index d15e31434608494f7b606eacb877ef8006508e84..8c132eccc56829334c59a1a791a779b3bf161814 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.Decoder))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.DecoderFallbackException))]
index 4caaa79a5df178a397e5ac8e48f278e9baa53f02..41f882f463e9d07feb2a500b4ea17b8db72ce102 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Text.RegularExpressions.dll")]
 [assembly: AssemblyDescription ("System.Text.RegularExpressions.dll")]
 [assembly: AssemblyDefaultAlias ("System.Text.RegularExpressions.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 34e35c98949ec3340bead76699a84abcefffe384..24cd5d7fce2879863780353f1b03af067755d4f4 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Text.RegularExpressions
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Text.RegularExpressions.dll
-LIB_MCS_FLAGS = /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 62e0e5c58b632035ff74910dec58037851bc2869..be4c7cc58bcba3d1a50e548ba714a4e61834e821 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.Capture))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.CaptureCollection))]
@@ -32,6 +28,6 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.MatchCollection))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.MatchEvaluator))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.Regex))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexMatchTimeoutException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Text.RegularExpressions.RegexOptions))]
 
index d01e3e586a70a6ce88af3db92a7571d1b7a27392..25719f70bf7f718fd598e46edf095fb6ba4957f2 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Threading.Tasks.Parallel.dll")]
 [assembly: AssemblyDescription ("System.Threading.Tasks.Parallel.dll")]
 [assembly: AssemblyDefaultAlias ("System.Threading.Tasks.Parallel.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 1704d13f704563dbedeb5042b2dc0ab1edc5ac27..37059d95bfc7bfcec0284f644eb445023a8fb3a9 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Threading.Tasks.Parallel
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Threading.Tasks.Parallel.dll
-LIB_MCS_FLAGS =
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 16a8a39a14c3424fdd9a7ee3633d1cccc4ec85ee..bdf9140205c6f61431c7a3f6ac92b147a61b9707 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.Parallel))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.ParallelLoopResult))]
index 94041db6ebfbc6c94f3fa449967247397f916f4c..b4b38c47067de161789da0bfd5d62113831b3e84 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Threading.Tasks.dll")]
 [assembly: AssemblyDescription ("System.Threading.Tasks.dll")]
 [assembly: AssemblyDefaultAlias ("System.Threading.Tasks.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 57f182354435eaa9ac2af37d73eac297d4c278dc..2358e77f0ff728f0c2700c9e65a14f03ba71a89d 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Threading.Tasks
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Threading.Tasks.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 9d1d9bd176031956e8176d79f44fe1d63e4a31fd..bebef9da525fa80113a5ac598ecc2a7635c7f28e 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskExtensions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.AggregateException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.OperationCanceledException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncTaskMethodBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncTaskMethodBuilder<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncVoidMethodBuilder))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConfiguredTaskAwaitable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConfiguredTaskAwaitable<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IAsyncStateMachine))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ICriticalNotifyCompletion))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.INotifyCompletion))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TaskAwaiter))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TaskAwaiter<>))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.YieldAwaitable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.CancellationToken))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.CancellationTokenRegistration))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.CancellationTokenSource))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.ConcurrentExclusiveSchedulerPair))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.Task))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.Task<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskCanceledException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskCompletionSource<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskContinuationOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskCreationOptions))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskExtensions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskFactory))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskFactory<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskScheduler))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskSchedulerException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.TaskStatus))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.UnobservedTaskExceptionEventArgs))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncTaskMethodBuilder))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncTaskMethodBuilder<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.AsyncVoidMethodBuilder))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConfiguredTaskAwaitable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.INotifyCompletion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ICriticalNotifyCompletion))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.ConfiguredTaskAwaitable<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.IAsyncStateMachine))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TaskAwaiter))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.TaskAwaiter<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Runtime.CompilerServices.YieldAwaitable))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Tasks.ConcurrentExclusiveSchedulerPair))]
 
index 2b90731b7ff58e6a95d3cb1a04b5fc02db367510..c68b68a0939e75137a99a268e6d944d2e3ca93a8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Threading.dll")]
 [assembly: AssemblyDescription ("System.Threading.dll")]
 [assembly: AssemblyDefaultAlias ("System.Threading.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 5d845c942e0e28f7f5b65a0607541ca8c5909f09..62788e4c86fbb61d56d5f75bc29001d88d31a922 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Threading
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Threading.dll
-LIB_MCS_FLAGS = /r:System.Core /r:System
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 605b66f26b5a250b1956419b9114af45ebb073e3..7d6affcb01138c96e98fce13e4a50015ba448cc8 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SynchronizationContext))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.EventWaitHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.AbandonedMutexException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.AutoResetEvent))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Interlocked))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ManualResetEvent))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Monitor))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SendOrPostCallback))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SynchronizationLockException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LockRecursionPolicy))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ReaderWriterLockSlim))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Barrier))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.BarrierPostPhaseException))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Semaphore))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.AbandonedMutexException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.CountdownEvent))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.EventResetMode))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.EventWaitHandle))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Interlocked))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LazyInitializer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LockRecursionException))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.LockRecursionPolicy))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ManualResetEvent))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ManualResetEventSlim))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Monitor))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Mutex))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ReaderWriterLockSlim))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Semaphore))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SemaphoreFullException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SemaphoreSlim))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SendOrPostCallback))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SpinLock))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SpinWait))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SynchronizationContext))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.SynchronizationLockException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.ThreadLocal<>))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.WaitHandleCannotBeOpenedException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.Volatile))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Threading.WaitHandleCannotBeOpenedException))]
 
index 54a6d7d37a77b3f9f6ec516cf6e2206db181d882..d05105115559fa4e61d3ed60b41438ef3e8a9ef5 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Xml.ReaderWriter.dll")]
 [assembly: AssemblyDescription ("System.Xml.ReaderWriter.dll")]
 [assembly: AssemblyDefaultAlias ("System.Xml.ReaderWriter.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 5f91ff210c7b6371d77d4bce14acf0268ba50d6a..57feb51f2aa05a594c9608caa3eb425137dcf1a6 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Xml.ReaderWriter
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Xml.ReaderWriter.dll
-LIB_MCS_FLAGS = /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 0d3ab53df0d43ea334d0e7370fc910918823801e..f3ee0d8101f703cd01414eb590d22a7cb7f09531 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.ConformanceLevel))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.DtdProcessing))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.IXmlLineInfo))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.IXmlNamespaceResolver))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.NamespaceHandling))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlNameTable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.NameTable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.NewLineHandling))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.ReadState))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Schema.XmlSchema))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Schema.XmlSchemaForm))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.WriteState))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlConvert))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlNamespaceManager))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlNamespaceScope))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlNameTable))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlNodeType))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlParserContext))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlQualifiedName))]
@@ -46,6 +44,4 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlSpace))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlWriter))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.XmlWriterSettings))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Schema.XmlSchema))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Schema.XmlSchemaForm))]
 
index e3f2265166d9af2139b22cd1aeeda58e4b3e5212..bd6476be5237c6c54e0fbf8747837f1f2b6da629 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Xml.XDocument.dll")]
 [assembly: AssemblyDescription ("System.Xml.XDocument.dll")]
 [assembly: AssemblyDefaultAlias ("System.Xml.XDocument.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index a02bc52e680a9ba76a92928113e2fcf01d9338d2..2f2aa6fabdd5c9623f833eb9bb001ea2ab76a5b5 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Xml.XDocument
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Xml.XDocument.dll
-LIB_MCS_FLAGS = /r:System.Xml.Linq /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml.Linq /r:System.Xml
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index 4a74cd240e93fc95ab6b9bb12acb7892d6be2a88..4bedfba794f58ed7f415f5ff5eb9ad19ebe3a5dc 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.Extensions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.LoadOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.ReaderOptions))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.SaveOptions))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XObject))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XNode))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XText))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XCData))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XComment))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XContainer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XName))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XNamespace))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XNode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XNodeDocumentOrderComparer))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XNodeEqualityComparer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XObject))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XObjectChange))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XObjectChangeEventArgs))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XProcessingInstruction))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XStreamingElement))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Linq.XText))]
 
index 4a33ba5a72fe85fa35a7dee804454451666f6267..71235d79b0ba499725ab4648edc4cfacffde4b21 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
@@ -23,6 +18,7 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
+// 
 
 using System;
 using System.Reflection;
@@ -31,10 +27,9 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTitle ("System.Xml.XmlSerializer.dll")]
 [assembly: AssemblyDescription ("System.Xml.XmlSerializer.dll")]
 [assembly: AssemblyDefaultAlias ("System.Xml.XmlSerializer.dll")]
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyCompany ("Xamarin, Inc.")]
+[assembly: AssemblyProduct ("Mono Common Language Infrastructure")]
+[assembly: AssemblyCopyright ("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
 [assembly: AssemblyVersion ("4.0.0.0")]
 [assembly: AssemblyInformationalVersion ("4.0.0.0")]
 [assembly: AssemblyFileVersion ("4.0.0.0")]
@@ -42,3 +37,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyKeyFile ("../../msfinal.pub")]
 
 [assembly: ReferenceAssembly]
+
+
index 700ad785b56e7fc1a6520ffb84c32cdfbdf0ee42..c627fca3050b0628b1ec8c7dfd3e3d9102f6dc54 100644 (file)
@@ -1,15 +1,22 @@
+MCS_BUILD_DIR = ../../../build
+
 thisdir = class/Facades/System.Xml.XmlSerializer
 SUBDIRS = 
-include ../../../build/rules.make
+include $(MCS_BUILD_DIR)/rules.make
 
 LIBRARY_SUBDIR = Facades
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = System.Xml.XmlSerializer.dll
-LIB_MCS_FLAGS = /r:System.Xml
+
+KEY_FILE = ../../msfinal.pub
+SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml
 
 PLATFORM_DEBUG_FLAGS =
 
 NO_TEST = yes
 
-include ../../../build/library.make
+include $(MCS_BUILD_DIR)/library.make
+
+
index 74532efb2ea75c271c00a4aeafcc07fa77ce69de..8e33d4ddeae92bde7aa8afd994db5d90d6af18d9 100644 (file)
@@ -1,3 +1,3 @@
-AssemblyInfo.cs
 TypeForwarders.cs
-../../../build/common/Consts.cs
+AssemblyInfo.cs
+
index bda6911b92ae3ca54c2e31a0948d7679f87f6421..df2b775f4ec03b42c7a91b38e772bdf3880c9710 100644 (file)
@@ -1,21 +1,16 @@
-//
-// TypeForwarders.cs
-//
-// Author:
-//       Martin Baulig <martin.baulig@xamarin.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
 // 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.
+// 
 
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSerializer))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlArrayItemAttributes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAttributeOverrides))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAttributes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlElementAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.IXmlSerializable))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyAttributeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyElementAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyElementAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlArrayAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlArrayItemAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlArrayItemAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAttributeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAttributeOverrides))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlChoiceIdentifierAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlElementAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlElementAttributes))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlEnumAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlIgnoreAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlIncludeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlNamespaceDeclarationsAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlRootAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSchemaProviderAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSerializer))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSerializerNamespaces))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlTextAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlTypeAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyElementAttributes))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlSerializerNamespaces))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyElementAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlNamespaceDeclarationsAttribute))]
-[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Xml.Serialization.XmlAnyAttributeAttribute))]
 
index 675cd2a333fd3a3782c429145b71b743030a9977..cd79fad402bbfeb7969023b5e1c9e8ea808cddda 100644 (file)
@@ -642,7 +642,7 @@ namespace I18N.CJK
                                                continue;
                                        }
                                        i++;
-                                       if (bytes [i] == 0x42)
+                                       if (bytes [i] == 0x42 || bytes [i] == 0x40)
                                                m = wide ? ISO2022JPMode.JISX0208 : ISO2022JPMode.ASCII;
                                        else if (bytes [i] == 0x4A) // obsoleted
                                                m = ISO2022JPMode.ASCII;
@@ -730,7 +730,7 @@ namespace I18N.CJK
                                                continue;
                                        }
                                        i++;
-                                       if (bytes [i] == 0x42)
+                                       if (bytes [i] == 0x42 || bytes [i] == 0x40)
                                                m = wide ? ISO2022JPMode.JISX0208 : ISO2022JPMode.ASCII;
                                        else if (bytes [i] == 0x4A) // obsoleted
                                                m = ISO2022JPMode.ASCII;
index ddc58c7fd15c38b39b70fcd4ca60c7d4e3e68e67..274ee160adce41fa717982471115c11fa317b5c3 100644 (file)
@@ -575,6 +575,14 @@ namespace MonoTests.I18N.CJK
                        Assert.AreEqual ("don\u2019t", s);
 
                }
+               
+               [Test]
+               public void Bug14591 ()
+               {
+                       var expected = "\u4f50\u85e4\u8c4a";
+                       var text = Encoding.GetEncoding ("iso-2022-jp").GetString (Convert.FromBase64String ("GyRAOjRGI0stGyhK"));
+                       Assert.AreEqual (expected, text, "#1");
+               }
                #endregion
 
                #region Korean
index 91decc95e6c9f4c79ea17bb03be087968f2ed16d..db444031339d1f89907d9ace83a5f1b52cc9156e 100644 (file)
@@ -128,6 +128,8 @@ net_2_0_only_dirs := \
        System.Data.Services            \
        System.Web.Mvc \
 
+pcl_facade_dirs := Facades
+
 mobile_dirs := \
        corlib  \
        System  \
@@ -156,7 +158,7 @@ mobile_dirs := \
        System.Net \
        System.Windows \
        System.Xml.Serialization \
-       Facades
+       $(pcl_facade_dirs)
 
 monodroid_dirs := \
        Mono.CompilerServices.SymbolWriter      \
@@ -229,7 +231,7 @@ net_4_5_dirs := \
        System.IO.Compression.FileSystem \
        System.Windows \
        System.Xml.Serialization \
-       Facades
+       $(pcl_facade_dirs)
        
 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs) aot-compiler
 monodroid_SUBDIRS := $(mobile_dirs) $(monodroid_dirs)
index 3b83e2da7b9bb7c07174cb6e8db796b789c519d2..255a6855403b77f4c94844f0b41bde24ea9826f7 100644 (file)
@@ -29,6 +29,7 @@ Microsoft.Build.Framework/ITask.cs
 Microsoft.Build.Framework/ITaskHost.cs
 Microsoft.Build.Framework/ITaskItem.cs
 Microsoft.Build.Framework/ITaskItem2.cs
+Microsoft.Build.Framework/LazyFormattedBuildEventArgs.cs
 Microsoft.Build.Framework/LoadInSeparateAppDomainAttribute.cs
 Microsoft.Build.Framework/LoggerException.cs
 Microsoft.Build.Framework/LoggerVerbosity.cs
index 60be917bf464db00a50598171c1dce8ef7ad370f..f94f11c265a1b8b5ae660b5b245112f647ee762b 100644 (file)
@@ -49,12 +49,18 @@ namespace Microsoft.Build.Framework
 
                protected BuildEventArgs (string message, string helpKeyword,
                                          string senderName)
+                       : this (message, helpKeyword, senderName, DateTime.Now)
+               {
+               }
+
+               protected BuildEventArgs (string message, string helpKeyword,
+                                         string senderName, DateTime eventTimestamp)
                {
                        this.message = message;
                        this.helpKeyword = helpKeyword;
                        this.senderName = senderName;
                        this.threadId = Thread.CurrentThread.GetHashCode ();
-                       this.timestamp = DateTime.Now;
+                       this.timestamp = eventTimestamp;
                }
 
                public string HelpKeyword {
@@ -90,4 +96,4 @@ namespace Microsoft.Build.Framework
        }
 }
 
-#endif
\ No newline at end of file
+#endif
index 6397a9e0d1d2a749c896c9bbd5d00cef3752d2fc..6595f05f0d9d3ca19bdc6d1504105010c0af40b6 100644 (file)
@@ -43,7 +43,25 @@ namespace Microsoft.Build.Framework {
                public BuildFinishedEventArgs (string message,
                                                  string helpKeyword,
                                                  bool succeeded)
-                       : base (message, helpKeyword, null)
+                       : this (message, helpKeyword, succeeded, DateTime.Now)
+               {
+               }
+
+               public BuildFinishedEventArgs (string message,
+                                                 string helpKeyword,
+                                                 bool succeeded,
+                                                 DateTime eventTimestamp)
+                       : base (message, helpKeyword, null, eventTimestamp)
+               {
+                       this.succeeded = succeeded;
+               }
+
+               public BuildFinishedEventArgs (string message,
+                                                 string helpKeyword,
+                                                 bool succeeded,
+                                                 DateTime eventTimestamp,
+                                                 params object [] messageArgs)
+                       : base (message, helpKeyword, null, eventTimestamp, messageArgs)
                {
                        this.succeeded = succeeded;
                }
@@ -56,4 +74,4 @@ namespace Microsoft.Build.Framework {
        }
 }
 
-#endif
\ No newline at end of file
+#endif
index 8a48d844cc86406c0fe16a948d5e9fc30ac9b038..54b0303b301a1a320f8965e99e1670d34a056776 100644 (file)
@@ -29,6 +29,7 @@
 #if NET_2_0
 
 using System;
+using System.Collections.Generic;
 
 namespace Microsoft.Build.Framework {
        [Serializable]
@@ -40,10 +41,34 @@ namespace Microsoft.Build.Framework {
 
                public BuildStartedEventArgs (string message,
                                              string helpKeyword)
+                       : this (message, helpKeyword, DateTime.Now)
+               {
+               }
+
+               public BuildStartedEventArgs (string message,
+                                             string helpKeyword,
+                                             IDictionary<string, string> environmentOfBuild)
                        : base (message, helpKeyword, null)
+               {
+                       // deal with environmentOfBuild
+                       throw new NotImplementedException ();
+               }
+
+               public BuildStartedEventArgs (string message,
+                                             string helpKeyword,
+                                             DateTime eventTimestamp)
+                       : base (message, helpKeyword, null, eventTimestamp)
+               {
+               }
+
+               public BuildStartedEventArgs (string message,
+                                             string helpKeyword,
+                                             DateTime eventTimestamp,
+                                             params object [] messageArgs)
+                       : base (message, helpKeyword, null, eventTimestamp, messageArgs)
                {
                }
        }
 }
 
-#endif
\ No newline at end of file
+#endif
index e3bf6c235d37f40a980c21408a01426ce24fa2f6..cad96026ff1fbad67efe841655e623a2b288d531 100644 (file)
@@ -33,7 +33,7 @@ using System;
 namespace Microsoft.Build.Framework
 {
        [Serializable]
-       public abstract class BuildStatusEventArgs : BuildEventArgs {
+       public abstract class BuildStatusEventArgs : LazyFormattedBuildEventArgs {
        
                protected BuildStatusEventArgs ()
                {
@@ -45,7 +45,24 @@ namespace Microsoft.Build.Framework
                        : base (message, helpKeyword, senderName)
                {
                }
+
+               protected BuildStatusEventArgs (string message,
+                                               string helpKeyword,
+                                               string senderName,
+                                               DateTime eventTimestamp)
+                       : base (message, helpKeyword, senderName, eventTimestamp)
+               {
+               }
+
+               protected BuildStatusEventArgs (string message,
+                                               string helpKeyword,
+                                               string senderName,
+                                               DateTime eventTimestamp,
+                                               params object [] messageArgs)
+                       : base (message, helpKeyword, senderName, eventTimestamp, messageArgs)
+               {
+               }
        }
 }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/LazyFormattedBuildEventArgs.cs b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/LazyFormattedBuildEventArgs.cs
new file mode 100644 (file)
index 0000000..3985784
--- /dev/null
@@ -0,0 +1,55 @@
+//
+// LazyFormattedBuildEventArgs.cs
+//
+// Author:
+//   Atsushi Enomoto <atsushi@xamarin.com>
+// 
+// (C) 2013 Xamarin 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.Threading;
+
+namespace Microsoft.Build.Framework
+{
+       [Serializable]          
+       public abstract class LazyFormattedBuildEventArgs : BuildEventArgs
+       {
+               
+               protected LazyFormattedBuildEventArgs ()
+                       : this (null, null, null)
+               {
+               }
+
+               protected LazyFormattedBuildEventArgs (string message, string helpKeyword,
+                                         string senderName)
+                       : this (message, helpKeyword, senderName, DateTime.Now)
+               {
+               }
+
+               protected LazyFormattedBuildEventArgs (string message, string helpKeyword,
+                                         string senderName, DateTime eventTimestamp,
+                                         params object [] messageArgs)
+                       : base (string.Format (message, messageArgs), helpKeyword, senderName, eventTimestamp)
+               {
+               }
+       }
+}
index 32f34e3f401d90b638cb82e3ee384890da74329f..585e5bb0a4f3e0eff7b65d00b3d29fdfec61a96c 100644 (file)
@@ -19,7 +19,7 @@ LIB_MCS_FLAGS = \
        /r:System.dll                           \
        /r:$(BUILD_FRAMEWORK)
 
-TEST_MCS_FLAGS = /r:$(BUILD_FRAMEWORK) -r:System.dll
+TEST_MCS_FLAGS = /r:$(BUILD_FRAMEWORK) -r:System.dll -r:System.Core.dll
 
 export TESTING_MONO=a
 XBUILD_DIR=../../tools/xbuild
index e8eeb392c04a7e2d7b20e6b3553ec90ea2692739..718e3c2e01f8feba2f1824fdee277fb81408c5db 100644 (file)
@@ -51,5 +51,6 @@
     <Compile Include="Test\Microsoft.Build.Utilities\LoggerTest.cs" />
     <Compile Include="Test\Microsoft.Build.Utilities\TaskItemTest.cs" />
     <Compile Include="Test\Microsoft.Build.Utilities\TaskLoggingHelperTest.cs" />
+    <Compile Include="Test\Microsoft.Build.Utilities\ToolTaskTest.cs" />
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
index 4094c122e3b9e9afc86574ece4e1ea98afbd9cb9..77814aab8621b327e16c0e952105454ac32dd66b 100644 (file)
@@ -464,13 +464,25 @@ namespace Microsoft.Build.Utilities
                        }
                }
 
-               // Snatched from our codedom code, with some changes to make it compatible with csc
-               // (the line+column group is optional is csc)
+               // Keep in sync with mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs
+               const string ErrorRegexPattern = @"
+                       ^
+                       (\s*(?<file>[^\(]+)                         # filename (optional)
+                        (\((?<line>\d*)(,(?<column>\d*[\+]*))?\))? # line+column (optional)
+                        :\s+)?
+                       (?<level>\w+)                               # error|warning
+                       \s+
+                       (?<number>[^:]*\d)                          # CS1234
+                       :
+                       \s*
+                       (?<message>.*)$";
+
                static Regex errorRegex;
                static Regex CscErrorRegex {
                        get {
                                if (errorRegex == null)
-                                       errorRegex = new Regex (@"^(\s*(?<file>[^\(]+)(\((?<line>\d*)(,(?<column>\d*[\+]*))?\))?:\s+)*(?<level>\w+)\s+(?<number>.*\d):\s*(?<message>.*)", RegexOptions.Compiled | RegexOptions.ExplicitCapture);
+                                       errorRegex = new Regex (ErrorRegexPattern,
+                                                       RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace);
                                return errorRegex;
                        }
                }
index 8f797a06ec86c881980f33b19b2629628d48ba7f..b1a3758e98012e9862b68bcf0d790ab2040661d5 100644 (file)
@@ -2,3 +2,4 @@ Microsoft.Build.Utilities/CommandLineBuilderTest.cs
 Microsoft.Build.Utilities/LoggerTest.cs
 Microsoft.Build.Utilities/TaskItemTest.cs
 Microsoft.Build.Utilities/TaskLoggingHelperTest.cs
+Microsoft.Build.Utilities/ToolTaskTest.cs
diff --git a/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/ToolTaskTest.cs b/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/ToolTaskTest.cs
new file mode 100644 (file)
index 0000000..8b3ae6e
--- /dev/null
@@ -0,0 +1,141 @@
+//
+// ToolTaskTest.cs:
+//
+// Author:
+//   Jonathan Pryor (jonp@xamarin.com)
+//
+// (C) 2013 Xamarin 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.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+using NUnit.Framework;
+
+namespace MonoTests.Microsoft.Build.Utilities {
+
+       [TestFixture]
+       public class ToolTaskTest {
+
+               [Test]
+               public void LogEventsFromTextOutput ()
+               {
+                       var messages = new[] {
+                               new {Code = "CS0152", Line = "class1.cs(16,4): error CS0152: The label `case 1:' already occurs in this switch statement" },
+                       };
+
+                       var task = new LogEventsFromTextOutputToolTask ();
+                       foreach (var m in messages) {
+                               task.LogEventsFromTextOutput (m.Line);
+                               Assert.IsTrue (task.Codes.Count > 0, "No error logged for line: {0}", m.Line);
+                               Assert.AreEqual (m.Code, task.Codes [0]);
+                               task.Codes.Clear ();
+                       }
+               }
+       }
+
+       class LogEventsFromTextOutputToolTask : ToolTask {
+
+               public List<string> Codes {
+                       get {return engine.Codes;}
+               }
+
+               CodeLoggingBuildEngine engine = new CodeLoggingBuildEngine ();
+
+               public LogEventsFromTextOutputToolTask ()
+               {
+                       BuildEngine = engine;
+               }
+
+               protected override string GenerateFullPathToTool ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               protected override string ToolName {
+                       get {throw new NotImplementedException ();}
+               }
+
+               public void LogEventsFromTextOutput (string line)
+               {
+                       base.LogEventsFromTextOutput (line, MessageImportance.Normal);
+               }
+       }
+
+       class CodeLoggingBuildEngine : IBuildEngine {
+
+               public List<string> Codes = new List<string> ();
+
+               public int ColumnNumberOfTaskNode {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               public bool ContinueOnError {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               public int LineNumberOfTaskNode {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               public string ProjectFileOfTaskNode {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               public bool BuildProjectFile (string projectFileName, string[] targetNames, System.Collections.IDictionary globalProperties, System.Collections.IDictionary targetOutputs)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public void LogCustomEvent (CustomBuildEventArgs e)
+               {
+               }
+
+               public void LogErrorEvent (BuildErrorEventArgs e)
+               {
+                       Codes.Add (e.Code);
+               }
+
+               public void LogMessageEvent (BuildMessageEventArgs e)
+               {
+               }
+
+               public void LogWarningEvent (BuildWarningEventArgs e)
+               {
+                       Codes.Add (e.Code);
+               }
+       }
+}
+
index 173638c9831d345bb3b5c0faa7b528e6eb287295..339dd9094efad8897e0fb38bb435ac4272dc3eab 100644 (file)
@@ -19,7 +19,9 @@ LIB_MCS_FLAGS = \
        /r:Microsoft.Build.Engine.dll           \
        /r:Microsoft.Build.Framework.dll
        
-TEST_MCS_FLAGS = /r:System.Core.dll
+TEST_MCS_FLAGS = /r:System.Core.dll            \
+       /r:Microsoft.Build.Engine.dll           \
+       /r:Microsoft.Build.Framework.dll
 
 EXTRA_DISTFILES = \
        Test/FunctionalTestReferenceProject.csproj      \
index 161476c2c0b57d0e734a88e8650639cc77a37dd6..476d4d0a5be286f9e54850a592ad5b793a6980d3 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using Microsoft.Build.Framework;
-
 using System;
+using System.Globalization;
+using Microsoft.Build.Framework;
 
 namespace Microsoft.Build.Logging
 {
-        public class ConsoleLogger : INodeLogger
-        {
-                public ConsoleLogger ()
-                        : this (LoggerVerbosity.Normal)
-                {
-                }
-
-                public ConsoleLogger (LoggerVerbosity verbosity)
-                {
-                        throw new NotImplementedException ();
-                }
-
-                public ConsoleLogger (LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
-                {
-                        throw new NotImplementedException ();
-                }
-
-                #region INodeLogger implementation
-                public void Initialize (IEventSource eventSource, int nodeCount)
-                {
-                        throw new NotImplementedException ();
-                }
-                #endregion
-
-                #region ILogger implementation
-                public void Initialize (IEventSource eventSource)
-                {
-                        throw new NotImplementedException ();
-                }
-
-                public void Shutdown ()
-                {
-                        throw new NotImplementedException ();
-                }
-
-                public string Parameters {
-                        get {
-                                throw new NotImplementedException ();
-                        }
-                        set {
-                                throw new NotImplementedException ();
-                        }
-                }
-
-                public LoggerVerbosity Verbosity {
-                        get {
-                                throw new NotImplementedException ();
-                        }
-                        set {
-                                throw new NotImplementedException ();
-                        }
-                }
-                #endregion
-        }
+       public class ConsoleLogger : INodeLogger
+       {
+               public ConsoleLogger ()
+                       : this (LoggerVerbosity.Normal)
+               {
+               }
+
+               public ConsoleLogger (LoggerVerbosity verbosity)
+                       : this (verbosity, message => Console.WriteLine (message), color => Console.ForegroundColor = color, Console.ResetColor)
+               {
+               }
+
+               public ConsoleLogger (LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
+               {
+                       if (write == null)
+                               throw new ArgumentNullException ("write");
+                       if (colorSet == null)
+                               throw new ArgumentNullException ("colorSet");
+                       if (colorReset == null)
+                               throw new ArgumentNullException ("colorReset");
+                       Verbosity = verbosity;
+                       this.write = write;
+                       set_color = colorSet;
+                       reset_color = colorReset;
+               }
+
+               WriteHandler write;
+               ColorSetter set_color;
+               ColorResetter reset_color;
+
+               #region INodeLogger implementation
+
+               public virtual void Initialize (IEventSource eventSource, int nodeCount)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               #endregion
+
+               #region ILogger implementation
+
+               public virtual void Initialize (IEventSource eventSource)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public virtual void Shutdown ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public string Parameters { get; set; }
+
+               public LoggerVerbosity Verbosity { get; set; }
+
+               public bool ShowSummary { get; set; }
+
+               public bool SkipProjectStartedText { get; set; }
+               
+               public WriteHandler WriteHandler {
+                       get { return write; }
+                       set {
+                               if (value == null)
+                                       throw new ArgumentNullException ("value");
+                               write = value;
+                       }
+               }
+
+               #endregion
+
+               public void ApplyParameter (string parameterName, string parameterValue)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               DateTime build_started;
+
+               public void BuildFinishedHandler (object sender, BuildFinishedEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet || Verbosity == LoggerVerbosity.Minimal)
+                               return;
+
+                       set_color (ConsoleColor.White);
+                       write (e.Message);
+                       write ("");
+                       write ("");
+                       write ("");
+                       // .NET doesn't care if BuildStarted is actually invoked.
+                       write (string.Format ("Time Elapsed {0}", (e.Timestamp - build_started).ToString ("hh\\:mm\\:ss\\.ff")));
+                       write ("");
+                       reset_color ();
+               }
+
+               public void BuildStartedHandler (object sender, BuildStartedEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet || Verbosity == LoggerVerbosity.Minimal)
+                               return;
+
+                       build_started = e.Timestamp;
+                       set_color (ConsoleColor.White);
+                       write (string.Format ("Build started {0}.", e.Timestamp.ToString ("yyyy/MM/dd HH:mm:ss")));
+                       write ("");
+                       reset_color ();
+               }
+
+               public void CustomEventHandler (object sender, CustomBuildEventArgs e)
+               {
+                       // nothing happens.
+               }
+
+               string GetLocation (int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber)
+               {
+                       string line = null, col = null;
+                       if (lineNumber > 0) {
+                               if (endLineNumber > 0)
+                                       line = string.Format ("{0}-{1}", lineNumber, endLineNumber);
+                               else
+                                       line = lineNumber.ToString ();
+                       }
+                       if (columnNumber > 0) {
+                               if (endColumnNumber > 0)
+                                       col = string.Format ("{0}-{1}", columnNumber, endColumnNumber);
+                               else
+                                       col = columnNumber.ToString ();
+                       }
+                       string loc = line != null ? line + (col != null ? "," + col : null) : null;
+                       return string.IsNullOrEmpty (loc) ? string.Empty : '(' + loc + ')';
+               }
+               
+               public void ErrorHandler (object sender, BuildErrorEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet)
+                               return;
+
+                       set_color (ConsoleColor.Red);
+                       string loc = GetLocation (e.LineNumber, e.ColumnNumber, e.EndLineNumber, e.EndColumnNumber);
+                       write (string.Format ("{0}{1} : {2} error {3}: {4}", e.File, loc, e.Subcategory, e.Code, e.Message));
+                       write ("");
+                       reset_color ();
+               }
+               
+               public void MessageHandler (object sender, BuildMessageEventArgs e)
+               {
+                       switch (e.Importance) {
+                       case MessageImportance.High:
+                               set_color (ConsoleColor.White);
+                               break;
+                       case MessageImportance.Low:
+                       case MessageImportance.Normal:
+                               set_color (ConsoleColor.Gray);
+                               break;
+                       }
+                       write (e.Message);
+                       reset_color ();
+               }
+
+               public void ProjectFinishedHandler (object sender, ProjectFinishedEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet || Verbosity == LoggerVerbosity.Minimal)
+                               return;
+
+                       set_color (ConsoleColor.Cyan);
+                       write (e.Message);
+                       write ("");
+                       write ("");
+                       write ("");
+                       reset_color ();
+               }
+               
+               public void ProjectStartedHandler (object sender, ProjectStartedEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet || Verbosity == LoggerVerbosity.Minimal)
+                               return;
+
+                       set_color (ConsoleColor.Cyan);
+                       write ("__________________________________________________");
+                       write ("");
+                       write (string.Format ("Project \"{0}\" ({1} target(s)):", e.ProjectFile, e.TargetNames));
+                       write ("");
+                       write ("");
+                       write ("");
+                       reset_color ();
+               }
+               
+               public void TargetFinishedHandler (object sender, TargetFinishedEventArgs e)
+               {
+                       if (Verbosity != LoggerVerbosity.Detailed && Verbosity != LoggerVerbosity.Diagnostic)
+                               return;
+
+                       set_color (ConsoleColor.Cyan);
+                       write (e.Message);
+                       write ("");
+                       write ("");
+                       write ("");
+                       reset_color ();
+               }
+
+               public void TargetStartedHandler (object sender, TargetStartedEventArgs e)
+               {
+                       if (Verbosity != LoggerVerbosity.Detailed && Verbosity != LoggerVerbosity.Diagnostic)
+                               return;
+
+                       string message = Verbosity == LoggerVerbosity.Detailed ?
+                               string.Format ("Target \"{0}\":", e.TargetName) :
+                               string.Format ("Target \"{0}\" in file \"{1}\":", e.TargetName, e.TargetFile);
+
+                       set_color (ConsoleColor.Cyan);
+                       write (message);
+                       write ("");
+                       reset_color ();
+               }
+               
+               public void TaskFinishedHandler (object sender, TaskFinishedEventArgs e)
+               {
+                       if (Verbosity != LoggerVerbosity.Detailed && Verbosity != LoggerVerbosity.Diagnostic)
+                               return;
+
+                       set_color (ConsoleColor.Cyan);
+                       write ("  " + e.Message);
+                       write ("");
+                       reset_color ();
+               }
+
+               public void TaskStartedHandler (object sender, TaskStartedEventArgs e)
+               {
+                       if (Verbosity != LoggerVerbosity.Detailed && Verbosity != LoggerVerbosity.Diagnostic)
+                               return;
+
+                       set_color (ConsoleColor.Cyan);
+                       write ("  " + e.Message);
+                       write ("");
+                       reset_color ();
+               }
+               
+               public void WarningHandler (object sender, BuildWarningEventArgs e)
+               {
+                       if (Verbosity == LoggerVerbosity.Quiet)
+                               return;
+
+                       set_color (ConsoleColor.Yellow);
+                       string loc = GetLocation (e.LineNumber, e.ColumnNumber, e.EndLineNumber, e.EndColumnNumber);
+                       write (string.Format ("{0}{1} : {2} warning {3}: {4}", e.File, loc, e.Subcategory, e.Code, e.Message));
+                       write ("");
+                       reset_color ();
+               }
+       }
 }
 
index 331d29ab9b268324d5eb2890ec5e40dc5f8afc87..be9d2f0869d4502baa1550db92996541958386de 100644 (file)
 //
 
 using System;
+using Microsoft.Build.Framework;
 
 namespace Microsoft.Build.Logging
 {
-        public class FileLogger
-        {
-        }
+       public class FileLogger : ConsoleLogger
+       {
+               public override void Initialize (IEventSource eventSource)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public override void Initialize (IEventSource eventSource, int nodeCount)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public override void Shutdown ()
+               {
+                       throw new NotImplementedException ();
+               }
+       }
 }
 
index 0258038dccf7feb6250e0e620a6c9104d6477b9f..0c25ab811243d908f8eec34d32a72954a3537889 100644 (file)
@@ -1,2 +1,3 @@
 FunctionalTest.cs
 Microsoft.Build.Internal/CollectionFromEnumerableTest.cs
+Microsoft.Build.Logging/ConsoleLoggerTest.cs
diff --git a/mcs/class/Microsoft.Build/Test/Microsoft.Build.Logging/ConsoleLoggerTest.cs b/mcs/class/Microsoft.Build/Test/Microsoft.Build.Logging/ConsoleLoggerTest.cs
new file mode 100644 (file)
index 0000000..8dd705f
--- /dev/null
@@ -0,0 +1,72 @@
+
+using System;
+using System.IO;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Logging;
+using NUnit.Framework;
+
+namespace MonoTests.Microsoft.Build.Logging
+{
+       [TestFixture]
+       public class ConsoleLoggerTest
+       {
+               [Test]
+               public void BasicLoggerUsage ()
+               {
+                       string expected = @"file : cat error code: msg
+
+file : cat warning code: msg
+
+__________________________________________________
+
+Project ""project.txt"" (target target(s)):
+
+
+
+Build started 2013/01/01 00:00:00.
+
+Target ""target"" in file ""target.txt"":
+
+  start task
+
+  finished task
+
+finished target
+
+
+
+finished project
+
+
+
+finished build
+
+
+
+Time Elapsed 00:00:00.01
+
+".Replace ("\r\n", "\n");
+                       var sw = new StringWriter();
+                       var e = new ConsoleLogger(LoggerVerbosity.Diagnostic, msg => sw.WriteLine(msg), c => {}, () => {});
+                       e.Verbosity = LoggerVerbosity.Diagnostic;
+                       e.ErrorHandler (null, new BuildErrorEventArgs ("cat", "code", "file", 0, 0, 0, 0, "msg", "help", "sender"));
+                       e.WarningHandler (null, new BuildWarningEventArgs ("cat", "code", "file", 0, 0, 0, 0, "msg", "help", "sender"));
+                       e.ProjectStartedHandler (null, new ProjectStartedEventArgs ("start project", "HELPME", "project.txt", "target", null, null));
+                       e.BuildStartedHandler (null, new BuildStartedEventArgs ("start build", "HELPME", new DateTime (2013, 1, 1)));
+                       e.TargetStartedHandler (null, new TargetStartedEventArgs ("start target", "HELPME", "target", "project.txt", "target.txt"/*, "parent"*/));
+                       e.TaskStartedHandler (null, new TaskStartedEventArgs ("start task", "HELPME", "project.txt", "task.txt", "task"));
+                       e.TaskFinishedHandler (null, new TaskFinishedEventArgs ("finished task", "HELPME", "project.txt", "task.txt", "task", false));
+                       e.TargetFinishedHandler (null, new TargetFinishedEventArgs ("finished target", "HELPME", "target", "project.txt", "target.txt", false));
+                       e.ProjectFinishedHandler (null, new ProjectFinishedEventArgs ("finished project", "HELPME", "project.txt", false));
+                       e.BuildFinishedHandler (null, new BuildFinishedEventArgs ("finished build", "HELPME", false, new DateTime (2013, 1, 1).AddMilliseconds (1)));
+
+                       e.CustomEventHandler(null, new MyCustomBuildEventArgs ());
+                       Assert.AreEqual (expected, sw.ToString ().Replace ("\r\n", "\n"), "#1");
+               }
+       }
+       
+       class MyCustomBuildEventArgs : CustomBuildEventArgs
+       {
+       }
+}
+
index 2213e739593a95424f947c58b813ae874b489db6..d525b684bf159174732db8ee23edcee288e7b6bd 100644 (file)
@@ -132,6 +132,13 @@ public struct GStruct<T> {
        }
 }
 
+public struct NestedStruct {
+       NestedInner nested1, nested2;
+}
+
+public struct NestedInner {
+}
+
 interface ITest
 {
        void Foo ();
@@ -202,6 +209,7 @@ public class Tests : TestsBase, ITest2
        [ThreadStatic]
        public static int tls_i;
        public static bool is_attached = Debugger.IsAttached;
+       public NestedStruct nested_struct;
 
 #pragma warning restore 0414
 
index 68fb0d1bcde4e0b00e253122989aa73f0d06bca8..173756c49342b3f4f75f4d32411e579c3f5cab7f 100644 (file)
@@ -1325,6 +1325,10 @@ public class DebuggerTests
                Assert.AreEqual ("AStruct", s.Type.Name);
                AssertValue (42, s ["i"]);
 
+               // Check decoding of nested structs (#14942)
+               obj = o.GetValue (o.Type.GetField ("nested_struct"));
+               o.SetValue (o.Type.GetField ("nested_struct"), obj);
+
                // Check round tripping of boxed struct fields (#12354)
                obj = o.GetValue (o.Type.GetField ("boxed_struct_field"));
                o.SetValue (o.Type.GetField ("boxed_struct_field"), obj);
@@ -2267,8 +2271,13 @@ public class DebuggerTests
                while (invoke_results.Count < 2) {
                        Thread.Sleep (100);
                }
-               AssertValue ("ABC", invoke_results [0]);
-               AssertValue (42, invoke_results [1]);
+               if (invoke_results [0] is PrimitiveValue) {
+                       AssertValue ("ABC", invoke_results [1]);
+                       AssertValue (42, invoke_results [0]);
+               } else {
+                       AssertValue ("ABC", invoke_results [0]);
+                       AssertValue (42, invoke_results [1]);
+               }
        }
 
        void invoke_multiple_cb (IAsyncResult ar) {
index 1c4f6b08792a96cf6c2535772dc41cec568c8c08..66fdc90759c1ab04ea4c4268671997b0fe130698 100644 (file)
@@ -66,14 +66,8 @@ namespace System.ComponentModel.DataAnnotations
                        //
                        // See: http://en.wikipedia.org/wiki/Luhn_algorithm
                        // See: http://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers
-                       // See: http://www.codeproject.com/Tips/515367/Validate-credit-card-number-with-Mod-10-algorithm
 
-                       int sumOfDigits = creditCardNumber.Where((e) => e >= '0' && e <= '9')
-                               .Reverse()
-                               .Select((e, i) => ((int)e - 48) * (i % 2 == 0 ? 1 : 2))
-                               .Sum((e) => e / 10 + e % 10);
-
-                       return sumOfDigits % 10 == 0;
+                       return true;    
                }
        }
 }
index dd71f438839b7dd505ff95b1d593177599df1905..5d79b926c19d1b8eed45b059188f23ba1e42b882 100644 (file)
@@ -40,12 +40,254 @@ namespace System.ComponentModel.DataAnnotations
        public class EmailAddressAttribute : DataTypeAttribute
        {
                private const string DefaultErrorMessage = "The {0} field is not a valid e-mail address.";
-               // See: http://stackoverflow.com/questions/16167983/best-regular-expression-for-email-validation-in-c-sharp
-               // See: http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
-               private const string _emailRegexStr =   @"[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*" +
-                                                       @"@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-z0-9])?\.)+(?:[A-Za-z]{2}|" +
-                                                       @"com|org|net|edu|gov|cat|mil|biz|info|mobi|name|aero|asia|jobs|museum|coop|travel|post|pro|tel|int|xxx)\b";
-               private static Regex _emailRegex = new Regex (_emailRegexStr, RegexOptions.IgnoreCase | RegexOptions.Compiled);
+               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)
@@ -59,13 +301,11 @@ namespace System.ComponentModel.DataAnnotations
                        if (value == null)
                                return true;
 
-                       if (value is string)
-                       {
-                               var str = value as string;
-                               return !string.IsNullOrEmpty(str) ? _emailRegex.IsMatch(str) : false;
-                       }
+                       string email = value as string;
+                       if (email == null)
+                               return false;
 
-                       return false;
+                       return Validate (email);
                }
        }
 }
index 5040ed098aa6f7c7d9174f20b3701c0e19857d76..67ed9dac2838569db0ad35c9e20250bd796767a3 100644 (file)
@@ -51,7 +51,9 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
                        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 657dc2432f02004aa1a8512fabca67c313987a61..09350cde8fda4bed66a18cdf15273dfb0cbce995 100644 (file)
@@ -40,18 +40,47 @@ namespace MonoTests.System.ComponentModel.DataAnnotations
        [TestFixture]
        public class EmailAddressAttributeTest
        {
+               static readonly object[] ValidAddresses = new object[] {
+                       null,
+                       "\"Abc\\@def\"@example.com",
+                       "\"Fred Bloggs\"@example.com",
+                       "\"Joe\\\\Blow\"@example.com",
+                       "\"Abc@def\"@example.com",
+                       "customer/department=shipping@example.com",
+                       "$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[] {
+                       "",
+                       123,
+                       DateTime.Now,
+                       "invalid",
+                       "invalid@",
+                       "invalid @",
+                       "invalid@[555.666.777.888]",
+                       "invalid@[IPv6:123456]",
+                       "invalid@[127.0.0.1.]",
+                       "invalid@[127.0.0.1].",
+                       "invalid@[127.0.0.1]x",
+               };
+
                [Test]
                public void IsValid ()
                {
                        var sla = new EmailAddressAttribute ();
 
-                       Assert.IsTrue (sla.IsValid (null), "#A1-1");
-                       Assert.IsFalse (sla.IsValid (String.Empty), "#A1-2");
-                       Assert.IsFalse (sla.IsValid ("string"), "#A1-3");
-                       Assert.IsTrue (sla.IsValid ("addr@mail.com"), "#A1-4");
-                       Assert.IsTrue (sla.IsValid ("addr@sub.mail.com"), "#A1-5");
-                       Assert.IsFalse (sla.IsValid (123), "#A1-6");
-                       Assert.IsFalse (sla.IsValid (DateTime.Now), "#A1-7");
+                       for (int i = 0; i < ValidAddresses.Length; i++)
+                               Assert.IsTrue (sla.IsValid (ValidAddresses[i]), "#A1-{0}", i);
+
+                       for (int i = 0; i < InvalidAddresses.Length; i++)
+                               Assert.IsFalse (sla.IsValid (InvalidAddresses[i]), "#B1-{0}", i);
                }
        }
 #endif
index 743a3c72ed81aaacc5c0dfb9c184e8092a48fcff..3e1ce93078593b520eef6e119a8529de49534402 100644 (file)
@@ -225,6 +225,11 @@ namespace System.Data.OracleClient.Oci
                                int xtramem_sz,
                                IntPtr usrmempp);
 
+                       [DllImport ("oci")]
+                       internal static extern int OCICacheFree (IntPtr envhp,
+                               IntPtr errhp,
+                               IntPtr stmthp);
+
                        [DllImport ("oci")]
                        internal static extern int OCIAttrGet (IntPtr trgthndlp,
                                [MarshalAs (UnmanagedType.U4)] OciHandleType trghndltyp,
@@ -464,7 +469,7 @@ namespace System.Data.OracleClient.Oci
                                [MarshalAs (UnmanagedType.SysUInt)] int dstlen,
                                byte [] src,
                                [MarshalAs (UnmanagedType.SysUInt)] int srclen,
-                               [MarshalAs (UnmanagedType.SysUInt)] out int rsize);
+                               out long rsize);
 
                        [DllImport ("oci")]
                        internal static extern int OCIUnicodeToCharSet (
@@ -473,7 +478,7 @@ namespace System.Data.OracleClient.Oci
                                [MarshalAs (UnmanagedType.SysUInt)] int dstlen,
                                [MarshalAs (UnmanagedType.LPWStr)] string src,
                                [MarshalAs (UnmanagedType.SysUInt)] int srclen,
-                               [MarshalAs (UnmanagedType.SysUInt)] out int rsize);
+                               out long rsize);
                }
 
                #endregion
@@ -774,6 +779,16 @@ namespace System.Data.OracleClient.Oci
                                xtramem_sz, usrmempp);
                }
 
+               internal static int OCICacheFree (IntPtr envhp,
+                       IntPtr svchp,
+                       IntPtr stmthp)
+               {
+                       #if TRACE
+                       Trace.WriteLineIf(traceOci, "OCICacheFree", "OCI");
+                       #endif
+                       return OciNativeCalls.OCICacheFree (envhp, svchp, stmthp);
+               }
+
                internal static int OCIAttrGet (IntPtr trgthndlp,
                        OciHandleType trghndltyp,
                        out IntPtr attributep,
@@ -1185,24 +1200,37 @@ namespace System.Data.OracleClient.Oci
                        byte [] src,
                        out int rsize)
                {
+                       int rc;
+                       long retSize;
+
                        #if TRACE
                        Trace.WriteLineIf(traceOci, "OCICharSetToUnicode", "OCI");
                        #endif
-
-                       return OciNativeCalls.OCICharSetToUnicode (svchp, dst, dst!=null ? dst.Capacity : 0, src, src.Length, out rsize);
+                       rc = OciNativeCalls.OCICharSetToUnicode (svchp, dst,
+                                               (dst != null ? dst.Capacity : 0), 
+                                               src, src.Length, out retSize);
+                       rsize = (int) retSize;
+                       return(rc);
                }
 
                internal static int OCIUnicodeToCharSet (
                        IntPtr svchp,
                        byte [] dst,
-                       [MarshalAs (UnmanagedType.LPWStr)] string src,
-                       [MarshalAs (UnmanagedType.SysUInt)] out int rsize)
+                       string src,
+                       out int rsize)
                {
+                       int rc;
+                       long retSize;
+
                        #if TRACE
                        Trace.WriteLineIf(traceOci, "OCIUnicodeToCharSet", "OCI");
                        #endif
 
-                       return OciNativeCalls.OCIUnicodeToCharSet (svchp, dst, dst!=null ? dst.Length : 0, src, src.Length, out rsize);
+                       rc = OciNativeCalls.OCIUnicodeToCharSet (svchp, dst,
+                                       (dst != null ? dst.Length : 0), 
+                                       src, src.Length, out retSize);
+                       rsize = (int) retSize;
+                       return(rc);
                }
 
                [DllImport ("oci")]
index 31afb5cb3246e972c630e1a79980dc261064d5cf..8bbd545fa4be8cdcec7472e477d98cbbaff4b7ca 100644 (file)
@@ -32,6 +32,7 @@ namespace System.Data.OracleClient.Oci {
                bool moreResults;
                OciServiceHandle serviceHandle;
                ArrayList values;
+               ArrayList parm;
                OracleCommand command;
        
                #endregion // Fields
@@ -82,12 +83,11 @@ namespace System.Data.OracleClient.Oci {
                                
                                if (disposing) {
                                        if (values != null) {
-                                               foreach (OciDefineHandle h in values)
+                                               foreach (OciDefineHandle h in values) 
                                                        h.Dispose ();
                                                values = null;
                                        }
                                }
-                               
                                base.Dispose (disposing);
                        }
                }
@@ -110,6 +110,9 @@ namespace System.Data.OracleClient.Oci {
 
                        OciParameterDescriptor output = new OciParameterDescriptor (this, handle);
                        output.ErrorHandle = ErrorHandle;
+                       if (parm == null)
+                               parm = new ArrayList();
+                       parm.Add(handle);
                        return output;
                }
 
@@ -228,6 +231,8 @@ namespace System.Data.OracleClient.Oci {
                        switch (status) {
                        case OciGlue.OCI_NO_DATA:
                                moreResults = false;
+                               foreach (IntPtr h in parm)
+                                       OciCalls.OCIDescriptorFree(h, OciHandleType.Parameter);
                                break;
                        case OciGlue.OCI_DEFAULT:
                                moreResults = true;
index db39d3d551fe0ba6d4a1031cce61ca67fd66604e..eee81ab0c01f5563b97ca7abac235167c8b55c65 100644 (file)
@@ -27,6 +27,7 @@ using System.Data.Common;
 using System.Data.OracleClient.Oci;
 using System.Drawing.Design;
 using System.Text;
+using System.Threading;
 
 namespace System.Data.OracleClient
 {
@@ -705,7 +706,7 @@ namespace System.Data.OracleClient
 
                private void SafeDisposeHandle (OciStatementHandle h)
                {
-                       if (h != null && h != preparedStatement)
+                       if (h != null && h != preparedStatement) 
                                h.Dispose();
                }
 
@@ -757,6 +758,9 @@ namespace System.Data.OracleClient
 
                protected override void Dispose (bool disposing)
                {
+                       if (preparedStatement != null) 
+                               OciCalls.OCIHandleFree(preparedStatement,
+                                                      OciHandleType.Statement);
                        if (disposing)
                                if (Parameters.Count > 0)
                                        foreach (OracleParameter parm in Parameters)
index df17716097dbae6007a10a25bcc7dea4e652ee27..6f11d970f0d46c04f10686f54d92b13fa113a130 100644 (file)
@@ -821,8 +821,11 @@ namespace System.Data.OracleClient
                                        if (direction == ParameterDirection.Output || 
                                                direction == ParameterDirection.InputOutput || 
                                                direction == ParameterDirection.ReturnValue) {
-
-                                               cursor = IntPtr.Zero;
+                                               if (cursor != IntPtr.Zero) {
+                                                       OciCalls.OCIHandleFree (cursor,
+                                                               OciHandleType.Statement);
+                                                       cursor = IntPtr.Zero;
+                                               }
                                                OciCalls.OCIHandleAlloc (connection.Environment,
                                                        out cursor,
                                                        OciHandleType.Statement,
index 3fb973f5397341aefd97e3df5d2a95564e5860dc..354dba96bf74eb5a8297101d76e68c067b95b844 100644 (file)
@@ -247,7 +247,8 @@ namespace System.Net.Http
                        wr.PreAuthenticate = preAuthenticate;
 
                        if (useCookies) {
-                               wr.CookieContainer = cookieContainer;
+                               // It cannot be null or allowAutoRedirect won't work
+                               wr.CookieContainer = CookieContainer;
                        }
 
                        if (useDefaultCredentials) {
index d15a4733fc86bdf4690ac093e06637ac911ea642..45ec6fbd415f89bf52f3b5fb94204a9929e080a9 100644 (file)
@@ -162,7 +162,7 @@ namespace System.Runtime.Serialization.Json
                                                return null;
                                        }
                                        else
-                                               return new Uri (reader.ReadElementContentAsString ());
+                                               return new Uri (reader.ReadElementContentAsString (), UriKind.RelativeOrAbsolute);
                                } else if (type == typeof (XmlQualifiedName)) {
                                        s = reader.ReadElementContentAsString ();
                                        int idx = s.IndexOf (':');
index cba0fb87bc68f9089872dacf89349470fbca17f9..fbe9250e572d3d2cac86618e3894daf35121e77c 100644 (file)
@@ -1467,6 +1467,25 @@ namespace MonoTests.System.Runtime.Serialization.Json
                        result = entity.GetValue;
                        Assert.AreEqual ("ValueA", result, "#1");
                }
+
+               [DataContract(Name = "UriTest")]
+               public class UriTest
+               {
+                       [DataMember(Name = "members")]
+                       public Uri MembersRelativeLink { get; set; }
+               }
+
+               [Test]
+               public void Bug15169 ()
+               {
+                       const string json = "{\"members\":\"foo/bar/members\"}";
+                       var serializer = new DataContractJsonSerializer (typeof (UriTest));
+                       UriTest entity;
+                       using (var stream = new MemoryStream (Encoding.UTF8.GetBytes (json)))
+                               entity = (UriTest) serializer.ReadObject (stream);
+
+                       Assert.AreEqual ("foo/bar/members", entity.MembersRelativeLink.ToString ());
+               }
        }
        
        public class CharTest
index 2186adc2da3356304770750fc9b370668181b0f4..b0ebe6bbce18fa761ba39077e7c3abefd9c72ed8 100644 (file)
 
 RUNTIME = mono
 
-ifeq ($(PROFILE), net_2_0)
-       nunit_MONO_PATH="../../../../../class/lib/net_2_0"
-       CSCOMPILE=MONO_PATH=../../../../../class/lib/net_2_0 ../../../../../../mono/runtime/mono-wrapper ../../../../../class/lib/net_2_0/gmcs.exe
-else
-       nunit_MONO_PATH="../../../../../class/lib/net_1_1"
-       CSCOMPILE=mcs
-endif
+nunit_MONO_PATH="../../../../../class/lib/net_4_5"
+CSCOMPILE=MONO_PATH=../../../../../class/lib/net_4_5 ../../../../../../runtime/mono-wrapper ../../../../../class/lib/build/mcs.exe
 
 TEST_ARCHIVE = xslt-testsuite-03.ZIP
 CATALOG = testsuite/TESTS/catalog.xml
 FIXED_CATALOG = testsuite/TESTS/catalog-fixed.xml
 
-mono_wrapper_PATH="../../../../../../mono/runtime/mono-wrapper"
-NUNIT_CONSOLE=$(mono_wrapper_PATH) --debug ./nunit-console.exe
+mono_wrapper_PATH="../../../../../../runtime/mono-wrapper"
+NUNIT_CONSOLE=$(mono_wrapper_PATH) --debug $(nunit_MONO_PATH)/nunit-console.exe
 
 FIXTURE=MonoTests.oasis_xslt.SuiteBuilder
-CLEAN_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=TestResult.xml /include=Clean
-FAILED_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=FailedTestResult.xml /include=KnownFailures
-ALL_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=AllTestResult.xml /out=AllTestResult.log /include=KnownFailures,Clean
+CLEAN_NUNIT_FLAGS=-fixture:$(FIXTURE) -xml=TestResult.xml -include=Clean
+FAILED_NUNIT_FLAGS=-fixture:$(FIXTURE) -xml=FailedTestResult.xml -include=KnownFailures
+ALL_NUNIT_FLAGS=-fixture:$(FIXTURE) -xml=AllTestResult.xml -out=AllTestResult.log -include=KnownFailures,Clean
 
 TEST_PROG=xslttest.dll
 GENERATE_EXE=generate.exe
@@ -41,7 +36,7 @@ else
 REFERENCE_RESULTS_NAME=results
 endif
 REFERENCE_RESULTS_ARCHIVE=xslt-reference-$(REFERENCE_RESULTS_NAME).tar.gz
-REFERENCE_RESULTS_URL=http://anonsvn.mono-project.com/source/trunk/release/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
+REFERENCE_RESULTS_URL=https://github.com/mono/release/raw/master/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
 REFERENCE_RESULTS=$(REFERENCE_RESULTS_NAME)/timestamp
 
 test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
@@ -92,7 +87,7 @@ $(GENERATE_EXE) : generate.cs XsltTestUtils.cs
        # It somehow does not work fine unless nunit-console.exe is here ...
        cp $(nunit_MONO_PATH)/nunit-console.exe .
 $(TEST_PROG) : xslttest.cs XsltTestUtils.cs
-       $(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:nunit.core -r:nunit.framework -out:$@ -t:library
+       $(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:nunit.core -r:nunit.core.interfaces -r:nunit.framework -out:$@ -t:library
 
 catalog-fixed : $(FIXED_CATALOG)
 
index 8ecd22edf47ce9c3d9a8c12956fce9f5b6a784ed..0761338aef3ce0f865af73d31135df098bb27a12 100644 (file)
@@ -17,10 +17,8 @@ namespace MonoTests.oasis_xslt {
                ArrayList fixmeList = new ArrayList ();
                #endregion
        
-               TestSuite _suite;
-               SuiteBuilder (TestSuite suite)
+               public SuiteBuilder ()
                {
-                       _suite = suite;
                }
 
                void ReadLists ()
@@ -42,7 +40,7 @@ namespace MonoTests.oasis_xslt {
                        }
                }
 
-               public void Build ()
+               void Build (TestSuite suite)
                {
 //                     if (Environment.GetEnvironmentVariables().Contains("START_DEBUG"))
 //                             System.Diagnostics.Debugger.Launch ();
@@ -65,18 +63,23 @@ namespace MonoTests.oasis_xslt {
                                string expectedException = (string) expectedExceptions[testid];
                                bool isKnownFailure = knownFailures.Contains (testid) || fixmeList.Contains (testid);
 
-                               _suite.Add (new TestFromCatalog (testid, stt, expectedException,
+                               suite.Add (new TestFromCatalog (testid, stt, expectedException,
                                        EnvOptions.InverseResults, isKnownFailure));
                        }
                }
 
+               static object lock_obj = new object ();
+               static TestSuite _suite;
+
                [Suite]
                public static TestSuite Suite { 
                        get {
+                               if (_suite == null) { lock (lock_obj) {
                                TestSuite suite = new TestSuite ("MonoTests.oasis_xslt.SuiteBuilder");
-                               SuiteBuilder builder = new SuiteBuilder (suite);
-                               builder.Build ();
-                               return suite;
+                               new SuiteBuilder ().Build (suite);
+                               _suite = suite;
+                               } }
+                               return _suite;
                        }
                }
        }
@@ -99,7 +102,7 @@ namespace MonoTests.oasis_xslt {
                        ArrayList arr = new ArrayList ();
                        if (isKnownFailure) {
                                arr.Add ("KnownFailures");
-                               this.IsExplicit = true;
+                               //this.IsExplicit = true;
                        }
                        else
                                arr.Add ("Clean");
index f38458ca3b8ce7c909bbcbf41f34b38a43a47e86..af5fd976403171be1e8800087152cf9fe9f48b03 100644 (file)
@@ -181,16 +181,20 @@ namespace System.Xml.Linq
 
                public IEnumerable <XElement> Elements (XName name)
                {
-                       foreach (XElement el in Elements ())
-                               if (el.Name == name)
+                       foreach (XNode n in Nodes ()) {
+                               XElement el = n as XElement;
+                               if (el != null && el.Name == name)
                                        yield return el;
+                       }
                }
 
                public XElement Element (XName name)
                {
-                       foreach (XElement el in Elements ())
-                               if (el.Name == name)
+                       foreach (XNode n in Nodes ()) {
+                               XElement el = n as XElement;
+                               if (el != null && el.Name == name)
                                        return el;
+                       }
                        return null;
                }
 
index 70b6430929a98ab53cd5b4a7f8b7a80854de58d7..81dea5e4a4360cdeb9f14ae5eaea19eb6fc71523 100644 (file)
@@ -382,7 +382,8 @@ namespace System.Xml.Linq
 
                public XAttribute Attribute (XName name)
                {
-                       foreach (XAttribute a in Attributes ())
+                       XAttribute next;
+                       for (XAttribute a = attr_first; a != null; a = a.NextAttribute)
                                if (a.Name == name)
                                        return a;
                        return null;
index 80d0e7b09cb0ac9fc5a9b9d086263001b5753b87..59bbceb4f92a148133bb40ee6f7f9b59e7394e5d 100644 (file)
@@ -153,7 +153,7 @@ namespace System.Xml.Linq
 
                public override string ToString ()
                {
-                       if (ns == XNamespace.None)
+                       if (Object.ReferenceEquals (ns, XNamespace.None))
                                return local;
                        return String.Concat ("{", ns.NamespaceName, "}", local);
                }
index 8353b25d2b8a02b4291f49e4932ca0966be01d24..c620e4f59920c2ccc557db25241bbcec05c79b6d 100644 (file)
@@ -165,42 +165,42 @@ namespace System.Xml.Linq
                
                internal void OnAddingObject (object addedObject)
                {
-                       OnChanging (addedObject, new XObjectChangeEventArgs (XObjectChange.Add));
+                       OnChanging (addedObject, XObjectChangeEventArgs.Add);
                }
 
                internal void OnAddedObject (object addedObject)
                {
-                       OnChanged (addedObject, new XObjectChangeEventArgs (XObjectChange.Add));
+                       OnChanged (addedObject, XObjectChangeEventArgs.Add);
                }
 
                internal void OnNameChanging (object renamedObject)
                {
-                       OnChanging (renamedObject, new XObjectChangeEventArgs (System.Xml.Linq.XObjectChange.Name));
+                       OnChanging (renamedObject, XObjectChangeEventArgs.Name);
                }
 
                internal void OnNameChanged (object renamedObject)
                {
-                       OnChanged (renamedObject, new XObjectChangeEventArgs (System.Xml.Linq.XObjectChange.Name));
+                       OnChanged (renamedObject, XObjectChangeEventArgs.Name);
                }
                
                internal void OnRemovingObject (object removedObject)
                {
-                       OnChanging (removedObject, new XObjectChangeEventArgs (XObjectChange.Remove));
+                       OnChanging (removedObject, XObjectChangeEventArgs.Remove);
                }
 
                internal void OnRemovedObject (object removedObject)
                {
-                       OnChanged (removedObject, new XObjectChangeEventArgs (XObjectChange.Remove));
+                       OnChanged (removedObject, XObjectChangeEventArgs.Remove);
                }
 
                internal void OnValueChanging (object changedObject)
                {
-                       OnChanging (changedObject, new XObjectChangeEventArgs (XObjectChange.Value));
+                       OnChanging (changedObject, XObjectChangeEventArgs.Value);
                }
 
                internal void OnValueChanged (object changedObject)
                {
-                       OnChanged (changedObject, new XObjectChangeEventArgs (XObjectChange.Value));
+                       OnChanged (changedObject, XObjectChangeEventArgs.Value);
                }
 
                
index 26039bdd79b3de87fccd138b2345b4f809967f16..62b41de358d512f71d3fdaaa3985845ae2beb990 100644 (file)
@@ -395,6 +395,20 @@ namespace Mono.CSharp
                                args.AppendFormat("\"{0}\" ",source);
                        return args.ToString();
                }
+
+               // Keep in sync with mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs
+               const string ErrorRegexPattern = @"
+                       ^
+                       (\s*(?<file>[^\(]+)                         # filename (optional)
+                        (\((?<line>\d*)(,(?<column>\d*[\+]*))?\))? # line+column (optional)
+                        :\s+)?
+                       (?<level>\w+)                               # error|warning
+                       \s+
+                       (?<number>[^:]*\d)                          # CS1234
+                       :
+                       \s*
+                       (?<message>.*)$";
+
                private static CompilerError CreateErrorFromString(string error_string)
                {
                        if (error_string.StartsWith ("BETA"))
@@ -404,8 +418,7 @@ namespace Mono.CSharp
                                return null;
 
                        CompilerError error=new CompilerError();
-                       Regex reg = new Regex (@"^(\s*(?<file>.*)\((?<line>\d*)(,(?<column>\d*))?\)(:)?\s+)*(?<level>\w+)\s*(?<number>.*):\s(?<message>.*)",
-                               RegexOptions.Compiled | RegexOptions.ExplicitCapture);
+                       Regex reg = new Regex (ErrorRegexPattern, RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace);
                        Match match=reg.Match(error_string);
                        if (!match.Success) {
                                // We had some sort of runtime crash
index da056d15336030f5a974515f73f1cbf02cb7ed4c..80c30eece70d9d13e40ed5d50ffb86c729d42938 100644 (file)
@@ -73,33 +73,36 @@ namespace System.CodeDom.Compiler {
 
                                        // note: this property *cannot* change TempDir property
                                        string temp = tempdir;
-                                       if (temp.Length == 0)
-                                               temp = GetOwnTempDir ();
+                                       if (temp.Length == 0) {
+                                               if (ownTempDir != null) {
+                                                       temp = ownTempDir;
+                                                       Directory.CreateDirectory (temp);
+                                               } else {
+                                                       temp = CreateOwnTempDir ();
+                                               }
+                                       }
 
                                        // Create a temporary file at the target directory. This ensures
                                        // that the generated file name is unique.
-                                       FileStream f = null;
-                                       do {
+                                       int test_counter = 1000;
+                                       while (true) {
                                                int num = rnd.Next ();
                                                num++;
                                                basepath = Path.Combine (temp, num.ToString("x"));
                                                string path = basepath + ".tmp";
 
                                                try {
-                                                       f = new FileStream (path, FileMode.CreateNew);
-                                               }
-                                               catch (System.IO.IOException) {
-                                                       f = null;
-                                                       continue;
-                                               }
-                                               catch {
-                                                       // avoid endless loop
+                                                       using (var f = new FileStream (path, FileMode.CreateNew)) {
+                                                               break;
+                                                       }
+                                               } catch (IOException) {
+                                                       if (test_counter-- > 0)
+                                                               continue;
+
                                                        throw;
                                                }
-                                       } while (f == null);
-                                       
-                                       f.Close ();
-                                       
+                                       }
+
                                        // and you must have discovery access to the combined path
                                        // note: the cache behaviour is tested in the CAS tests
                                        if (SecurityManager.SecurityEnabled) {
@@ -110,12 +113,9 @@ namespace System.CodeDom.Compiler {
                                return(basepath);
                        }
                }
-               
-               string GetOwnTempDir ()
-               {
-                       if (ownTempDir != null)
-                               return ownTempDir;
 
+               string CreateOwnTempDir ()
+               {
                        // this call ensure the Environment permissions check
                        string basedir = Path.GetTempPath ();
                        
@@ -245,9 +245,8 @@ namespace System.CodeDom.Compiler {
                                File.Delete (tmpFile);
                                basepath = null;
                        }
-                       if (allDeleted && ownTempDir != null) {
+                       if (allDeleted && ownTempDir != null && filenames.Length > 0) {
                                Directory.Delete (ownTempDir, true);
-                               ownTempDir = null;
                        }
                }
 
index 7ea3a7a49f776cdf1100a0675c929d9f5ed2ef68..2242c19cf589f8603b219037d45e524f953fbaf5 100644 (file)
@@ -27,7 +27,7 @@
 #if NET_4_5
 namespace System.IO.Compression {
        public enum CompressionLevel {
-               Optional,
+               Optimal,
                Fastest,
                NoCompression
        }
index c60954c949edbae9cba5756c031f8b9b79e4706a..de9754e951d0a812c3128a35c4cdcf5789991184 100644 (file)
@@ -2,8 +2,8 @@
 // System.Net.NetworkInformation.NetworkChange
 //
 // Authors:
-//     Gonzalo Paniagua Javier (gonzalo@novell.com)
-//  Aaron Bockover (abock@xamarin.com)
+//   Gonzalo Paniagua Javier (LinuxNetworkChange) (gonzalo@novell.com)
+//   Aaron Bockover (MacNetworkChange) (abock@xamarin.com)
 //
 // Copyright (c) 2006,2011 Novell, Inc. (http://www.novell.com)
 // Copyright (c) 2013 Xamarin, Inc. (http://www.xamarin.com)
 // 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
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System;
 using System.Net.Sockets;
 using System.Runtime.InteropServices;
 using System.Threading;
 
+#if NETWORK_CHANGE_STANDALONE
+namespace NetworkInformation {
+
+       public class NetworkAvailabilityEventArgs : EventArgs
+       {
+               public bool IsAvailable { get; set; }
+
+               public NetworkAvailabilityEventArgs (bool available)
+               {
+                       IsAvailable = available;
+               }
+       }
+
+       public delegate void NetworkAddressChangedEventHandler (object sender, EventArgs args);
+       public delegate void NetworkAvailabilityChangedEventHandler (object sender, NetworkAvailabilityEventArgs args);
+#else
 namespace System.Net.NetworkInformation {
-       internal interface INetworkChange {
+#endif
+
+       internal interface INetworkChange : IDisposable {
                event NetworkAddressChangedEventHandler NetworkAddressChanged;
                event NetworkAvailabilityChangedEventHandler NetworkAvailabilityChanged;
+               bool HasRegisteredEvents { get; }
        }
 
        public sealed class NetworkChange {
                static INetworkChange networkChange;
 
-               static NetworkChange ()
+               public static event NetworkAddressChangedEventHandler NetworkAddressChanged {
+                       add {
+                               lock (typeof (INetworkChange)) {
+                                       MaybeCreate ();
+                                       if (networkChange != null)
+                                               networkChange.NetworkAddressChanged += value;
+                               }
+                       }
+
+                       remove {
+                               lock (typeof (INetworkChange)) {
+                                       if (networkChange != null) {
+                                               networkChange.NetworkAddressChanged -= value;
+                                               MaybeDispose ();
+                                       }
+                               }
+                       }
+               }
+
+               public static event NetworkAvailabilityChangedEventHandler NetworkAvailabilityChanged {
+                       add {
+                               lock (typeof (INetworkChange)) {
+                                       MaybeCreate ();
+                                       if (networkChange != null)
+                                               networkChange.NetworkAvailabilityChanged += value;
+                               }
+                       }
+
+                       remove {
+                               lock (typeof (INetworkChange)) {
+                                       if (networkChange != null) {
+                                               networkChange.NetworkAvailabilityChanged -= value;
+                                               MaybeDispose ();
+                                       }
+                               }
+                       }
+               }
+
+               static void MaybeCreate ()
                {
-                       if (MacNetworkChange.IsEnabled) {
+                       if (networkChange != null)
+                               return;
+
+                       try {
                                networkChange = new MacNetworkChange ();
-                       } else {
+                       } catch {
+#if !NETWORK_CHANGE_STANDALONE
                                networkChange = new LinuxNetworkChange ();
+#endif
                        }
                }
 
-               public static event NetworkAddressChangedEventHandler NetworkAddressChanged {
-                       add { networkChange.NetworkAddressChanged += value; }
-                       remove { networkChange.NetworkAddressChanged -= value; }
+               static void MaybeDispose ()
+               {
+                       if (networkChange != null && networkChange.HasRegisteredEvents) {
+                               networkChange.Dispose ();
+                               networkChange = null;
+                       }
                }
+       }
 
-               public static event NetworkAvailabilityChangedEventHandler NetworkAvailabilityChanged {
-                       add { networkChange.NetworkAvailabilityChanged += value; }
-                       remove { networkChange.NetworkAvailabilityChanged -= value; }
+       internal sealed class MacNetworkChange : INetworkChange
+       {
+               const string DL_LIB = "/usr/lib/libSystem.dylib";
+               const string CORE_SERVICES_LIB = "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration";
+               const string CORE_FOUNDATION_LIB = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
+
+               [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
+               delegate void SCNetworkReachabilityCallback (IntPtr target, NetworkReachabilityFlags flags, IntPtr info);
+
+               [DllImport (DL_LIB)]
+               static extern IntPtr dlopen (string path, int mode);
+
+               [DllImport (DL_LIB)]
+               static extern IntPtr dlsym (IntPtr handle, string symbol);
+
+               [DllImport (DL_LIB)]
+               static extern int dlclose (IntPtr handle);
+
+               [DllImport (CORE_FOUNDATION_LIB)]
+               static extern void CFRelease (IntPtr handle);
+
+               [DllImport (CORE_FOUNDATION_LIB)]
+               static extern IntPtr CFRunLoopGetMain ();
+
+               [DllImport (CORE_SERVICES_LIB)]
+               static extern IntPtr SCNetworkReachabilityCreateWithAddress (IntPtr allocator, ref sockaddr_in sockaddr);
+
+               [DllImport (CORE_SERVICES_LIB)]
+               static extern bool SCNetworkReachabilityGetFlags (IntPtr reachability, out NetworkReachabilityFlags flags);
+
+               [DllImport (CORE_SERVICES_LIB)]
+               static extern bool SCNetworkReachabilitySetCallback (IntPtr reachability, SCNetworkReachabilityCallback callback, ref SCNetworkReachabilityContext context);
+
+               [DllImport (CORE_SERVICES_LIB)]
+               static extern bool SCNetworkReachabilityScheduleWithRunLoop (IntPtr reachability, IntPtr runLoop, IntPtr runLoopMode);
+
+               [DllImport (CORE_SERVICES_LIB)]
+               static extern bool SCNetworkReachabilityUnscheduleFromRunLoop (IntPtr reachability, IntPtr runLoop, IntPtr runLoopMode);
+
+               [StructLayout (LayoutKind.Explicit, Size = 28)]
+               struct sockaddr_in {
+                       [FieldOffset (0)] public byte sin_len;
+                       [FieldOffset (1)] public byte sin_family;
+
+                       public static sockaddr_in Create ()
+                       {
+                               return new sockaddr_in {
+                                       sin_len = 28,
+                                       sin_family = 2 // AF_INET
+                               };
+                       }
                }
-       }
 
-       internal sealed class MacNetworkChange : INetworkChange {
-               public static bool IsEnabled {
-                       get { return mono_sc_reachability_enabled () != 0; }
+               [StructLayout (LayoutKind.Sequential)]
+               struct SCNetworkReachabilityContext {
+                       public IntPtr version;
+                       public IntPtr info;
+                       public IntPtr retain;
+                       public IntPtr release;
+                       public IntPtr copyDescription;
+               }
+
+               [Flags]
+               enum NetworkReachabilityFlags {
+                       None = 0,
+                       TransientConnection = 1 << 0,
+                       Reachable = 1 << 1,
+                       ConnectionRequired = 1 << 2,
+                       ConnectionOnTraffic = 1 << 3,
+                       InterventionRequired = 1 << 4,
+                       ConnectionOnDemand = 1 << 5,
+                       IsLocalAddress = 1 << 16,
+                       IsDirect = 1 << 17,
+                       IsWWAN = 1 << 18,
+                       ConnectionAutomatic = ConnectionOnTraffic
                }
 
+               IntPtr handle;
+               IntPtr runLoopMode;
+               SCNetworkReachabilityCallback callback;
+               bool scheduledWithRunLoop;
+               NetworkReachabilityFlags flags;
+
                event NetworkAddressChangedEventHandler networkAddressChanged;
                event NetworkAvailabilityChangedEventHandler networkAvailabilityChanged;
 
                public event NetworkAddressChangedEventHandler NetworkAddressChanged {
                        add {
-                               if (value != null) {
-                                       MaybeInitialize ();
-                                       networkAddressChanged += value;
-                                       value (null, EventArgs.Empty);
-                               }
+                               value (null, EventArgs.Empty);
+                               networkAddressChanged += value;
                        }
 
-                       remove {
-                               networkAddressChanged -= value;
-                               MaybeDispose ();
-                       }
+                       remove { networkAddressChanged -= value; }
                }
 
                public event NetworkAvailabilityChangedEventHandler NetworkAvailabilityChanged {
                        add {
-                               if (value != null) {
-                                       MaybeInitialize ();
-                                       networkAvailabilityChanged += value;
-                                       var available = handle != IntPtr.Zero && mono_sc_reachability_is_available (handle) != 0;
-                                       value (null, new NetworkAvailabilityEventArgs (available));
-                               }
+                               value (null, new NetworkAvailabilityEventArgs (IsAvailable));
+                               networkAvailabilityChanged += value;
                        }
 
-                       remove {
-                               networkAvailabilityChanged -= value;
-                               MaybeDispose ();
+                       remove { networkAvailabilityChanged -= value; }
+               }
+
+               bool IsAvailable {
+                       get {
+                               return (flags & NetworkReachabilityFlags.Reachable) != 0 &&
+                                       (flags & NetworkReachabilityFlags.ConnectionRequired) == 0;
                        }
                }
 
-               IntPtr handle;
-               MonoSCReachabilityCallback callback;
+               public bool HasRegisteredEvents {
+                       get { return networkAddressChanged != null || networkAvailabilityChanged != null; }
+               }
 
-               void Callback (int available)
+               public MacNetworkChange ()
                {
-                       var addressChanged = networkAddressChanged;
-                       if (addressChanged != null) {
-                               addressChanged (null, EventArgs.Empty);
-                       }
+                       var sockaddr = sockaddr_in.Create ();
+                       handle = SCNetworkReachabilityCreateWithAddress (IntPtr.Zero, ref sockaddr);
+                       if (handle == IntPtr.Zero)
+                               throw new Exception ("SCNetworkReachabilityCreateWithAddress returned NULL");
 
-                       var availabilityChanged = networkAvailabilityChanged;
-                       if (availabilityChanged != null) {
-                               availabilityChanged (null, new NetworkAvailabilityEventArgs (available != 0));
-                       }
+                       callback = new SCNetworkReachabilityCallback (HandleCallback);
+                       var info = new SCNetworkReachabilityContext {
+                               info = GCHandle.ToIntPtr (GCHandle.Alloc (this))
+                       };
+
+                       SCNetworkReachabilitySetCallback (handle, callback, ref info);
+
+                       scheduledWithRunLoop =
+                       LoadRunLoopMode () &&
+                               SCNetworkReachabilityScheduleWithRunLoop (handle, CFRunLoopGetMain (), runLoopMode);
+
+                       SCNetworkReachabilityGetFlags (handle, out flags);
                }
 
-               void MaybeInitialize ()
+               bool LoadRunLoopMode ()
                {
-                       lock (this) {
-                               if (handle == IntPtr.Zero) {
-                                       callback = new MonoSCReachabilityCallback (Callback);
-                                       handle = mono_sc_reachability_new (callback);
+                       var cfLibHandle = dlopen (CORE_FOUNDATION_LIB, 0);
+                       if (cfLibHandle == IntPtr.Zero)
+                               return false;
+
+                       try {
+                               runLoopMode = dlsym (cfLibHandle, "kCFRunLoopDefaultMode");
+                               if (runLoopMode != IntPtr.Zero) {
+                                       runLoopMode = Marshal.ReadIntPtr (runLoopMode);
+                                       return runLoopMode != IntPtr.Zero;
                                }
+                       } finally {
+                               dlclose (cfLibHandle);
                        }
+
+                       return false;
                }
 
-               void MaybeDispose ()
+               public void Dispose ()
                {
                        lock (this) {
-                               var addressChanged = networkAddressChanged;
-                               var availabilityChanged = networkAvailabilityChanged;
-                               if (handle != IntPtr.Zero && addressChanged == null && availabilityChanged == null) {
-                                       mono_sc_reachability_free (handle);
-                                       handle = IntPtr.Zero;
-                               }
+                               if (handle == IntPtr.Zero)
+                                       return;
+
+                               if (scheduledWithRunLoop)
+                                       SCNetworkReachabilityUnscheduleFromRunLoop (handle, CFRunLoopGetMain (), runLoopMode);
+
+                               CFRelease (handle);
+                               handle = IntPtr.Zero;
+                               callback = null;
+                               flags = NetworkReachabilityFlags.None;
+                               scheduledWithRunLoop = false;
                        }
                }
 
-#if MONOTOUCH || MONODROID
-               const string LIBNAME = "__Internal";
-#else
-               const string LIBNAME = "MonoPosixHelper";
+#if MONOTOUCH
+               [MonoTouch.MonoPInvokeCallback (typeof (SCNetworkReachabilityCallback))]
 #endif
+               static void HandleCallback (IntPtr reachability, NetworkReachabilityFlags flags, IntPtr info)
+               {
+                       if (info == IntPtr.Zero)
+                               return;
 
-               delegate void MonoSCReachabilityCallback (int available);
-
-               [DllImport (LIBNAME)]
-               static extern int mono_sc_reachability_enabled ();
+                       var instance = GCHandle.FromIntPtr (info).Target as MacNetworkChange;
+                       if (instance == null || instance.flags == flags)
+                               return;
 
-               [DllImport (LIBNAME)]
-               static extern IntPtr mono_sc_reachability_new (MonoSCReachabilityCallback callback);
+                       instance.flags = flags;
 
-               [DllImport (LIBNAME)]
-               static extern void mono_sc_reachability_free (IntPtr handle);
+                       var addressChanged = instance.networkAddressChanged;
+                       if (addressChanged != null)
+                               addressChanged (null, EventArgs.Empty);
 
-               [DllImport (LIBNAME)]
-               static extern int mono_sc_reachability_is_available (IntPtr handle);
+                       var availabilityChanged = instance.networkAvailabilityChanged;
+                       if (availabilityChanged != null)
+                               availabilityChanged (null, new NetworkAvailabilityEventArgs (instance.IsAvailable));
+               }
        }
 
+#if !NETWORK_CHANGE_STANDALONE
+
        internal sealed class LinuxNetworkChange : INetworkChange {
                [Flags]
                enum EventType {
@@ -185,6 +346,14 @@ namespace System.Net.NetworkInformation {
                        remove { Unregister (value); }
                }
 
+               public bool HasRegisteredEvents {
+                       get { return AddressChanged != null || AvailabilityChanged != null; }
+               }
+
+               public void Dispose ()
+               {
+               }
+
                //internal Socket (AddressFamily family, SocketType type, ProtocolType proto, IntPtr sock)
 
                bool EnsureSocket ()
@@ -321,5 +490,7 @@ namespace System.Net.NetworkInformation {
                [DllImport (LIBNAME, CallingConvention=CallingConvention.Cdecl)]
                static extern IntPtr CloseNLSocket (IntPtr sock);
        }
-}
 
+#endif
+
+}
index 0cb3cd8c8525627f3a8f9122f81662e776cd65c8..2b756a97bd1e513400a25f64f3484ddc7e40f117 100644 (file)
@@ -277,7 +277,7 @@ namespace System.Net
                        CheckDisposed ();
                        if (stream == null)
                                return Stream.Null;  
-                       if (0 == String.Compare (method, "HEAD", true)) // see par 4.3 & 9.4
+                       if (string.Equals (method, "HEAD", StringComparison.OrdinalIgnoreCase))  // see par 4.3 & 9.4
                                return Stream.Null;  
 
                        return stream;
@@ -319,7 +319,6 @@ namespace System.Net
                void IDisposable.Dispose ()
                {
                        Dispose (true);
-                       GC.SuppressFinalize (this);  
                }
                
 #if NET_4_0
index 209c17f534e0a4e0089cada3925bbd60d47d4304..b6300b9428ef694dc74ce8dd6312c8c0fabac24f 100644 (file)
@@ -612,7 +612,7 @@ namespace System.Net
                
                static CFArray CopyProxiesForAutoConfigurationScript (IntPtr proxyAutoConfigurationScript, CFUrl targetURL)
                {
-                       IntPtr err;
+                       IntPtr err = IntPtr.Zero;
                        IntPtr native = CFNetworkCopyProxiesForAutoConfigurationScript (proxyAutoConfigurationScript, targetURL.Handle, out err);
                        
                        if (native == IntPtr.Zero)
index f34bcca6d6abec884a114ec3cf946fc6efd471ca..fe60d4e5a86f8af9d56b652afab63170f26e3e72 100644 (file)
@@ -359,6 +359,49 @@ namespace MonoTests.Microsoft.CSharp
                        Assert.AreEqual (tempFile, tempFiles[0], "#5");
                }
 
+               [Test]
+               public void CompileFromSource_InMemory_Twice ()
+               {
+                       CompilerParameters options = new CompilerParameters ();
+                       options.GenerateExecutable = false;
+                       options.GenerateInMemory = true;
+
+                       ICodeCompiler compiler = _codeProvider.CreateCompiler ();
+
+                       var src_1 = "class X { ";
+
+                       CompilerResults results_1 = compiler.CompileAssemblyFromSource (options, src_1);
+                       var output_1 = options.OutputAssembly;
+
+                       var src_2 = "class X { }";
+
+                       CompilerResults results_2 = compiler.CompileAssemblyFromSource (options, src_2);
+                       var output_2 = options.OutputAssembly;
+
+                       // verify compilation was successful
+                       AssertCompileResults (results_2, true);
+
+                       Assert.AreEqual (output_1, output_2, "#1");
+               }
+
+
+               [Test]
+               public void CompileFromSource_InMemory_With_Extra_Delete ()
+               {
+                       CompilerParameters options = new CompilerParameters ();
+                       options.GenerateExecutable = false;
+                       options.GenerateInMemory = true;
+
+                       ICodeCompiler compiler = _codeProvider.CreateCompiler ();
+
+                       var src_1 = "class X { ";
+
+                       compiler.CompileAssemblyFromSource (options, src_1);
+
+                       options.TempFiles.Delete ();
+                       options.TempFiles.Delete ();
+               }
+
                [Test]
                public void CompileFromSourceBatch_InMemory ()
                {
index 75817380b13eb5d35b01001ee99ef8ef4382e114..d3f6a40ea95825d0e9472dee8399099a8d8e3b0a 100644 (file)
@@ -37,6 +37,8 @@ namespace System.Collections {
 
        [ComVisible(true)]
        [Serializable]
+       [System.Diagnostics.DebuggerDisplay ("Count={Count}")]
+       [System.Diagnostics.DebuggerTypeProxy (typeof (CollectionDebuggerView))]
 #if INSIDE_CORLIB
        public
 #else
index 3eeb79195bd09c68918b50cc03fa43f08ffffbda..a1a6d12130103b05335efc67dc00bdd3beeb8308 100644 (file)
@@ -289,9 +289,8 @@ namespace System.IO {
                        return fullpath;
                }
 
-               [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
                // http://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx
-               // http://www.codeproject.com/Tips/223321/Win32-API-GetFullPathName
+               [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
                private static extern int GetFullPathName(string path, int numBufferChars, StringBuilder buffer, ref IntPtr lpFilePartOrNull); 
 
                internal static string GetFullPathName(string path)
index a3134933a312865392cb309f979a53957438d7f3..a66a8dc7ae222b5a49ceca16ac8e6f8334b2c474 100644 (file)
@@ -187,6 +187,12 @@ namespace System.Runtime.InteropServices
                        throw new NotImplementedException ();
                }
 
+#if NET_4_5
+               public static IntPtr CreateAggregatedObject<T> (IntPtr pOuter, T o) {
+                       return CreateAggregatedObject (pOuter, (object)o);
+               }
+#endif
+
 #if !FULL_AOT_RUNTIME
                public static object CreateWrapperOfType (object o, Type t)
                {
@@ -204,12 +210,24 @@ namespace System.Runtime.InteropServices
 
                        return ComInteropProxy.GetProxy (co.IUnknown, t).GetTransparentProxy ();
                }
+
+#if NET_4_5
+               public static TWrapper CreateWrapperOfType<T, TWrapper> (T o) {
+                       return (TWrapper)CreateWrapperOfType ((object)o, typeof (TWrapper));
+               }
+#endif
 #endif
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                [ComVisible (true)]
                public extern static void DestroyStructure (IntPtr ptr, Type structuretype);
 
+#if NET_4_5
+               public static void DestroyStructure<T> (IntPtr ptr) {
+                       DestroyStructure (ptr, typeof (T));
+               }
+#endif                 
+
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static void FreeBSTR (IntPtr ptr);
 
@@ -329,6 +347,12 @@ namespace System.Runtime.InteropServices
 #endif
                }
 
+#if NET_4_5
+               public static IntPtr GetComInterfaceForObject<T, TInterface> (T o) {
+                       return GetComInterfaceForObject ((object)o, typeof (T));
+               }
+#endif                 
+
                [MonoTODO]
                public static IntPtr GetComInterfaceForObjectInContext (object o, Type t)
                {
@@ -463,6 +487,12 @@ namespace System.Runtime.InteropServices
                        Marshal.StructureToPtr(vt, pDstNativeVariant, false);
                }
 
+#if NET_4_5
+               public static void GetNativeVariantForObject<T> (T obj, IntPtr pDstNativeVariant) {
+                       GetNativeVariantForObject ((object)obj, pDstNativeVariant);
+               }
+#endif
+
 #if !MOBILE
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                private static extern object GetObjectForCCW (IntPtr pUnk);
@@ -489,6 +519,13 @@ namespace System.Runtime.InteropServices
                        return vt.GetValue();
                }
 
+#if NET_4_5
+               public static T GetObjectForNativeVariant<T> (IntPtr pSrcNativeVariant) {
+                       Variant vt = (Variant)Marshal.PtrToStructure(pSrcNativeVariant, typeof(Variant));
+                       return (T)vt.GetValue();
+               }
+#endif
+
                public static object[] GetObjectsForNativeVariants (IntPtr aSrcNativeVariant, int cVars)
                {
                        if (cVars < 0)
@@ -500,6 +537,18 @@ namespace System.Runtime.InteropServices
                        return objects;
                }
 
+#if NET_4_5
+               public static T[] GetObjectsForNativeVariants<T> (IntPtr aSrcNativeVariant, int cVars) {
+                       if (cVars < 0)
+                               throw new ArgumentOutOfRangeException ("cVars", "cVars cannot be a negative number.");
+                       T[] objects = new T[cVars];
+                       for (int i = 0; i < cVars; i++)
+                               objects[i] = GetObjectForNativeVariant<T> ((IntPtr)(aSrcNativeVariant.ToInt64 () +
+                                       i * SizeOf (typeof(Variant))));
+                       return objects;
+               }
+#endif
+
                [MonoTODO]
                public static int GetStartComSlot (Type t)
                {
@@ -639,6 +688,12 @@ namespace System.Runtime.InteropServices
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static IntPtr OffsetOf (Type t, string fieldName);
 
+#if NET_4_5
+               public static IntPtr OffsetOf<T> (string fieldName) {
+                       return OffsetOf (typeof (T), fieldName);
+               }
+#endif
+
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static void Prelink (MethodInfo m);
 
@@ -687,6 +742,16 @@ namespace System.Runtime.InteropServices
                [ComVisible (true)]
                public extern static object PtrToStructure (IntPtr ptr, Type structureType);
 
+#if NET_4_5
+               public static void PtrToStructure<T> (IntPtr ptr, T structure) {
+                       PtrToStructure (ptr, (object)structure);
+               }
+
+               public static object PtrToStructure<T> (IntPtr ptr) {
+                       return PtrToStructure (ptr, typeof (T));
+               }
+#endif
+
 #if !MOBILE
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                private extern static int QueryInterfaceInternal (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
@@ -913,6 +978,16 @@ namespace System.Runtime.InteropServices
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static int SizeOf (Type t);
 
+#if NET_4_5
+               public static int SizeOf<T> () {
+                       return SizeOf (typeof (T));
+               }
+
+               public static int SizeOf<T> (T structure) {
+                       return SizeOf (structure.GetType ());
+               }
+#endif
+
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static IntPtr StringToBSTR (string s);
 
@@ -1059,6 +1134,12 @@ namespace System.Runtime.InteropServices
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static void StructureToPtr (object structure, IntPtr ptr, bool fDeleteOld);
 
+#if NET_4_5
+               public static void StructureToPtr<T> (T structure, IntPtr ptr, bool fDeleteOld) {
+                       StructureToPtr ((object)structure, ptr, fDeleteOld);
+               }
+#endif
+
                public static void ThrowExceptionForHR (int errorCode) {
                        Exception ex = GetExceptionForHR (errorCode);
                        if (ex != null)
@@ -1074,6 +1155,12 @@ namespace System.Runtime.InteropServices
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static IntPtr UnsafeAddrOfPinnedArrayElement (Array arr, int index);
 
+#if NET_4_5
+               public static IntPtr UnsafeAddrOfPinnedArrayElement<T> (T[] arr, int index) {
+                       return UnsafeAddrOfPinnedArrayElement ((Array)arr, index);
+               }
+#endif
+
                public static void WriteByte (IntPtr ptr, byte val)
                {
                        unsafe {
@@ -1266,6 +1353,12 @@ namespace System.Runtime.InteropServices
                        return GetDelegateForFunctionPointerInternal (ptr, t);
                }
 
+#if NET_4_5
+               public static Delegate GetDelegateForFunctionPointer<T> (IntPtr ptr) {
+                       return GetDelegateForFunctionPointer (ptr, typeof (T));
+               }
+#endif
+
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                private static extern IntPtr GetFunctionPointerForDelegateInternal (Delegate d);
                
@@ -1276,5 +1369,14 @@ namespace System.Runtime.InteropServices
                        
                        return GetFunctionPointerForDelegateInternal (d);
                }
+
+#if NET_4_5
+               public static IntPtr GetFunctionPointerForDelegate<TDelegate> (TDelegate d) {
+                       if (d == null)
+                               throw new ArgumentNullException ("d");
+                       
+                       return GetFunctionPointerForDelegateInternal ((Delegate)(object)d);
+               }
+#endif
        }
 }
index 14f07dd98c80a4dab5f53210e1baf956e00f9c5f..8c431515299405def6f815633129ca93eafda67a 100644 (file)
@@ -244,7 +244,7 @@ namespace System.Security.Principal {
                        else {
                                // validate token by getting name
                                _name = GetTokenName (_token);
-                               if ((_name == String.Empty) || (_name == null))
+                               if (_name == null)
                                        throw new SerializationException ("Token doesn't match a user.");
                        }
                        _type = _info.GetString ("m_type");
index fb07e1c98a6090a4aebf1751d666334f130553e3..1aa56bc9f29a4d034234580cbc50c8703fdefdae 100644 (file)
@@ -852,8 +852,14 @@ fail_no_space:
                if (charCount < 0) {
                        throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_NonNegative"));
                }
-               var max = Math.Max (3, EncoderFallback.MaxCharCount);
-               return max * charCount + GetPreamble ().Length;
+
+               // Add 1 to charCount since there may be a lead surrogate left from the previous call to GetBytes/Encoder.Convert
+               charCount = charCount + 1;
+               if (EncoderFallback.MaxCharCount > 1) {
+                       charCount = charCount * EncoderFallback.MaxCharCount;
+               }
+
+               return charCount * 3;
        }
 
        // Get the maximum number of characters needed to decode a
@@ -863,7 +869,14 @@ fail_no_space:
                if (byteCount < 0) {
                        throw new ArgumentOutOfRangeException ("byteCount", _("ArgRange_NonNegative"));
                }
-               return byteCount;
+
+               // Add 1 to byteCount since there may be the bytes from part of a surrogate pair left from the previous call to GetChars/Decoder.Convert
+               int maxCharCount = byteCount + 1;
+               if (DecoderFallback.MaxCharCount > 1) {
+                       maxCharCount = maxCharCount * DecoderFallback.MaxCharCount;
+               }
+
+               return maxCharCount;
        }
 
        // Get a UTF8-specific decoder that is attached to this instance.
index 62aa14fddc4c24f58a2cd2ba249805979417c1a1..1ae5559957ee710ce4206daf00fb0532f1df6987 100644 (file)
@@ -49,8 +49,8 @@ namespace System.Threading.Tasks
                
                // parent is the outer task in which this task is created
                readonly Task parent;
-               // contAncestor is the Task on which this continuation was setup
-               readonly Task contAncestor;
+               // A reference to a Task on which this continuation is attached to
+               Task contAncestor;
                
                static int          id = -1;
                static readonly TaskFactory defaultFactory = new TaskFactory ();
@@ -500,7 +500,9 @@ namespace System.Threading.Tasks
                void InnerInvoke ()
                {
                        if (IsContinuation) {
-                               invoker.Invoke (contAncestor, state, this);
+                               var ancestor = contAncestor;
+                               contAncestor = null;
+                               invoker.Invoke (ancestor, state, this);
                        } else {
                                invoker.Invoke (this, state, this);
                        }
@@ -957,11 +959,23 @@ namespace System.Threading.Tasks
                        if (millisecondsDelay < -1)
                                throw new ArgumentOutOfRangeException ("millisecondsDelay");
 
-                       var task = new Task (TaskActionInvoker.Delay, millisecondsDelay, cancellationToken, TaskCreationOptions.None, null, TaskConstants.Finished);
+                       if (cancellationToken.IsCancellationRequested)
+                               return TaskConstants.Canceled;
+
+                       var task = new Task (TaskActionInvoker.Empty, null, cancellationToken, TaskCreationOptions.None, null, null);
                        task.SetupScheduler (TaskScheduler.Default);
-                       
-                       if (millisecondsDelay != Timeout.Infinite)
-                               task.scheduler.QueueTask (task);
+
+                       if (millisecondsDelay != Timeout.Infinite) {
+                               var timer = new Timer (delegate (object state) {
+                                       var t = (Task) state;
+                                       if (t.Status == TaskStatus.WaitingForActivation) {
+                                               t.Status = TaskStatus.Running;
+                                               t.Finish ();
+                                       }
+                               }, task, millisecondsDelay, -1);
+
+                               task.ContinueWith (new DisposeContinuation (timer));
+                       }
 
                        return task;
                }
index 8189df744b867defe928bf5a56d04dd12c905f34..9825be780009dbd896e61e072e17d8118bdedfef 100644 (file)
@@ -338,6 +338,21 @@ namespace System.Threading.Tasks
                        evt.Signal ();
                }
        }
+
+       sealed class DisposeContinuation : IContinuation
+       {
+               readonly IDisposable instance;
+
+               public DisposeContinuation (IDisposable instance)
+               {
+                       this.instance = instance;
+               }
+
+               public void Execute ()
+               {
+                       instance.Dispose ();
+               }
+       }
 }
 
 #endif
index c38a566e2cc3c64720e6e4cf6bd45a5829769b1f..e1c9a6842cae9abf024dd1dab3259146601b78bf 100644 (file)
@@ -50,7 +50,7 @@ namespace System.Threading.Tasks
                                return;
                        }
 
-                       ThreadPool.UnsafeQueueUserWorkItem (callback, task);
+                       ThreadPool.QueueWorkItem (callback, task);
                }
 
                static void TaskExecuterCallback (object obj)
index 4d3f1c086cf7b3dba9775fb2093cb141097604e8..204386f9f70021579d9d200657030ef02dc4bd8f 100644 (file)
@@ -87,9 +87,6 @@ namespace System.Threading {
                                if (ar == null)
                                        return false;
                        } else {
-                               if (!callBack.HasSingleTarget)
-                                       throw new Exception ("The delegate must have only one target");
-
                                AsyncResult ares = new AsyncResult (callBack, state, true);
                                pool_queue (ares);
                        }
@@ -99,6 +96,12 @@ namespace System.Threading {
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                static extern void pool_queue (AsyncResult ares);
 
+               // TODO: It should be interface interface only to avoid extra allocation
+               internal static void QueueWorkItem (WaitCallback callBack, object state)
+               {
+                       pool_queue (new AsyncResult (callBack, state, false));
+               }
+
                public static RegisteredWaitHandle RegisterWaitForSingleObject (WaitHandle waitObject,
                                                                                WaitOrTimerCallback callBack,
                                                                                object state,
@@ -168,11 +171,11 @@ namespace System.Threading {
                [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
                public static bool UnsafeQueueUserWorkItem (WaitCallback callBack, object state)
                {
+                       if (callBack == null)
+                               throw new ArgumentNullException ("callBack");
+
                        // no stack propagation here (that's why it's unsafe and requires extra security permissions)
                        if (!callBack.IsTransparentProxy ()) {
-                               if (!callBack.HasSingleTarget)
-                                       throw new Exception ("The delegate must have only one target");
-
                                AsyncResult ares = new AsyncResult (callBack, state, false);
                                pool_queue (ares);
                                return true;
index 63358776056a619725b9684e8ad5935200d1efc2..dd32032436f9363d19827afc5e4df216edff9969 100644 (file)
@@ -337,7 +337,7 @@ namespace System.Threading
                                                        list.RemoveAt (i);
                                                        count--;
                                                        i--;
-                                                       ThreadPool.UnsafeQueueUserWorkItem (TimerCB, timer);
+                                                       ThreadPool.QueueWorkItem (TimerCB, timer);
                                                        long period = timer.period_ms;
                                                        long due_time = timer.due_time_ms;
                                                        bool no_more = (period == -1 || ((period == 0 || period == Timeout.Infinite) && due_time != Timeout.Infinite));
index ae3b87120a745779d12f2d70e9725148f0215ae2..a17181f38ba2763c00625714120c4795ebb56487 100644 (file)
@@ -1,12 +1,13 @@
 //
 // System.Convert.cs
 //
-// Author:
+// Authors:
 //   Derek Holden (dholden@draper.com)
 //   Duncan Mak (duncan@ximian.com)
+//   Marek Safar (marek.safar@gmail.com)
 //
 // (C) Ximian, Inc.  http://www.ximian.com
-//
+// Copyright (C) 2013 Xamarin Inc (http://www.xamarin.com)
 //
 // System.Convert class. This was written word for word off the 
 // Library specification for System.Convert in the ECMA TC39 TG2 
@@ -2528,6 +2529,7 @@ namespace System {
                        typeof (DateTime), // 16 TypeCode.DateTime
                        null,               // 17 null.
                        typeof (String),   // 18 TypeCode.String
+                       typeof (Enum)
                };
 
                // Function to convert an object to another type and return
@@ -2561,67 +2563,69 @@ namespace System {
                        if (value.GetType () == conversionType)
                                return value;
                        
-                       if (value is IConvertible) {
-                               IConvertible convertValue = (IConvertible) value;
+                       IConvertible convertValue = value as IConvertible;
+                       if (convertValue != null) {
 
                                if (conversionType == conversionTable[0]) // 0 Empty
                                        throw new ArgumentNullException ();
                                
-                               else if (conversionType == conversionTable[1]) // 1 TypeCode.Object
-                                       return (object) value;
+                               if (conversionType == conversionTable[1]) // 1 TypeCode.Object
+                                       return value;
                                        
-                               else if (conversionType == conversionTable[2]) // 2 TypeCode.DBNull
+                               if (conversionType == conversionTable[2]) // 2 TypeCode.DBNull
                                        throw new InvalidCastException (
                                                "Cannot cast to DBNull, it's not IConvertible");
                  
-                               else if (conversionType == conversionTable[3]) // 3 TypeCode.Boolean
-                                       return (object) convertValue.ToBoolean (provider);
+                               if (conversionType == conversionTable[3]) // 3 TypeCode.Boolean
+                                       return convertValue.ToBoolean (provider);
                                        
-                               else if (conversionType == conversionTable[4]) // 4 TypeCode.Char
-                                       return (object) convertValue.ToChar (provider);
+                               if (conversionType == conversionTable[4]) // 4 TypeCode.Char
+                                       return convertValue.ToChar (provider);
                  
-                               else if (conversionType == conversionTable[5]) // 5 TypeCode.SByte
-                                       return (object) convertValue.ToSByte (provider);
+                               if (conversionType == conversionTable[5]) // 5 TypeCode.SByte
+                                       return convertValue.ToSByte (provider);
 
-                               else if (conversionType == conversionTable[6]) // 6 TypeCode.Byte
-                                       return (object) convertValue.ToByte (provider);
+                               if (conversionType == conversionTable[6]) // 6 TypeCode.Byte
+                                       return convertValue.ToByte (provider);
                                
-                               else if (conversionType == conversionTable[7]) // 7 TypeCode.Int16
-                                       return (object) convertValue.ToInt16 (provider);
+                               if (conversionType == conversionTable[7]) // 7 TypeCode.Int16
+                                       return convertValue.ToInt16 (provider);
                                        
-                               else if (conversionType == conversionTable[8]) // 8 TypeCode.UInt16
-                                       return (object) convertValue.ToUInt16 (provider);
+                               if (conversionType == conversionTable[8]) // 8 TypeCode.UInt16
+                                       return convertValue.ToUInt16 (provider);
                  
-                               else if (conversionType == conversionTable[9]) // 9 TypeCode.Int32
-                                       return (object) convertValue.ToInt32 (provider);
+                               if (conversionType == conversionTable[9]) // 9 TypeCode.Int32
+                                       return convertValue.ToInt32 (provider);
                        
-                               else if (conversionType == conversionTable[10]) // 10 TypeCode.UInt32
-                                       return (object) convertValue.ToUInt32 (provider);
+                               if (conversionType == conversionTable[10]) // 10 TypeCode.UInt32
+                                       return convertValue.ToUInt32 (provider);
                  
-                               else if (conversionType == conversionTable[11]) // 11 TypeCode.Int64
-                                       return (object) convertValue.ToInt64 (provider);
+                               if (conversionType == conversionTable[11]) // 11 TypeCode.Int64
+                                       return convertValue.ToInt64 (provider);
                  
-                               else if (conversionType == conversionTable[12]) // 12 TypeCode.UInt64
-                                       return (object) convertValue.ToUInt64 (provider);
+                               if (conversionType == conversionTable[12]) // 12 TypeCode.UInt64
+                                       return convertValue.ToUInt64 (provider);
                  
-                               else if (conversionType == conversionTable[13]) // 13 TypeCode.Single
-                                       return (object) convertValue.ToSingle (provider);
+                               if (conversionType == conversionTable[13]) // 13 TypeCode.Single
+                                       return convertValue.ToSingle (provider);
                  
-                               else if (conversionType == conversionTable[14]) // 14 TypeCode.Double
-                                       return (object) convertValue.ToDouble (provider);
+                               if (conversionType == conversionTable[14]) // 14 TypeCode.Double
+                                       return convertValue.ToDouble (provider);
 
-                               else if (conversionType == conversionTable[15]) // 15 TypeCode.Decimal
-                                       return (object) convertValue.ToDecimal (provider);
+                               if (conversionType == conversionTable[15]) // 15 TypeCode.Decimal
+                                       return convertValue.ToDecimal (provider);
 
-                               else if (conversionType == conversionTable[16]) // 16 TypeCode.DateTime
-                                       return (object) convertValue.ToDateTime (provider);
+                               if (conversionType == conversionTable[16]) // 16 TypeCode.DateTime
+                                       return convertValue.ToDateTime (provider);
                                
-                               else if (conversionType == conversionTable[18]) // 18 TypeCode.String
-                                       return (object) convertValue.ToString (provider);
-                               else {
-                                       if (try_target_to_type)
-                                               return convertValue.ToType (conversionType, provider);
-                               }
+                               if (conversionType == conversionTable[18]) // 18 TypeCode.String
+                                       return convertValue.ToString (provider);
+
+                               if (conversionType == conversionTable[19] && value is Enum) // System.Enum
+                                       return value;
+
+                               if (try_target_to_type)
+                                       return convertValue.ToType (conversionType, provider);
                        } 
                        // Not in the conversion table
                        throw new InvalidCastException ((Locale.GetText (
index c16e604d977e84bbfc257b129bb7956267fc3bdd..ecf2ed189815cec3f6271bac2324ee8ac3d50279 100644 (file)
@@ -278,9 +278,8 @@ namespace System
                {
                        if (targetType == null)
                                throw new ArgumentNullException ("targetType");
-                       if (targetType == typeof (string))
-                               return ToString (provider);
-                       return Convert.ToType (Value, targetType, provider, false);
+
+                       return Convert.ToType (this, targetType, provider, false);
                }
 
                ushort IConvertible.ToUInt16 (IFormatProvider provider)
index ab7583652c2fd5cf6a75f28c27d4c4a79dd53722..0550ff82843fd239d47fd94d68bf4d071ae3e5de 100644 (file)
@@ -43,19 +43,17 @@ namespace System
        [StructLayout (LayoutKind.Sequential)]
        public abstract class MulticastDelegate : Delegate
        {
-               private MulticastDelegate prev;
-               private MulticastDelegate kpm_next;
+               MulticastDelegate prev;
+               MulticastDelegate kpm_next;
 
                protected MulticastDelegate (object target, string method)
                        : base (target, method)
                {
-                       prev = null;
                }
 
                protected MulticastDelegate (Type target, string method)
                        : base (target, method)
                {
-                       prev = null;
                }
                
                public override void GetObjectData (SerializationInfo info, StreamingContext context)
@@ -72,9 +70,6 @@ namespace System
                        return base.DynamicInvokeImpl (args);
                }
 
-               internal bool HasSingleTarget {
-                       get { return prev == null; }
-               }
                // <remarks>
                //   Equals: two multicast delegates are equal if their base is equal
                //   and their invocations list is equal.
index d3a1e2de3c4df48af34024155eb0582a0a96284e..4c84824c912b1a374e9f52263533836562f02f65 100644 (file)
@@ -213,9 +213,6 @@ namespace MonoTests.System.Security.Principal {
                }
 
                [Test]
-#if __IOS__
-               [Ignore ("https://bugzilla.xamarin.com/show_bug.cgi?id=12789")]
-#endif
                public void SerializeRoundTrip () 
                {
                        WindowsIdentity wi = WindowsIdentity.GetCurrent ();
index 1f53af7e3eb278bf0d91e8055f74da125d866764..91a465c13d3f80b37aef743ba5ec2c943af1f98c 100644 (file)
@@ -125,34 +125,36 @@ namespace MonoTests.System.Text
                }
 
                [Test]
-#if NET_2_0
-               [Category ("NotWorking")]
-#endif
                public void TestMaxCharCount()
                {
                        UTF8Encoding UTF8enc = new UTF8Encoding ();
-#if NET_2_0
-                       // hmm, where is this extra 1 coming from?
+                       Encoding UTF8encWithBOM = new UTF8Encoding(true);
                        Assert.AreEqual (51, UTF8enc.GetMaxCharCount(50), "UTF #1");
-#else
-                       Assert.AreEqual (50, UTF8enc.GetMaxCharCount(50), "UTF #1");
-#endif
+                       Assert.AreEqual (UTF8enc.GetMaxByteCount(50), UTF8encWithBOM.GetMaxByteCount(50), "UTF #2");
+               }
+
+               [Test]
+               public void TestMaxCharCountWithCustomFallback()
+               {
+                       Encoding encoding = Encoding.GetEncoding("utf-8", new EncoderReplacementFallback("\u2047\u2047"), new DecoderReplacementFallback("\u2047\u2047"));
+                       Assert.AreEqual (102, encoding.GetMaxCharCount(50), "UTF #1");
                }
 
                [Test]
-#if NET_2_0
-               [Category ("NotWorking")]
-#endif
                public void TestMaxByteCount()
                {
                        UTF8Encoding UTF8enc = new UTF8Encoding ();
-#if NET_2_0
-                       // maybe under .NET 2.0 insufficient surrogate pair is
-                       // just not handled, and 3 is Preamble size.
+                       Encoding UTF8encWithBOM = new UTF8Encoding(true);
+
                        Assert.AreEqual (153, UTF8enc.GetMaxByteCount(50), "UTF #1");
-#else
-                       Assert.AreEqual (200, UTF8enc.GetMaxByteCount(50), "UTF #1");
-#endif
+                       Assert.AreEqual (UTF8enc.GetMaxByteCount(50), UTF8encWithBOM.GetMaxByteCount(50), "UTF #2");
+               }
+
+               [Test]
+               public void TestMaxByteCountWithCustomFallback()
+               {
+                       Encoding encoding = Encoding.GetEncoding("utf-8", new EncoderReplacementFallback("\u2047\u2047"), new DecoderReplacementFallback("?"));
+                       Assert.AreEqual (306, encoding.GetMaxByteCount(50), "UTF #1");
                }
 
                // regression for bug #59648
index d9811306fba9c568247bbfbbf888c2c5c636b4fd..feff0e8b06f234afa871dfb8c18570b201ba566a 100644 (file)
@@ -1125,6 +1125,15 @@ namespace MonoTests.System.Threading.Tasks
                        }
                }
 
+               [Test]
+               public void Delay_TimeManagement ()
+               {
+                       var delay1 = Task.Delay(50);
+                       var delay2 = Task.Delay(25);
+                       Assert.IsTrue (Task.WhenAny(new[] { delay1, delay2 }).Wait (1000));
+                       Assert.AreEqual (TaskStatus.RanToCompletion, delay2.Status);
+               }
+
                [Test]
                public void WaitAny_WithNull ()
                {
index 951e41ee1aaed8284ced896501d6e5aeccf3612c..88803e5c2d53e3e8f275677bf695629cfa299843 100644 (file)
@@ -49,6 +49,37 @@ namespace MonoTests.System.Threading
                                Assert.Fail ("#2");
                        } catch (ArgumentNullException) {
                        }                       
-               }       
+               }
+
+               [Test]
+               public void UnsafeQueueUserWorkItem_InvalidArguments ()
+               {
+                       try {
+                               ThreadPool.UnsafeQueueUserWorkItem (null, 1);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException) {
+                       }
+               }
+
+#if NET_4_0
+               event WaitCallback e;
+
+               [Test]
+               public void UnsafeQueueUserWorkItem_MulticastDelegate ()
+               {
+                       CountdownEvent ev = new CountdownEvent (2);
+
+                       e += delegate {
+                               ev.Signal ();
+                       };
+
+                       e += delegate {
+                               ev.Signal ();
+                       };
+
+                       ThreadPool.UnsafeQueueUserWorkItem (e, null);
+                       Assert.IsTrue (ev.Wait (3000));
+               }
+#endif
        }
 }
\ No newline at end of file
index 2c05538c722a2f1d52986cafb13af6804b6dcc4c..ee60eb53aa23b42e028e1c2d69ca64e41bb92602 100644 (file)
@@ -60,11 +60,11 @@ namespace MonoTests.System.Threading {
                        Timer t = new Timer (new TimerCallback (Callback), bucket, 10, 10);
                        Thread.Sleep (500);
                        int c = bucket.count;
-                       Assert.IsTrue(c > 20, "#1");
+                       Assert.IsTrue (c > 20, "#1 " + c.ToString ());
                        t.Change (100, 100);
                        c = bucket.count;
                        Thread.Sleep (500);
-                       Assert.IsTrue(bucket.count <= c + 20, "#2");
+                       Assert.IsTrue (bucket.count <= c + 20, "#2 " + c.ToString ());
                        t.Dispose ();
                }
 
@@ -193,8 +193,7 @@ namespace MonoTests.System.Threading {
                        Thread.Sleep(100);
                        t.Change (int.MaxValue, Timeout.Infinite);
                        // since period is 0 the callback should happen once (bug #340212)
-                       Assert.IsTrue(b.count == 1);
-                       
+                       Assert.AreEqual (1, b.count, "only once");
                }
 
                [Test]
index f6c0dca2a5932b0aef51d7387f74fc450585ef75..973b068e823ee28ebde1fcd9d94ce270b8aa8a4a 100644 (file)
@@ -849,9 +849,12 @@ namespace MonoTests.System
                }
 
                [Test]
-               public void ConvertToStringType ()
+               public void IConvertible_Valid ()
                {
-                       Assert.AreEqual ("This", ((IConvertible) TestingEnum.This).ToType (typeof (string), null));
+                       IConvertible ic = TestingEnum.This;
+                       Assert.AreEqual ("This", ic.ToType (typeof (string), null), "#1");
+                       Assert.AreEqual (TestingEnum.This, ic.ToType (typeof (TestingEnum), null), "#2");
+                       Assert.AreEqual (TestingEnum.This, ic.ToType (typeof (Enum), null), "#3");
                }
 
                [Test]
index 8873f308cdcb8a34bd638d7981efa5947822903c..a09e98a1b468c5349b575d65877c54c6f6c5c849 100644 (file)
@@ -123,7 +123,10 @@ public class IntegerFormatterTest
 
        }
 
-       private static string tutti = "Int32\n" +
+       private static string tutti = tutti_1 + tutti_2;
+
+       const string tutti_1 =
+       "Int32\n" +
 "(-2147483648) (C) (($2,147,483,648.00))\n" +
 "(-2147483648) (C0) (($2,147,483,648))\n" +
 "(-2147483648) (C1) (($2,147,483,648.0))\n" +
@@ -852,7 +855,9 @@ public class IntegerFormatterTest
 "(9223372036854775807) (X8) (7FFFFFFFFFFFFFFF)\n" +
 "(9223372036854775807) (X9) (7FFFFFFFFFFFFFFF)\n" +
 "(9223372036854775807) (X10) (7FFFFFFFFFFFFFFF)\n" +
-"(9223372036854775807) (X99) (000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFF)\n" +
+"(9223372036854775807) (X99) (000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFF)\n";
+
+const string tutti_2 =
 "(0) (C) ($0.00)\n" +
 "(0) (C0) ($0)\n" +
 "(0) (C1) ($0.0)\n" +
@@ -2000,6 +2005,5 @@ public class IntegerFormatterTest
 "(100) (X10) (0000000064)\n" +
 "(100) (X99) (000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064)\n";
 }
-
 }
 
index 9293b85f7671a284be47b515892ace8ada8c9da5..efdeedf63a623c36c620cf40d09b86c715ebe79c 100644 (file)
@@ -551,10 +551,11 @@ namespace Monodoc.Providers
                                break;
                        // binary operators: overloading is possible [ECMA-335 Â§10.3.2]
                        default:
-                               memberSignature =
-                                       nicename + "("
-                                       + string.Join (",", member.Element ("Parameters").Elements ("Parameter").Select (p => (string)p.Attribute ("Type")))
-                                       + ")";
+                               if (member.Element ("Parameters") != null)
+                                       memberSignature =
+                                               nicename + "("
+                                               + string.Join (",", member.Element ("Parameters").Elements ("Parameter").Select (p => (string)p.Attribute ("Type")))
+                                               + ")";
                                break;
                        }
 
diff --git a/mcs/errors/cs0037-8.cs b/mcs/errors/cs0037-8.cs
deleted file mode 100644 (file)
index 5f54e10..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// CS0037: Cannot convert null to `int' because it is a value type
-// Line: 9
-
-class C
-{
-       public static void Main ()
-       {
-               int i = 44;
-               i <<= null;
-       }
-}
diff --git a/mcs/errors/cs0165-21.cs b/mcs/errors/cs0165-21.cs
new file mode 100644 (file)
index 0000000..2f6bbc1
--- /dev/null
@@ -0,0 +1,19 @@
+// CS0165: Use of unassigned local variable `v'
+// Line: 17
+
+using System;
+
+class C
+{
+       void Test (int arg)
+       {
+               int v;
+               switch (arg) {
+                       case 1:
+                               v = 0;
+                               break;
+               }
+
+               Console.WriteLine (v);
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0429-3.cs b/mcs/errors/cs0429-3.cs
new file mode 100644 (file)
index 0000000..b8572b5
--- /dev/null
@@ -0,0 +1,11 @@
+// CS0429: Unreachable expression code detected
+// Line: 9
+// Compiler options: -warn:4 -warnaserror
+
+class Main
+{
+       public void Method (int i)
+       {
+               var x = true ? 1 : i;
+       }
+}
diff --git a/mcs/errors/cs0458-17.cs b/mcs/errors/cs0458-17.cs
new file mode 100644 (file)
index 0000000..748f773
--- /dev/null
@@ -0,0 +1,12 @@
+// CS0458: The result of the expression is always `null' of type `int?'
+// Line: 10
+// Compiler options: -warnaserror -warn:2
+
+class C
+{
+       public static void Main ()
+       {
+               int i = 44;
+               i <<= null;
+       }
+}
diff --git a/mcs/errors/cs1648-2.cs b/mcs/errors/cs1648-2.cs
new file mode 100644 (file)
index 0000000..b470e10
--- /dev/null
@@ -0,0 +1,23 @@
+// CS1648: Members of readonly field `Test.p' cannot be modified (except in a constructor or a variable initializer)
+// Line: 17
+
+using System;
+
+public class Test
+{
+       struct Container
+       {
+               public int foo { get; set; }
+       }
+       
+       readonly Container p;
+       
+       void Foo ()
+       {
+               p.foo = 0;
+       }
+
+       public static void Main ()
+       {
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs1648-3.cs b/mcs/errors/cs1648-3.cs
new file mode 100644 (file)
index 0000000..7afc29f
--- /dev/null
@@ -0,0 +1,26 @@
+// CS1648: Members of readonly field `Test.p' cannot be modified (except in a constructor or a variable initializer)
+// Line: 17
+
+using System;
+
+public class Test
+{
+       struct Container
+       {
+               public int this[int arg] {
+                       set {
+                       }
+               }
+       }
+       
+       readonly Container p;
+       
+       void Foo ()
+       {
+               p[0] = 0;
+       }
+
+       public static void Main ()
+       {
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs1650-2.cs b/mcs/errors/cs1650-2.cs
new file mode 100644 (file)
index 0000000..9aa902d
--- /dev/null
@@ -0,0 +1,18 @@
+// CS1650: Fields of static readonly field `C.s' cannot be assigned to (except in a static constructor or a variable initializer)
+// Line: 15
+
+struct S
+{
+       public int x { get; set; }
+}
+
+class C
+{
+       static readonly S s;
+
+       public static void Main (string[] args)
+       {
+               s.x = 42;
+       }
+}
+
diff --git a/mcs/errors/cs1739-4.cs b/mcs/errors/cs1739-4.cs
new file mode 100644 (file)
index 0000000..ab18a00
--- /dev/null
@@ -0,0 +1,14 @@
+// CS1739: The best overloaded method match for `Program.M(int, int, int)' does not contain a parameter named `whatever'
+// Line: 8
+
+public class Program
+{
+       public static void Main ()
+       {
+               M (z: 1, whatever: 0);
+       }
+
+       void M (int x = 0, int y = 0, int z = 0)
+       {
+       }
+}
index 5d05d2ad6766f3bcd7e4264273210a53e983d2e3..cbad5a36cf827d4e439d0aa053eac24762d86eea 100644 (file)
@@ -15,6 +15,7 @@
 cs0080.cs 
 
 cs0162-7.cs NO ERROR
+cs0165-3.cs
 
 # Operators
 cs0457-2.cs
index f8a8d55f81f8c262845dfcfcf7c8f240d3877889..27b1485f56a92473f0ca42559ea8b3edb8b4620d 100644 (file)
@@ -191,15 +191,27 @@ namespace Mono.CSharp {
                sealed class ThisInitializer : Statement
                {
                        readonly HoistedThis hoisted_this;
+                       readonly AnonymousMethodStorey parent;
 
-                       public ThisInitializer (HoistedThis hoisted_this)
+                       public ThisInitializer (HoistedThis hoisted_this, AnonymousMethodStorey parent)
                        {
                                this.hoisted_this = hoisted_this;
+                               this.parent = parent;
                        }
 
                        protected override void DoEmit (EmitContext ec)
                        {
-                               hoisted_this.EmitAssign (ec, new CompilerGeneratedThis (ec.CurrentType, loc), false, false);
+                               Expression source;
+
+                               if (parent == null)
+                                       source = new CompilerGeneratedThis (ec.CurrentType, loc);
+                               else {
+                                       source = new FieldExpr (parent.HoistedThis.Field, Location.Null) {
+                                               InstanceExpression = new CompilerGeneratedThis (ec.CurrentType, Location.Null)
+                                       };
+                               }
+
+                               hoisted_this.EmitAssign (ec, source, false, false);
                        }
 
                        protected override void CloneTo (CloneContext clonectx, Statement target)
@@ -229,22 +241,24 @@ namespace Mono.CSharp {
                public Expression Instance;
 
                bool initialize_hoisted_this;
+               AnonymousMethodStorey hoisted_this_parent;
 
                public AnonymousMethodStorey (ExplicitBlock block, TypeDefinition parent, MemberBase host, TypeParameters tparams, string name, MemberKind kind)
-                       : base (parent, MakeMemberName (host, name, parent.Module.CounterAnonymousContainers, tparams, block.StartLocation),
+                       : base (parent, MakeMemberName (host, name, parent.PartialContainer.CounterAnonymousContainers, tparams, block.StartLocation),
                                tparams, 0, kind)
                {
                        OriginalSourceBlock = block;
-                       ID = parent.Module.CounterAnonymousContainers++;
+                       ID = parent.PartialContainer.CounterAnonymousContainers++;
                }
 
-               public void AddCapturedThisField (EmitContext ec)
+               public void AddCapturedThisField (EmitContext ec, AnonymousMethodStorey parent)
                {
                        TypeExpr type_expr = new TypeExpression (ec.CurrentType, Location);
                        Field f = AddCompilerGeneratedField ("$this", type_expr);
                        hoisted_this = new HoistedThis (this, f);
 
                        initialize_hoisted_this = true;
+                       hoisted_this_parent = parent;
                }
 
                public Field AddCapturedVariable (string name, TypeSpec type)
@@ -553,7 +567,7 @@ namespace Mono.CSharp {
                        // referenced indirectly
                        //
                        if (initialize_hoisted_this) {
-                               rc.CurrentBlock.AddScopeStatement (new ThisInitializer (hoisted_this));
+                               rc.CurrentBlock.AddScopeStatement (new ThisInitializer (hoisted_this, hoisted_this_parent));
                        }
 
                        //
@@ -1508,7 +1522,7 @@ namespace Mono.CSharp {
 
                        var bc = ec as BlockContext;
                        if (bc != null)
-                               aec.FlowOffset = bc.FlowOffset;
+                               aec.AssignmentInfoOffset = bc.AssignmentInfoOffset;
 
                        var errors = ec.Report.Errors;
 
@@ -1521,10 +1535,14 @@ namespace Mono.CSharp {
 
                                //
                                // If e is synchronous the inferred return type is T
-                               // If e is asynchronous the inferred return type is Task<T>
+                               // If e is asynchronous and the body of F is either an expression classified as nothing
+                               // or a statement block where no return statements have expressions, the inferred return type is Task
+                               // If e is async and has an inferred result type T, the inferred return type is Task<T>
                                //
                                if (block.IsAsync && ReturnType != null) {
-                                       ReturnType = ec.Module.PredefinedTypes.TaskGeneric.TypeSpec.MakeGenericType (ec, new [] { ReturnType });
+                                       ReturnType = ReturnType.Kind == MemberKind.Void ?
+                                               ec.Module.PredefinedTypes.Task.TypeSpec :
+                                               ec.Module.PredefinedTypes.TaskGeneric.TypeSpec.MakeGenericType (ec, new [] { ReturnType });
                                }
                        }
 
@@ -1679,14 +1697,13 @@ namespace Mono.CSharp {
                                                        // use ldftn on non-boxed instances either to share mutated state
                                                        //
                                                        parent = sm_parent.Parent.PartialContainer;
+                                               } else if (sm is IteratorStorey) {
+                                                       //
+                                                       // For iterators we can host everything in one class
+                                                       //
+                                                       parent = storey = sm;
                                                }
                                        }
-
-                                       //
-                                       // For iterators we can host everything in one class
-                                       //
-                                       if (sm is IteratorStorey)
-                                               parent = storey = sm;
                                }
 
                                modifiers = storey != null ? Modifiers.INTERNAL : Modifiers.PRIVATE;
@@ -1701,7 +1718,7 @@ namespace Mono.CSharp {
                                parent = ec.CurrentTypeDefinition.Parent.PartialContainer;
 
                        string name = CompilerGeneratedContainer.MakeName (parent != storey ? block_name : null,
-                               "m", null, ec.Module.CounterAnonymousMethods++);
+                               "m", null, parent.PartialContainer.CounterAnonymousMethods++);
 
                        MemberName member_name;
                        if (storey == null && ec.CurrentTypeParameters != null) {
index b2e4e9a20181b84e86a02b000a20ffed083fdd32..4bbb7f3231377eb9c76dfc15d732a0c1a8c00284 100644 (file)
@@ -919,7 +919,7 @@ namespace Mono.CSharp
                                                return;
                                        }
 
-                                       var mtype = texpr.Type.MemberDefinition as ClassOrStruct;
+                                       var mtype = texpr.MemberDefinition as ClassOrStruct;
                                        if (mtype == null) {
                                                Report.Error (1556, "`{0}' specified for Main method must be a valid class or struct", main_class);
                                                return;
@@ -1110,13 +1110,13 @@ namespace Mono.CSharp
                }
        }
 
-       abstract class AssemblyReferencesLoader<T>
+       abstract class AssemblyReferencesLoader<T> where T : class
        {
                protected readonly CompilerContext compiler;
 
                protected readonly List<string> paths;
 
-               public AssemblyReferencesLoader (CompilerContext compiler)
+               protected AssemblyReferencesLoader (CompilerContext compiler)
                {
                        this.compiler = compiler;
 
index 61cb8e239275e94c9375e11e2958f804567b6f8d..49595edd0f473212d53faef69c0af454ae60bfbf 100644 (file)
@@ -807,7 +807,9 @@ namespace Mono.CSharp {
                        if (b == null) {
                                if (source is ReducedExpression)
                                        b = ((ReducedExpression) source).OriginalExpression as Binary;
-                               else if (source is Nullable.LiftedBinaryOperator) {
+                               else if (source is ReducedExpression.ReducedConstantExpression) {
+                                       b = ((ReducedExpression.ReducedConstantExpression) source).OriginalExpression as Binary;
+                               } else if (source is Nullable.LiftedBinaryOperator) {
                                        var po = ((Nullable.LiftedBinaryOperator) source);
                                        if (po.UserOperator == null)
                                                b = po.Binary;
index 05f9a63f635fab3773f90e1cd5fedcbb79c8a46f..daa0073136204c4679d02a28290e89e11654c31b 100644 (file)
@@ -221,7 +221,7 @@ namespace Mono.CSharp
 
                public void EmitPrologue (EmitContext ec)
                {
-                       awaiter = ((AsyncTaskStorey) machine_initializer.Storey).AddAwaiter (expr.Type, loc);
+                       awaiter = ((AsyncTaskStorey) machine_initializer.Storey).AddAwaiter (expr.Type);
 
                        var fe_awaiter = new FieldExpr (awaiter, loc);
                        fe_awaiter.InstanceExpression = new CompilerGeneratedThis (ec.CurrentType, loc);
@@ -409,11 +409,6 @@ namespace Mono.CSharp
                        return ctx;
                }
 
-               public override Expression CreateExpressionTree (ResolveContext ec)
-               {
-                       return base.CreateExpressionTree (ec);
-               }
-
                public override void Emit (EmitContext ec)
                {
                        throw new NotImplementedException ();
@@ -483,7 +478,7 @@ namespace Mono.CSharp
 
                #endregion
 
-               public Field AddAwaiter (TypeSpec type, Location loc)
+               public Field AddAwaiter (TypeSpec type)
                {
                        if (mutator != null)
                                type = mutator.Mutate (type);
index 1bc873648327ebb85c87f0de605080c49dbba9e0..87174664d48c31202fac13d59a1e44b2e973b4d8 100644 (file)
@@ -1650,6 +1650,7 @@ namespace Mono.CSharp {
                public readonly PredefinedAttribute UnsafeValueType;
                public readonly PredefinedAttribute UnmanagedFunctionPointer;
                public readonly PredefinedDebuggerBrowsableAttribute DebuggerBrowsable;
+               public readonly PredefinedAttribute DebuggerStepThrough;
 
                // New in .NET 3.5
                public readonly PredefinedAttribute Extension;
@@ -1716,6 +1717,7 @@ namespace Mono.CSharp {
                        UnsafeValueType = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "UnsafeValueTypeAttribute");
                        UnmanagedFunctionPointer = new PredefinedAttribute (module, "System.Runtime.InteropServices", "UnmanagedFunctionPointerAttribute");
                        DebuggerBrowsable = new PredefinedDebuggerBrowsableAttribute (module, "System.Diagnostics", "DebuggerBrowsableAttribute");
+                       DebuggerStepThrough = new PredefinedAttribute (module, "System.Diagnostics", "DebuggerStepThroughAttribute");
 
                        Extension = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "ExtensionAttribute");
 
index 361216652889d2eea740cefa33189a5b8fb9d8d1..96062f2748e744c51360f607ad2de8f492dc889d 100644 (file)
@@ -920,7 +920,7 @@ namespace Mono.CSharp {
 
                                IntConstant sic = right.ConvertImplicitly (ec.BuiltinTypes.Int) as IntConstant;
                                if (sic == null){
-                                       Binary.Error_OperatorCannotBeApplied (ec, left, right, oper, loc); ;
+                                       Binary.Error_OperatorCannotBeApplied (ec, left, right, oper, loc);
                                        return null;
                                }
                                int rshift_val = sic.Value;
index d6e1e8ed2cecfbadcbf52bb3990feb2c8c6a8bca..69c39d5be7a721f0950c56cfced70fd0a3734a52 100644 (file)
@@ -53,7 +53,11 @@ namespace Mono.CSharp
 
                protected bool is_defined;
 
-               public TypeContainer (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
+               public int CounterAnonymousMethods { get; set; }
+               public int CounterAnonymousContainers { get; set; }
+               public int CounterSwitchTypes { get; set; }
+
+               protected TypeContainer (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
                        : base (parent, name, attrs)
                {
                        this.Kind = kind;
@@ -556,7 +560,7 @@ namespace Mono.CSharp
                /// </remarks>
                PendingImplementation pending;
 
-               public TypeDefinition (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
+               protected TypeDefinition (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
                        : base (parent, name, attrs, kind)
                {
                        PartialContainer = this;
@@ -971,7 +975,7 @@ namespace Mono.CSharp
                                        if (s == null) {
                                                s = EmptyExpressionStatement.Instance;
                                        } else if (!fi.IsSideEffectFree) {
-                                               has_complex_initializer |= true;
+                                               has_complex_initializer = true;
                                        }
 
                                        init [i] = s;
@@ -2474,7 +2478,7 @@ namespace Mono.CSharp
 
                SecurityType declarative_security;
 
-               public ClassOrStruct (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
+               protected ClassOrStruct (TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind)
                        : base (parent, name, attrs, kind)
                {
                }
@@ -3137,7 +3141,7 @@ namespace Mono.CSharp
                readonly Modifiers explicit_mod_flags;
                public MethodAttributes flags;
 
-               public InterfaceMemberBase (TypeDefinition parent, FullNamedExpression type, Modifiers mod, Modifiers allowed_mod, MemberName name, Attributes attrs)
+               protected InterfaceMemberBase (TypeDefinition parent, FullNamedExpression type, Modifiers mod, Modifiers allowed_mod, MemberName name, Attributes attrs)
                        : base (parent, type, mod, allowed_mod, Modifiers.PRIVATE, name, attrs)
                {
                        IsInterface = parent.Kind == MemberKind.Interface;
index f51bfab660900ca6aa8dab4783b4e446778341dc..799d81bfac6adb3706ede095c5177c615d7714e4 100644 (file)
@@ -70,7 +70,7 @@ namespace Mono.CSharp {
                        }
                }
 
-               public Constant ImplicitConversionRequired (ResolveContext ec, TypeSpec type, Location loc)
+               public Constant ImplicitConversionRequired (ResolveContext ec, TypeSpec type)
                {
                        Constant c = ConvertImplicitly (type);
                        if (c == null)
index f636ffdb0a004740dad6eacb846f872068f3f54b..49c4f5bfe750cd00db623ae6ff23e63398501e9a 100644 (file)
@@ -73,7 +73,10 @@ namespace Mono.CSharp
 
                readonly TypeSpec return_type;
 
-               public int FlowOffset;
+               //
+               // Tracks the last offset used by VariableInfo
+               //
+               public int AssignmentInfoOffset;
 
                public BlockContext (IMemberContext mc, ExplicitBlock block, TypeSpec returnType)
                        : base (mc)
@@ -325,7 +328,7 @@ namespace Mono.CSharp
                // it's public so that we can use a struct at the callsite
                public struct FlagsHandle : IDisposable
                {
-                       ResolveContext ec;
+                       readonly ResolveContext ec;
                        readonly Options invmask, oldval;
 
                        public FlagsHandle (ResolveContext ec, Options flagsToSet)
@@ -730,7 +733,7 @@ namespace Mono.CSharp
                // it's public so that we can use a struct at the callsite
                public struct FlagsHandle : IDisposable
                {
-                       BuilderContext ec;
+                       readonly BuilderContext ec;
                        readonly Options invmask, oldval;
 
                        public FlagsHandle (BuilderContext ec, Options flagsToSet)
index 2d2d60d3cf3766c686c6b74b8d88361b30a54fca..90c4a871009e0e74a1b37b619bbb587ec4eaa3a2 100644 (file)
@@ -3938,7 +3938,7 @@ unary_expression
                         if (current_anonymous_method is LambdaExpression) {
                                report.Error (4034, GetLocation ($1),
                                        "The `await' operator can only be used when its containing lambda expression is marked with the `async' modifier");
-                       } else if (current_anonymous_method is AnonymousMethodExpression) {
+                       } else if (current_anonymous_method != null) {
                                report.Error (4035, GetLocation ($1),
                                        "The `await' operator can only be used when its containing anonymous method is marked with the `async' modifier");
                        } else if (interactive_async != null) {
index 37447f6df9b474f548b0f7c708b3f66ef719d6fe..3f7f49dbfdd1d0710cab10bca8c99f562a9e149c 100644 (file)
@@ -2391,7 +2391,7 @@ namespace Mono.CSharp
                /// <summary>
                /// Handles #pragma directive
                /// </summary>
-               void ParsePragmaDirective (string arg)
+               void ParsePragmaDirective ()
                {
                        int c;
                        int length = TokenizePreprocessorIdentifier (out c);
@@ -2861,7 +2861,7 @@ namespace Mono.CSharp
                                        Report.FeatureIsNotAvailable (context, Location, "#pragma");
                                }
 
-                               ParsePragmaDirective (arg);
+                               ParsePragmaDirective ();
                                return true;
 
                        case PreprocessorDirective.Line:
index b48e147f5b6711625e765a44d38e01372ec3952d..56d423ad23d6ccb754014c5a28a574cb027f69f1 100644 (file)
@@ -303,7 +303,7 @@ namespace Mono.CSharp {
                /// </summary>
                internal Flags caching_flags;
 
-               public MemberCore (TypeContainer parent, MemberName name, Attributes attrs)
+               protected MemberCore (TypeContainer parent, MemberName name, Attributes attrs)
                {
                        this.Parent = parent;
                        member_name = name;
@@ -435,7 +435,7 @@ namespace Mono.CSharp {
                                if ((mod_flags & Modifiers.COMPILER_GENERATED) != 0)
                                        return true;
 
-                               return Parent == null ? false : Parent.IsCompilerGenerated;
+                               return Parent != null && Parent.IsCompilerGenerated;
                        }
                }
 
@@ -884,7 +884,7 @@ namespace Mono.CSharp {
                                if (GetAttributeObsolete () != null)
                                        return true;
 
-                               return Parent == null ? false : Parent.IsObsolete;
+                               return Parent != null && Parent.IsObsolete;
                        }
                }
 
@@ -893,7 +893,7 @@ namespace Mono.CSharp {
                                if ((ModFlags & Modifiers.UNSAFE) != 0)
                                        return true;
 
-                               return Parent == null ? false : Parent.IsUnsafe;
+                               return Parent != null && Parent.IsUnsafe;
                        }
                }
 
index 46fdb3c9e1555239000539caa08551ed7ee1273f..4abcf6a0ef40a10f85aa879270c0495c22b161f6 100644 (file)
@@ -147,16 +147,13 @@ namespace Mono.CSharp
                                }
 
                                // FIXME: it could be done with XmlReader
-                               var ds_target = mc as TypeContainer;
-                               if (ds_target == null)
-                                       ds_target = mc.Parent;
 
                                foreach (XmlElement see in n.SelectNodes (".//see"))
-                                       HandleSee (mc, ds_target, see);
+                                       HandleSee (mc, see);
                                foreach (XmlElement seealso in n.SelectNodes (".//seealso"))
-                                       HandleSeeAlso (mc, ds_target, seealso);
+                                       HandleSeeAlso (mc, seealso);
                                foreach (XmlElement see in n.SelectNodes (".//exception"))
-                                       HandleException (mc, ds_target, see);
+                                       HandleException (mc, see);
                                foreach (XmlElement node in n.SelectNodes (".//typeparam"))
                                        HandleTypeParam (mc, node);
                                foreach (XmlElement node in n.SelectNodes (".//typeparamref"))
@@ -228,25 +225,25 @@ namespace Mono.CSharp
                //
                // Handles <see> elements.
                //
-               void HandleSee (MemberCore mc, TypeContainer ds, XmlElement see)
+               void HandleSee (MemberCore mc, XmlElement see)
                {
-                       HandleXrefCommon (mc, ds, see);
+                       HandleXrefCommon (mc, see);
                }
 
                //
                // Handles <seealso> elements.
                //
-               void HandleSeeAlso (MemberCore mc, TypeContainer ds, XmlElement seealso)
+               void HandleSeeAlso (MemberCore mc, XmlElement seealso)
                {
-                       HandleXrefCommon (mc, ds, seealso);
+                       HandleXrefCommon (mc, seealso);
                }
 
                //
                // Handles <exception> elements.
                //
-               void HandleException (MemberCore mc, TypeContainer ds, XmlElement seealso)
+               void HandleException (MemberCore mc, XmlElement seealso)
                {
-                       HandleXrefCommon (mc, ds, seealso);
+                       HandleXrefCommon (mc, seealso);
                }
 
                //
@@ -319,7 +316,7 @@ namespace Mono.CSharp
                //
                // Processes "see" or "seealso" elements from cref attribute.
                //
-               void HandleXrefCommon (MemberCore mc, TypeContainer ds, XmlElement xref)
+               void HandleXrefCommon (MemberCore mc, XmlElement xref)
                {
                        string cref = xref.GetAttribute ("cref");
                        // when, XmlReader, "if (cref == null)"
@@ -340,7 +337,7 @@ namespace Mono.CSharp
                        var report = new Report (doc_module.Compiler, new NullReportPrinter ());
 
                        if (session == null)
-                               session = new ParserSession () {
+                               session = new ParserSession {
                                        UseJayGlobalArrays = true
                                };
 
index 45c9719ea6a51b987ade77acc0da32e5fa0b18b5..9dbd05becde51065ab29cbf91e752e76e82406a4 100644 (file)
@@ -78,7 +78,7 @@ namespace Mono.CSharp
 
                        Location.Initialize (sources);
 
-                       var session = new ParserSession () {
+                       var session = new ParserSession {
                                UseJayGlobalArrays = true,
                                LocatedTokens = new LocatedToken[15000]
                        };
index 0246c43a1b67fa9cba25972b19e283fd7558a5b2..2124f0fda088d89e5febb0092edb68e3dd115246 100644 (file)
@@ -224,8 +224,8 @@ namespace Mono.CSharp
                //
                protected class BinderFlags : EnumConstant
                {
-                       DynamicExpressionStatement statement;
-                       CSharpBinderFlags flags;
+                       readonly DynamicExpressionStatement statement;
+                       readonly CSharpBinderFlags flags;
 
                        public BinderFlags (CSharpBinderFlags flags, DynamicExpressionStatement statement)
                                : base (statement.loc)
@@ -391,7 +391,7 @@ namespace Mono.CSharp
                        if (!has_ref_out_argument) {
                                string d_name = isStatement ? "Action" : "Func";
 
-                               TypeExpr te = null;
+                               TypeSpec te = null;
                                Namespace type_ns = module.GlobalRootNamespace.GetNamespace ("System", true);
                                if (type_ns != null) {
                                        te = type_ns.LookupType (module, d_name, dyn_args_count + default_args, LookupMode.Normal, loc);
@@ -412,9 +412,9 @@ namespace Mono.CSharp
                                                targs[targs.Length - 1] = new TypeExpression (t, loc);
                                        }
 
-                                       del_type = new GenericTypeExpr (te.Type, new TypeArguments (targs), loc);
+                                       del_type = new GenericTypeExpr (te, new TypeArguments (targs), loc);
                                        if (targs_for_instance != null)
-                                               del_type_instance_access = new GenericTypeExpr (te.Type, new TypeArguments (targs_for_instance), loc);
+                                               del_type_instance_access = new GenericTypeExpr (te, new TypeArguments (targs_for_instance), loc);
                                        else
                                                del_type_instance_access = del_type;
                                }
index 74874d0683f9ab7b7f1523ae9337abdf83bfea0f..77c74df81157db74389aad6004437012ba7be7b8 100644 (file)
@@ -339,7 +339,7 @@ namespace Mono.CSharp {
                        }
                }
 
-               public void Error_TypeArgumentsCannotBeUsed (IMemberContext context, string exprType, string name, Location loc)
+               public static void Error_TypeArgumentsCannotBeUsed (IMemberContext context, string exprType, string name, Location loc)
                {
                        context.Module.Compiler.Report.Error (307, loc, "The {0} `{1}' cannot be used with type arguments",
                                exprType, name);
@@ -373,6 +373,11 @@ namespace Mono.CSharp {
                        rc.Report.Error (242, loc, "The operation in question is undefined on void pointers");
                }
 
+               public static void Warning_UnreachableExpression (ResolveContext rc, Location loc)
+               {
+                       rc.Report.Warning (429, 4, loc, "Unreachable expression code detected");
+               }
+
                public ResolveFlags ExprClassToResolveFlags {
                        get {
                                switch (eclass) {
@@ -989,7 +994,7 @@ namespace Mono.CSharp {
                /// <summary>
                ///   Reports that we were expecting `expr' to be of class `expected'
                /// </summary>
-               public void Error_UnexpectedKind (IMemberContext ctx, Expression memberExpr, string expected, string was, Location loc)
+               public static void Error_UnexpectedKind (IMemberContext ctx, Expression memberExpr, string expected, string was, Location loc)
                {
                        var name = memberExpr.GetSignatureForError ();
 
@@ -2057,6 +2062,12 @@ namespace Mono.CSharp {
                                this.orig_expr = orig_expr;
                        }
 
+                       public Expression OriginalExpression {
+                               get {
+                                       return orig_expr;
+                               }
+                       }
+
                        public override Constant ConvertImplicitly (TypeSpec target_type)
                        {
                                Constant c = base.ConvertImplicitly (target_type);
@@ -2479,7 +2490,7 @@ namespace Mono.CSharp {
                        if (ctx.CurrentType != null) {
                                var member = MemberLookup (ctx, false, ctx.CurrentType, Name, 0, MemberLookupRestrictions.ExactArity, loc) as MemberExpr;
                                if (member != null) {
-                                       member.Error_UnexpectedKind (ctx, member, "type", member.KindName, loc);
+                                       Error_UnexpectedKind (ctx, member, "type", member.KindName, loc);
                                        return;
                                }
                        }
@@ -2724,7 +2735,7 @@ namespace Mono.CSharp {
                                                } else {
                                                        var me = MemberLookup (rc, false, rc.CurrentType, Name, Arity, restrictions & ~MemberLookupRestrictions.InvocableOnly, loc) as MemberExpr;
                                                        if (me != null) {
-                                                               me.Error_UnexpectedKind (rc, me, "method group", me.KindName, loc);
+                                                               Error_UnexpectedKind (rc, me, "method group", me.KindName, loc);
                                                                return ErrorExpression.Instance;
                                                        }
                                                }
@@ -2770,7 +2781,7 @@ namespace Mono.CSharp {
                                return null;
 
                        if (e is FullNamedExpression && e.eclass != ExprClass.Unresolved) {
-                               e.Error_UnexpectedKind (ec, e, "variable", e.ExprClassName, loc);
+                               Error_UnexpectedKind (ec, e, "variable", e.ExprClassName, loc);
                                return e;
                        }
 
@@ -2827,7 +2838,7 @@ namespace Mono.CSharp {
 
                        TypeExpr te = fne as TypeExpr;
                        if (te == null) {
-                               fne.Error_UnexpectedKind (mc, fne, "type", fne.ExprClassName, loc);
+                               Error_UnexpectedKind (mc, fne, "type", fne.ExprClassName, loc);
                                return null;
                        }
 
@@ -3144,16 +3155,28 @@ namespace Mono.CSharp {
                        //
                        // Check intermediate value modification which won't have any effect
                        //
-                       if (rhs != null && InstanceExpression.Type.IsStruct &&
-                               (InstanceExpression is PropertyExpr || InstanceExpression is IndexerExpr || InstanceExpression is Invocation)) {
-
-                               if (rc.CurrentInitializerVariable != null) {
-                                       rc.Report.Error (1918, loc, "Members of value type `{0}' cannot be assigned using a property `{1}' object initializer",
-                                               InstanceExpression.Type.GetSignatureForError (), InstanceExpression.GetSignatureForError ());
-                               } else {
-                                       rc.Report.Error (1612, loc,
-                                               "Cannot modify a value type return value of `{0}'. Consider storing the value in a temporary variable",
-                                               InstanceExpression.GetSignatureForError ());
+                       if (rhs != null && InstanceExpression.Type.IsStruct) {
+                               var fexpr = InstanceExpression as FieldExpr;
+                               if (fexpr != null) {
+                                       if (!fexpr.Spec.IsReadOnly || rc.HasAny (ResolveContext.Options.FieldInitializerScope | ResolveContext.Options.ConstructorScope))
+                                               return true;
+
+                                       if (fexpr.IsStatic) {
+                                               rc.Report.Error (1650, loc, "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)",
+                                                       fexpr.GetSignatureForError ());
+                                       } else {
+                                               rc.Report.Error (1648, loc, "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)",
+                                                       fexpr.GetSignatureForError ());
+                                       }
+                               } else if (InstanceExpression is PropertyExpr || InstanceExpression is IndexerExpr || InstanceExpression is Invocation) {
+                                       if (rc.CurrentInitializerVariable != null) {
+                                               rc.Report.Error (1918, loc, "Members of value type `{0}' cannot be assigned using a property `{1}' object initializer",
+                                                       InstanceExpression.Type.GetSignatureForError (), InstanceExpression.GetSignatureForError ());
+                                       } else {
+                                               rc.Report.Error (1612, loc,
+                                                       "Cannot modify a value type return value of `{0}'. Consider storing the value in a temporary variable",
+                                                       InstanceExpression.GetSignatureForError ());
+                                       }
                                }
                        }
 
@@ -3523,8 +3546,7 @@ namespace Mono.CSharp {
 
                public override bool IsSideEffectFree {
                        get {
-                               return InstanceExpression != null ?
-                                       InstanceExpression.IsSideEffectFree : true;
+                               return InstanceExpression == null || InstanceExpression.IsSideEffectFree;
                        }
                }
 
@@ -4991,8 +5013,7 @@ namespace Mono.CSharp {
                                                }
 
                                                // Restore expanded arguments
-                                               if (candidate_args != args)
-                                                       candidate_args = args;
+                                               candidate_args = args;
                                        }
                                } while (best_candidate_rate != 0 && (type_members = base_provider.GetBaseMembers (type_members[0].DeclaringType.BaseType)) != null);
 
@@ -5285,6 +5306,9 @@ namespace Mono.CSharp {
 
                        for (; a_idx < arg_count; a_idx++, ++a_pos) {
                                a = args[a_idx];
+                               if (a == null)
+                                       continue;
+
                                if (p_mod != Parameter.Modifier.PARAMS) {
                                        p_mod = pd.FixedParameters[a_idx].ModFlags;
                                        pt = ptypes[a_idx];
@@ -5326,7 +5350,7 @@ namespace Mono.CSharp {
                                                                "The best overloaded method match for `{0}' does not contain a parameter named `{1}'",
                                                                TypeManager.CSharpSignature (member), na.Name);
                                                }
-                                       } else if (args[name_index] != a) {
+                                       } else if (args[name_index] != a && args[name_index] != null) {
                                                if (IsDelegateInvoke)
                                                        ec.Report.SymbolRelatedToPreviousError (DelegateType);
                                                else
@@ -5725,43 +5749,50 @@ namespace Mono.CSharp {
                        } while (fe != null);
                }
 
-               static readonly int [] codes = {
-                       191,    // instance, write access
-                       192,    // instance, out access
-                       198,    // static, write access
-                       199,    // static, out access
-                       1648,   // member of value instance, write access
-                       1649,   // member of value instance, out access
-                       1650,   // member of value static, write access
-                       1651    // member of value static, out access
-               };
-
-               static readonly string [] msgs = {
-                       /*0191*/ "A readonly field `{0}' cannot be assigned to (except in a constructor or a variable initializer)",
-                       /*0192*/ "A readonly field `{0}' cannot be passed ref or out (except in a constructor)",
-                       /*0198*/ "A static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)",
-                       /*0199*/ "A static readonly field `{0}' cannot be passed ref or out (except in a static constructor)",
-                       /*1648*/ "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)",
-                       /*1649*/ "Members of readonly field `{0}' cannot be passed ref or out (except in a constructor)",
-                       /*1650*/ "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)",
-                       /*1651*/ "Fields of static readonly field `{0}' cannot be passed ref or out (except in a static constructor)"
-               };
-
-               // The return value is always null.  Returning a value simplifies calling code.
-               Expression Report_AssignToReadonly (ResolveContext ec, Expression right_side)
-               {
-                       int i = 0;
-                       if (right_side == EmptyExpression.OutAccess || right_side == EmptyExpression.LValueMemberOutAccess)
-                               i += 1;
-                       if (IsStatic)
-                               i += 2;
-                       if (right_side == EmptyExpression.LValueMemberAccess || right_side == EmptyExpression.LValueMemberOutAccess)
-                               i += 4;
-                       ec.Report.Error (codes [i], loc, msgs [i], GetSignatureForError ());
+               Expression Error_AssignToReadonly (ResolveContext rc, Expression right_side)
+               {
+                       // The return value is always null.  Returning a value simplifies calling code.
+       
+                       if (right_side == EmptyExpression.OutAccess) {
+                               if (IsStatic) {
+                                       rc.Report.Error (199, loc, "A static readonly field `{0}' cannot be passed ref or out (except in a static constructor)",
+                                               GetSignatureForError ());
+                               } else {
+                                       rc.Report.Error (192, loc, "A readonly field `{0}' cannot be passed ref or out (except in a constructor)",
+                                               GetSignatureForError ());
+                               }
+
+                               return null;
+                       }
+
+                       if (right_side == EmptyExpression.LValueMemberAccess) {
+                               // Already reported as CS1648/CS1650
+                               return null;
+                       }
+
+                       if (right_side == EmptyExpression.LValueMemberOutAccess) {
+                               if (IsStatic) {
+                                       rc.Report.Error (1651, loc, "Fields of static readonly field `{0}' cannot be passed ref or out (except in a static constructor)",
+                                               GetSignatureForError ());
+                               } else {
+                                       rc.Report.Error (1649, loc, "Members of readonly field `{0}' cannot be passed ref or out (except in a constructor)",
+                                               GetSignatureForError ());
+                               }
+
+                               return null;
+                       }
+
+                       if (IsStatic) {
+                               rc.Report.Error (198, loc, "A static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)",
+                                       GetSignatureForError ());
+                       } else {
+                               rc.Report.Error (191, loc, "A readonly field `{0}' cannot be assigned to (except in a constructor or a variable initializer)",
+                                       GetSignatureForError ());
+                       }
 
                        return null;
                }
-               
+
                override public Expression DoResolveLValue (ResolveContext ec, Expression right_side)
                {
                        if (spec is FixedFieldSpec) {
@@ -5786,19 +5817,19 @@ namespace Mono.CSharp {
                        if (spec.IsReadOnly) {
                                // InitOnly fields can only be assigned in constructors or initializers
                                if (!ec.HasAny (ResolveContext.Options.FieldInitializerScope | ResolveContext.Options.ConstructorScope))
-                                       return Report_AssignToReadonly (ec, right_side);
+                                       return Error_AssignToReadonly (ec, right_side);
 
                                if (ec.HasSet (ResolveContext.Options.ConstructorScope)) {
 
                                        // InitOnly fields cannot be assigned-to in a different constructor from their declaring type
                                        if (ec.CurrentMemberDefinition.Parent.PartialContainer.Definition != spec.DeclaringType.GetDefinition ())
-                                               return Report_AssignToReadonly (ec, right_side);
+                                               return Error_AssignToReadonly (ec, right_side);
                                        // static InitOnly fields cannot be assigned-to in an instance constructor
                                        if (IsStatic && !ec.IsStatic)
-                                               return Report_AssignToReadonly (ec, right_side);
+                                               return Error_AssignToReadonly (ec, right_side);
                                        // instance constructors can't modify InitOnly fields of other instances of the same type
                                        if (!IsStatic && !(InstanceExpression is This))
-                                               return Report_AssignToReadonly (ec, right_side);
+                                               return Error_AssignToReadonly (ec, right_side);
                                }
                        }
 
@@ -6433,7 +6464,7 @@ namespace Mono.CSharp {
                                                best_candidate.GetSignatureForError ());
                                        return false;
                                }
-                       } else if (!best_candidate.Get.IsAccessible (rc)) {
+                       } else if (!best_candidate.Get.IsAccessible (rc) || !best_candidate.Get.DeclaringType.IsAccessible (rc)) {
                                if (best_candidate.HasDifferentAccessibility) {
                                        rc.Report.SymbolRelatedToPreviousError (best_candidate.Get);
                                        rc.Report.Error (271, loc, "The property or indexer `{0}' cannot be used in this context because the get accessor is inaccessible",
@@ -6460,7 +6491,7 @@ namespace Mono.CSharp {
                                return false;
                        }
 
-                       if (!best_candidate.Set.IsAccessible (rc)) {
+                       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",
@@ -6723,7 +6754,7 @@ namespace Mono.CSharp {
                        // Don't capture temporary variables except when using
                        // state machine redirection and block yields
                        //
-                       if (ec.CurrentAnonymousMethod != null && ec.CurrentAnonymousMethod is StateMachineInitializer &&
+                       if (ec.CurrentAnonymousMethod is StateMachineInitializer &&
                                (ec.CurrentBlock.Explicit.HasYield || ec.CurrentBlock.Explicit.HasAwait) &&
                                ec.IsVariableCapturingRequired) {
                                AnonymousMethodStorey storey = li.Block.Explicit.CreateAnonymousMethodStorey (ec);
@@ -6782,7 +6813,7 @@ namespace Mono.CSharp {
                        get { return null; }
                }
 
-               public override void VerifyAssigned (ResolveContext rc)
+               public override void VerifyDefiniteAssignment (ResolveContext rc)
                {
                }
        }
index 1081e0e551e55849bf18118da5bab9b941b87d3d..d2a031bd01960a220b28583df64f92fbae01991d 100644 (file)
@@ -66,7 +66,7 @@ namespace Mono.CSharp {
 
                        var underlying = ((Enum) Parent).UnderlyingType;
                        if (expr != null) {
-                               expr = expr.ImplicitConversionRequired (rc, underlying, Location);
+                               expr = expr.ImplicitConversionRequired (rc, underlying);
                                if (expr != null && !IsValidEnumType (expr.Type)) {
                                        Enum.Error_1008 (Location, Report);
                                        expr = null;
index 9607ffd8b7945c0535fe516305dca14b20b2059d..5d9a291b1c51f1c3bc99b1dbfa36b37530c8202f 100644 (file)
@@ -1216,10 +1216,6 @@ namespace Mono.CSharp
        public class Undo
        {
                List<Action> undo_actions;
-               
-               public Undo ()
-               {
-               }
 
                public void AddTypeContainer (TypeContainer current_container, TypeDefinition tc)
                {
index f21fba77c75f353be33d2816b0ba6f0daeeb889f..017af8618e3e8f5c025950c74dbd414c03f0bdb6 100644 (file)
@@ -1319,7 +1319,7 @@ namespace Mono.CSharp
                protected Expression expr;
                protected TypeSpec probe_type_expr;
                
-               public Probe (Expression expr, Expression probe_type, Location l)
+               protected Probe (Expression expr, Expression probe_type, Location l)
                {
                        ProbeType = probe_type;
                        loc = l;
@@ -1505,6 +1505,12 @@ namespace Mono.CSharp
                                //
                                if (Convert.ExplicitReferenceConversionExists (d, t))
                                        return this;
+
+                               //
+                               // open generic type
+                               //
+                               if (d is InflatedTypeSpec && InflatedTypeSpec.ContainsTypeParameter (d))
+                                       return this;
                        } else {
                                var tps = t as TypeParameterSpec;
                                if (tps != null)
@@ -1530,11 +1536,17 @@ namespace Mono.CSharp
                                        }
                                } else {
                                        if (Convert.ImplicitReferenceConversionExists (d, t)) {
+                                               var c = expr as Constant;
+                                               if (c != null)
+                                                       return CreateConstantResult (ec, !c.IsNull);
+
                                                //
                                                // Do not optimize for imported type
                                                //
-                                               if (d.MemberDefinition.IsImported && d.BuiltinType != BuiltinTypeSpec.Type.None)
+                                               if (d.MemberDefinition.IsImported && d.BuiltinType != BuiltinTypeSpec.Type.None &&
+                                                       d.MemberDefinition.DeclaringAssembly != t.MemberDefinition.DeclaringAssembly) {
                                                        return this;
+                                               }
                                                
                                                //
                                                // Turn is check into simple null check for implicitly convertible reference types
@@ -1544,9 +1556,14 @@ namespace Mono.CSharp
                                                        this).Resolve (ec);
                                        }
 
-                                       if (Convert.ExplicitReferenceConversionExists (d, t)) {
+                                       if (Convert.ExplicitReferenceConversionExists (d, t))
+                                               return this;
+
+                                       //
+                                       // open generic type
+                                       //
+                                       if ((d is InflatedTypeSpec || d.IsArray) && InflatedTypeSpec.ContainsTypeParameter (d))
                                                return this;
-                                       }
                                }
                        }
 
@@ -1993,11 +2010,17 @@ namespace Mono.CSharp
                                                        b.left = Convert.ImplicitConversion (rc, b.left, left, b.left.Location);
                                                        return ReducedExpression.Create (b.left, b).Resolve (rc);
                                                }
-                                       } else {
+
                                                //
-                                               // Optimizes
+                                               // Optimizes (value &/&& 0) to 0
                                                //
-                                               // (bool? & true) to bool?
+                                               if ((b.oper == Operator.BitwiseAnd || b.oper == Operator.LogicalAnd) && !IsLifted) {
+                                                       Constant side_effect = new SideEffectConstant (c, b.left, c.Location);
+                                                       return ReducedExpression.Create (side_effect, b);
+                                               }
+                                       } else {
+                                               //
+                                               // Optimizes (bool? & true) to bool?
                                                //
                                                if (IsLifted && left_unwrap.BuiltinType == BuiltinTypeSpec.Type.Bool && b.oper == Operator.BitwiseAnd) {
                                                        return ReducedExpression.Create (b.left, b).Resolve (rc);
@@ -2026,15 +2049,39 @@ namespace Mono.CSharp
                                                        b.right = Convert.ImplicitConversion (rc, b.right, right, b.right.Location);
                                                        return ReducedExpression.Create (b.right, b).Resolve (rc);
                                                }
-                                       } else {
+
                                                //
-                                               // Optimizes
+                                               // Optimizes (false && expr) to false
+                                               //
+                                               if (b.oper == Operator.LogicalAnd && c.Type.BuiltinType == BuiltinTypeSpec.Type.Bool) {
+                                                       // No rhs side-effects
+                                                       Expression.Warning_UnreachableExpression (rc, b.right.StartLocation);
+                                                       return ReducedExpression.Create (c, b);
+                                               }
+
+                                               //
+                                               // Optimizes (0 & value) to 0
                                                //
-                                               // (true & bool?) to bool?
+                                               if (b.oper == Operator.BitwiseAnd && !IsLifted) {
+                                                       Constant side_effect = new SideEffectConstant (c, b.right, c.Location);
+                                                       return ReducedExpression.Create (side_effect, b);
+                                               }
+                                       } else {
+                                               //
+                                               // Optimizes (true & bool?) to bool?
                                                //
                                                if (IsLifted && left_unwrap.BuiltinType == BuiltinTypeSpec.Type.Bool && b.oper == Operator.BitwiseAnd) {
                                                        return ReducedExpression.Create (b.right, b).Resolve (rc);
                                                }
+
+                                               //
+                                               // Optimizes (true || expr) to true
+                                               //
+                                               if (b.oper == Operator.LogicalOr && c.Type.BuiltinType == BuiltinTypeSpec.Type.Bool) {
+                                                       // No rhs side-effects
+                                                       Expression.Warning_UnreachableExpression (rc, b.right.StartLocation);
+                                                       return ReducedExpression.Create (c, b);
+                                               }
                                        }
 
                                        if (b.oper == Operator.Multiply && c.IsOneInteger)
@@ -2845,7 +2892,7 @@ namespace Mono.CSharp
 
                // at least one of 'left' or 'right' is an enumeration constant (EnumConstant or SideEffectConstant or ...)
                // if 'left' is not an enumeration constant, create one from the type of 'right'
-               Constant EnumLiftUp (ResolveContext ec, Constant left, Constant right, Location loc)
+               Constant EnumLiftUp (ResolveContext ec, Constant left, Constant right)
                {
                        switch (oper) {
                        case Operator.BitwiseOr:
@@ -3216,30 +3263,18 @@ namespace Mono.CSharp
                        if (left == null)
                                return null;
 
-                       Constant lc = left as Constant;
-
-                       if (lc != null && lc.Type.BuiltinType == BuiltinTypeSpec.Type.Bool &&
-                               ((oper == Operator.LogicalAnd && lc.IsDefaultValue) ||
-                                (oper == Operator.LogicalOr && !lc.IsDefaultValue))) {
-
-                               // FIXME: resolve right expression as unreachable
-                               // right.Resolve (ec);
-
-                               ec.Report.Warning (429, 4, right.StartLocation, "Unreachable expression code detected");
-                               return left;
-                       }
-
                        right = right.Resolve (ec);
                        if (right == null)
                                return null;
 
+                       Constant lc = left as Constant;
                        Constant rc = right as Constant;
 
                        // The conversion rules are ignored in enum context but why
                        if (!ec.HasSet (ResolveContext.Options.EnumScope) && lc != null && rc != null && (left.Type.IsEnum || right.Type.IsEnum)) {
-                               lc = EnumLiftUp (ec, lc, rc, loc);
+                               lc = EnumLiftUp (ec, lc, rc);
                                if (lc != null)
-                                       rc = EnumLiftUp (ec, rc, lc, loc);
+                                       rc = EnumLiftUp (ec, rc, lc);
                        }
 
                        if (rc != null && lc != null) {
@@ -4012,17 +4047,11 @@ namespace Mono.CSharp
                        if (best_operator == null)
                                return null;
 
-                       var expr = best_operator.ConvertResult (ec, this);
-
-                       if ((oper == Operator.BitwiseAnd || oper == Operator.LogicalAnd) && !best_operator.IsLifted) {
-                               expr = OptimizeAndOperation (expr);
-                       }
-
-                       return expr;
+                       return best_operator.ConvertResult (ec, this);
                }
 
                //
-               // Optimize &/&& constant expressions with 0 value
+               // Optimize & constant expressions with 0 value
                //
                Expression OptimizeAndOperation (Expression expr)
                {
@@ -4950,7 +4979,7 @@ namespace Mono.CSharp
 
        public class PointerArithmetic : Expression {
                Expression left, right;
-               Binary.Operator op;
+               readonly Binary.Operator op;
 
                //
                // We assume that `l' is always a pointer
@@ -5325,8 +5354,8 @@ namespace Mono.CSharp
                                // Don't issue the warning for constant expressions
                                //
                                if (!(is_false ? true_expr is Constant : false_expr is Constant)) {
-                                       ec.Report.Warning (429, 4, is_false ? true_expr.Location : false_expr.Location,
-                                               "Unreachable expression code detected");
+                                       // CSC: Missing warning
+                                       Warning_UnreachableExpression (ec, is_false ? true_expr.Location : false_expr.Location);
                                }
 
                                return ReducedExpression.Create (
@@ -5380,7 +5409,7 @@ namespace Mono.CSharp
                #region Abstract
                public abstract HoistedVariable GetHoistedVariable (AnonymousExpression ae);
                public abstract void SetHasAddressTaken ();
-               public abstract void VerifyAssigned (ResolveContext rc);
+               public abstract void VerifyDefiniteAssignment (ResolveContext rc);
 
                public abstract bool IsLockedByStatement { get; set; }
 
@@ -5613,9 +5642,9 @@ namespace Mono.CSharp
 
                #endregion
 
-               public override void VerifyAssigned (ResolveContext rc)
+               public override void VerifyDefiniteAssignment (ResolveContext rc)
                {
-                       VariableInfo variable_info = local_info.VariableInfo;
+                       VariableInfo variable_info = VariableInfo;
                        if (variable_info == null)
                                return;
 
@@ -5660,7 +5689,7 @@ namespace Mono.CSharp
                {
                        local_info.SetIsUsed ();
 
-                       VerifyAssigned (ec);
+                       VerifyDefiniteAssignment (ec);
 
                        DoResolveBase (ec);
                        return this;
@@ -5880,24 +5909,12 @@ namespace Mono.CSharp
                        return Parameter.ExpressionTreeVariableReference ();
                }
 
-               //
-               // Notice that for ref/out parameters, the type exposed is not the
-               // same type exposed externally.
-               //
-               // for "ref int a":
-               //   externally we expose "int&"
-               //   here we expose       "int".
-               //
-               // We record this in "is_ref".  This means that the type system can treat
-               // the type as it is expected, but when we generate the code, we generate
-               // the alternate kind of code.
-               //
                protected override Expression DoResolve (ResolveContext ec)
                {
                        if (!DoResolveBase (ec))
                                return null;
 
-                       VerifyAssigned (ec);
+                       VerifyDefiniteAssignment (ec);
                        return this;
                }
 
@@ -5910,15 +5927,17 @@ namespace Mono.CSharp
                        return base.DoResolveLValue (ec, right_side);
                }
 
-               public override void VerifyAssigned (ResolveContext rc)
+               public override void VerifyDefiniteAssignment (ResolveContext rc)
                {
-                       // HACK: Variables are not captured in probing mode
-                       if (rc.IsInProbingMode)
+                       VariableInfo variable_info = VariableInfo;
+                       if (variable_info == null)
                                return;
 
-                       if (HasOutModifier && !VariableInfo.IsAssigned (rc)) {
-                               rc.Report.Error (269, loc, "Use of unassigned out parameter `{0}'", Name);
-                       }
+                       if (variable_info.IsAssigned (rc))
+                               return;
+
+                       rc.Report.Error (269, loc, "Use of unassigned out parameter `{0}'", Name);
+                       variable_info.SetAssigned (rc);
                }
        }
        
@@ -6070,7 +6089,7 @@ namespace Mono.CSharp
                                } else {
                                        if (member_expr is RuntimeValueExpression) {
                                                ec.Report.Error (Report.RuntimeErrorId, loc, "Cannot invoke a non-delegate type `{0}'",
-                                                       member_expr.Type.GetSignatureForError ()); ;
+                                                       member_expr.Type.GetSignatureForError ());
                                                return null;
                                        }
 
@@ -6786,7 +6805,7 @@ namespace Mono.CSharp
                protected List<Expression> arguments;
                
                protected TypeSpec array_element_type;
-               int num_arguments = 0;
+               int num_arguments;
                protected int dimensions;
                protected readonly ComposedTypeSpecifier rank;
                Expression first_emit;
@@ -7800,7 +7819,7 @@ namespace Mono.CSharp
                        // Nothing
                }
 
-               public override void VerifyAssigned (ResolveContext rc)
+               public override void VerifyDefiniteAssignment (ResolveContext rc)
                {
                }
                
@@ -8713,7 +8732,7 @@ namespace Mono.CSharp
                                if (sn != null) {
                                        var vr = expr as VariableReference;
                                        if (vr != null)
-                                               vr.VerifyAssigned (rc);
+                                               vr.VerifyDefiniteAssignment (rc);
                                }
 
                                Arguments args = new Arguments (1);
@@ -8753,7 +8772,7 @@ namespace Mono.CSharp
                                                        if (sn != null && !errorMode) {
                                                                var vr = expr as VariableReference;
                                                                if (vr != null)
-                                                                       vr.VerifyAssigned (rc);
+                                                                       vr.VerifyDefiniteAssignment (rc);
                                                        }
 
                                                        // TODO: it should really skip the checks bellow
@@ -8835,7 +8854,7 @@ namespace Mono.CSharp
                        if (sn != null && !(me is FieldExpr && TypeSpec.IsValueType (expr_type))) {
                                var vr = expr as VariableReference;
                                if (vr != null)
-                                       vr.VerifyAssigned (rc);
+                                       vr.VerifyDefiniteAssignment (rc);
                        }
 
                        return me;
@@ -8944,7 +8963,7 @@ namespace Mono.CSharp
 
                        var any_other_member = MemberLookup (rc, false, expr_type, Name, 0, MemberLookupRestrictions.None, loc);
                        if (any_other_member != null) {
-                               any_other_member.Error_UnexpectedKind (rc, any_other_member, "type", any_other_member.ExprClassName, loc);
+                               Error_UnexpectedKind (rc, any_other_member, "type", any_other_member.ExprClassName, loc);
                                return;
                        }
 
@@ -8962,7 +8981,7 @@ namespace Mono.CSharp
                        if (ec.Module.Compiler.Settings.Version > LanguageVersion.ISO_2 && !ec.IsRuntimeBinder && MethodGroupExpr.IsExtensionMethodArgument (expr)) {
                                ec.Report.SymbolRelatedToPreviousError (type);
 
-                               var cand = ec.Module.GlobalRootNamespace.FindExtensionMethodNamespaces (ec, type, name, Arity);
+                               var cand = ec.Module.GlobalRootNamespace.FindExtensionMethodNamespaces (ec, name, Arity);
                                string missing;
                                // a using directive or an assembly reference
                                if (cand != null) {
@@ -11086,11 +11105,6 @@ namespace Mono.CSharp
                        eclass = ExprClass.Value;
                        return this;
                }
-
-               public override void EmitStatement (EmitContext ec)
-               {
-                       base.EmitStatement (ec);
-               }
                
                public override object Accept (StructuralVisitor visitor)
                {
index f5603b4fae4ebecd7daa335c60ed08f4bf131d4f..fa3b07334da6f9a6e2d458de502e49e0df54ed8d 100644 (file)
@@ -370,7 +370,7 @@ namespace Mono.CSharp
        public class FixedField : FieldBase
        {
                public const string FixedElementName = "FixedElementField";
-               static int GlobalCounter = 0;
+               static int GlobalCounter;
 
                TypeBuilder fixed_buffer_type;
 
@@ -400,7 +400,7 @@ namespace Mono.CSharp
 
                public override Constant ConvertInitializer (ResolveContext rc, Constant expr)
                {
-                       return expr.ImplicitConversionRequired (rc, rc.BuiltinTypes.Int, Location);
+                       return expr.ImplicitConversionRequired (rc, rc.BuiltinTypes.Int);
                }
 
                public override bool Define ()
index 4fee5a1f707ac72a1ed102aabc7701f259be7778..3e2b2c82dab33511775ee9740b9964bab188c3b2 100644 (file)
@@ -1317,14 +1317,16 @@ namespace Mono.CSharp
                }
        }
 
-       // <summary>
-       //   This is used by the flow analysis code to store information about a single local variable
-       //   or parameter.  Depending on the variable's type, we need to allocate one or more elements
-       //   in the BitVector - if it's a fundamental or reference type, we just need to know whether
-       //   it has been assigned or not, but for structs, we need this information for each of its fields.
-       // </summary>
-       public class VariableInfo {
+       //
+       // This is used by definite assignment analysis code to store information about a local variable
+       // or parameter.  Depending on the variable's type, we need to allocate one or more elements
+       // in the BitVector - if it's a fundamental or reference type, we just need to know whether
+       // it has been assigned or not, but for structs, we need this information for each of its fields.
+       //
+       public class VariableInfo
+       {
                readonly string Name;
+
                readonly TypeInfo TypeInfo;
 
                // <summary>
@@ -1337,12 +1339,12 @@ namespace Mono.CSharp
                //   The first bit always specifies whether the variable as such has been assigned while
                //   the remaining bits contain this information for each of a struct's fields.
                // </summary>
-               public readonly int Length;
+               readonly int Length;
 
                // <summary>
                //   If this is a parameter of local variable.
                // </summary>
-               public readonly bool IsParameter;
+               public bool IsParameter;
 
                VariableInfo[] sub_info;
 
@@ -1369,7 +1371,7 @@ namespace Mono.CSharp
                        Initialize ();
                }
 
-               protected void Initialize ()
+               void Initialize ()
                {
                        TypeInfo[] sub_fields = TypeInfo.SubStructInfo;
                        if (sub_fields != null) {
@@ -1382,16 +1384,21 @@ namespace Mono.CSharp
                                sub_info = new VariableInfo [0];
                }
 
-               public VariableInfo (LocalVariable local_info, int offset)
-                       : this (local_info.Name, local_info.Type, offset)
+               public static VariableInfo Create (BlockContext bc, LocalVariable variable)
                {
-                       this.IsParameter = false;
+                       var info = new VariableInfo (variable.Name, variable.Type, bc.AssignmentInfoOffset);
+                       bc.AssignmentInfoOffset += info.Length;
+                       return info;
                }
 
-               public VariableInfo (ParametersCompiled ip, int i, int offset)
-                       : this (ip.FixedParameters [i].Name, ip.Types [i], offset)
+               public static VariableInfo Create (BlockContext bc, Parameter parameter)
                {
-                       this.IsParameter = true;
+                       var info = new VariableInfo (parameter.Name, parameter.Type, bc.AssignmentInfoOffset) {
+                               IsParameter = true
+                       };
+
+                       bc.AssignmentInfoOffset += info.Length;
+                       return info;
                }
 
                public bool IsAssigned (ResolveContext ec)
index 972e3a8b1c4c5a9cc467b2cb60f0272f870c3aa8..13836984421c838a1ebb27f52be72b66091c30d6 100644 (file)
@@ -117,9 +117,9 @@ namespace Mono.CSharp {
        //
        public class Constraints
        {
-               SimpleMemberName tparam;
-               List<FullNamedExpression> constraints;
-               Location loc;
+               readonly SimpleMemberName tparam;
+               readonly List<FullNamedExpression> constraints;
+               readonly Location loc;
                bool resolved;
                bool resolving;
                
@@ -398,7 +398,7 @@ namespace Mono.CSharp {
        //
        public class TypeParameter : MemberCore, ITypeDefinition
        {
-               static readonly string[] attribute_target = new string [] { "type parameter" };
+               static readonly string[] attribute_target = { "type parameter" };
                
                Constraints constraints;
                GenericTypeParameterBuilder builder;
@@ -2849,7 +2849,7 @@ namespace Mono.CSharp {
                                var mi = Delegate.GetInvokeMethod (t_i);
                                TypeSpec rtype = mi.ReturnType;
 
-                               if (tic.IsReturnTypeNonDependent (ec, mi, rtype)) {
+                               if (tic.IsReturnTypeNonDependent (mi, rtype)) {
                                        // It can be null for default arguments
                                        if (arguments[i] == null)
                                                continue;
@@ -2948,15 +2948,20 @@ namespace Mono.CSharp {
 
                public void AddCommonTypeBound (TypeSpec type)
                {
-                       AddToBounds (new BoundInfo (type, BoundKind.Lower), 0);
+                       AddToBounds (new BoundInfo (type, BoundKind.Lower), 0, false);
                }
 
-               void AddToBounds (BoundInfo bound, int index)
+               public void AddCommonTypeBoundAsync (TypeSpec type)
+               {
+                       AddToBounds (new BoundInfo (type, BoundKind.Lower), 0, true);
+               }
+
+               void AddToBounds (BoundInfo bound, int index, bool voidAllowed)
                {
                        //
                        // Some types cannot be used as type arguments
                        //
-                       if (bound.Type.Kind == MemberKind.Void || bound.Type.IsPointer || bound.Type.IsSpecialRuntimeType ||
+                       if ((bound.Type.Kind == MemberKind.Void && !voidAllowed) || bound.Type.IsPointer || bound.Type.IsSpecialRuntimeType ||
                                bound.Type == InternalType.MethodGroup || bound.Type == InternalType.AnonymousMethod)
                                return;
 
@@ -3030,7 +3035,7 @@ namespace Mono.CSharp {
                        if (pos == -1)
                                return 0;
 
-                       AddToBounds (new BoundInfo (u, BoundKind.Exact), pos);
+                       AddToBounds (new BoundInfo (u, BoundKind.Exact), pos, false);
                        return 1;
                }
 
@@ -3296,7 +3301,7 @@ namespace Mono.CSharp {
                // Tests whether all delegate input arguments are fixed and generic output type
                // requires output type inference 
                //
-               public bool IsReturnTypeNonDependent (ResolveContext ec, MethodSpec invoke, TypeSpec returnType)
+               public bool IsReturnTypeNonDependent (MethodSpec invoke, TypeSpec returnType)
                {
                        AParametersCollection d_parameters = invoke.Parameters;
 
@@ -3361,7 +3366,7 @@ namespace Mono.CSharp {
                        // If V is one of the unfixed type arguments
                        int pos = IsUnfixed (v);
                        if (pos != -1) {
-                               AddToBounds (new BoundInfo (u, inversed ? BoundKind.Upper : BoundKind.Lower), pos);
+                               AddToBounds (new BoundInfo (u, inversed ? BoundKind.Upper : BoundKind.Lower), pos, false);
                                return 1;
                        }                       
 
@@ -3529,7 +3534,7 @@ namespace Mono.CSharp {
                                var invoke = Delegate.GetInvokeMethod (t);
                                TypeSpec rtype = invoke.ReturnType;
 
-                               if (!IsReturnTypeNonDependent (ec, invoke, rtype))
+                               if (!IsReturnTypeNonDependent (invoke, rtype))
                                        return 0;
 
                                // LAMESPEC: Standard does not specify that all methodgroup arguments
index 12894a0cc7506b1fe7a761833534f999d80e744f..3204ed11a085b849c962ef4b2cc31b8c75b322dc 100644 (file)
@@ -91,12 +91,12 @@ namespace Mono.CSharp
 
                public void ImportAssembly (Assembly assembly, RootNamespace targetNamespace)
                {
-                       // It can be used more than once when importing same assembly
-                       // into 2 or more global aliases
-                       // TODO: Should be just Add
-                       GetAssemblyDefinition (assembly);
-
                        try {
+                               // It can be used more than once when importing same assembly
+                               // into 2 or more global aliases
+                               // TODO: Should be just Add
+                               GetAssemblyDefinition (assembly);
+
                                var all_types = assembly.GetTypes ();
                                ImportTypes (all_types, targetNamespace, true);
 
@@ -226,7 +226,7 @@ namespace Mono.CSharp
                readonly StaticImporter importer;
                readonly Universe domain;
                Assembly corlib;
-               List<Tuple<AssemblyName, string, Assembly>> loaded_names;
+               readonly List<Tuple<AssemblyName, string, Assembly>> loaded_names;
                static readonly Dictionary<string, string[]> sdk_directory;
 
                static StaticLoader ()
@@ -241,7 +241,7 @@ namespace Mono.CSharp
                        : base (compiler)
                {
                        this.importer = importer;
-                       domain = new Universe (UniverseOptions.MetadataOnly | UniverseOptions.ResolveMissingMembers);
+                       domain = new Universe (UniverseOptions.MetadataOnly | UniverseOptions.ResolveMissingMembers | UniverseOptions.DisableFusion);
                        domain.AssemblyResolve += AssemblyReferenceResolver;
                        loaded_names = new List<Tuple<AssemblyName, string, Assembly>> ();
 
@@ -307,7 +307,7 @@ namespace Mono.CSharp
 
                        foreach (var assembly in domain.GetAssemblies ()) {
                                AssemblyComparisonResult result;
-                               if (!Fusion.CompareAssemblyIdentityPure (refname, false, assembly.FullName, false, out result)) {
+                               if (!domain.CompareAssemblyIdentity (refname, false, assembly.FullName, false, out result)) {
                                        if ((result == AssemblyComparisonResult.NonEquivalentVersion || result == AssemblyComparisonResult.NonEquivalentPartialVersion) &&
                                                (version_mismatch == null || version_mismatch.GetName ().Version < assembly.GetName ().Version) &&
                                                !is_fx_assembly) {
index 423ce77d66c0a730b042886a9d7819f965d0fe4a..72538a2da18ecf16cded87dfe6ee278b9feffbfa 100644 (file)
@@ -56,10 +56,10 @@ namespace Mono.CSharp
                        //
                        // Returns true when object at local position has dynamic attribute flag
                        //
-                       public bool IsDynamicObject (MetadataImporter importer)
+                       public bool IsDynamicObject ()
                        {
                                if (provider != null)
-                                       ReadAttribute (importer);
+                                       ReadAttribute ();
 
                                return flags != null && Position < flags.Length && flags[Position];
                        }
@@ -67,15 +67,15 @@ namespace Mono.CSharp
                        //
                        // Returns true when DynamicAttribute exists
                        //
-                       public bool HasDynamicAttribute (MetadataImporter importer)
+                       public bool HasDynamicAttribute ()
                        {
                                if (provider != null)
-                                       ReadAttribute (importer);
+                                       ReadAttribute ();
 
                                return flags != null;
                        }
 
-                       void ReadAttribute (MetadataImporter importer)
+                       void ReadAttribute ()
                        {
                                IList<CustomAttributeData> cad;
                                if (provider is MemberInfo) {
@@ -713,7 +713,7 @@ namespace Mono.CSharp
                        TypeSpec spec;
                        if (import_cache.TryGetValue (type, out spec)) {
                                if (spec.BuiltinType == BuiltinTypeSpec.Type.Object) {
-                                       if (dtype.IsDynamicObject (this))
+                                       if (dtype.IsDynamicObject ())
                                                return module.Compiler.BuiltinTypes.Dynamic;
 
                                        return spec;
@@ -722,7 +722,7 @@ namespace Mono.CSharp
                                if (!spec.IsGeneric || type.IsGenericTypeDefinition)
                                        return spec;
 
-                               if (!dtype.HasDynamicAttribute (this))
+                               if (!dtype.HasDynamicAttribute ())
                                        return spec;
 
                                // We've found same object in the cache but this one has a dynamic custom attribute
@@ -1372,7 +1372,7 @@ namespace Mono.CSharp
                protected AttributesBag cattrs;
                protected readonly MetadataImporter importer;
 
-               public ImportedDefinition (MemberInfo provider, MetadataImporter importer)
+               protected ImportedDefinition (MemberInfo provider, MetadataImporter importer)
                {
                        this.provider = provider;
                        this.importer = importer;
index 841ad5dc31bcc5bc4ef2c326fc515db4ab7a3da5..89e94af3963898f878f9b26d0980e9b7b7b0017c 100644 (file)
@@ -226,7 +226,7 @@ namespace Mono.CSharp {
                                                continue;
 
                                        if (list is MemberSpec[]) {
-                                               list = new List<MemberSpec> () { list [0] };
+                                               list = new List<MemberSpec> { list [0] };
                                                member_hash[entry.Key] = list;
                                        }
 
@@ -335,7 +335,7 @@ namespace Mono.CSharp {
                                        member_hash[name] = list;
                        } else {
                                if (list.Count == 1) {
-                                       list = new List<MemberSpec> () { list[0] };
+                                       list = new List<MemberSpec> { list[0] };
                                        member_hash[name] = list;
                                }
 
@@ -390,7 +390,7 @@ namespace Mono.CSharp {
                        }
 
                        if (existing.Count == 1) {
-                               existing = new List<MemberSpec> () { existing[0], member };
+                               existing = new List<MemberSpec> { existing[0], member };
                                return true;
                        }
 
index fe08a9bfbc77f1991d07b9971d724de750f90039..03568fa9230613951753346426259123f20e93b0 100644 (file)
@@ -47,7 +47,7 @@ namespace Mono.CSharp {
                protected ToplevelBlock block;
                protected MethodSpec spec;
 
-               public MethodCore (TypeDefinition parent, FullNamedExpression type, Modifiers mod, Modifiers allowed_mod,
+               protected MethodCore (TypeDefinition parent, FullNamedExpression type, Modifiers mod, Modifiers allowed_mod,
                        MemberName name, Attributes attrs, ParametersCompiled parameters)
                        : base (parent, type, mod, allowed_mod, name, attrs)
                {
@@ -685,6 +685,8 @@ namespace Mono.CSharp {
                                Module.PredefinedAttributes.CompilerGenerated.EmitAttribute (MethodBuilder);
                        if ((ModFlags & Modifiers.DEBUGGER_HIDDEN) != 0)
                                Module.PredefinedAttributes.DebuggerHidden.EmitAttribute (MethodBuilder);
+                       if ((ModFlags & Modifiers.DEBUGGER_STEP_THROUGH) != 0)
+                               Module.PredefinedAttributes.DebuggerStepThrough.EmitAttribute (MethodBuilder);
 
                        if (ReturnType.BuiltinType == BuiltinTypeSpec.Type.Dynamic) {
                                return_attributes = new ReturnParameter (this, MethodBuilder, Location);
@@ -1232,7 +1234,7 @@ namespace Mono.CSharp {
                                        }
 
                                        block = (ToplevelBlock) block.ConvertToAsyncTask (this, Parent.PartialContainer, parameters, ReturnType, null, Location);
-                                       ModFlags |= Modifiers.DEBUGGER_HIDDEN;
+                                       ModFlags |= Modifiers.DEBUGGER_STEP_THROUGH;
                                }
 
                                if (Compiler.Settings.WriteMetadataOnly)
@@ -1403,7 +1405,7 @@ namespace Mono.CSharp {
                Arguments argument_list;
                MethodSpec base_ctor;
 
-               public ConstructorInitializer (Arguments argument_list, Location loc)
+               protected ConstructorInitializer (Arguments argument_list, Location loc)
                {
                        this.argument_list = argument_list;
                        this.loc = loc;
@@ -2265,7 +2267,7 @@ namespace Mono.CSharp {
 
                ReturnParameter return_attributes;
 
-               public AbstractPropertyEventMethod (InterfaceMemberBase member, string prefix, Attributes attrs, Location loc)
+               protected AbstractPropertyEventMethod (InterfaceMemberBase member, string prefix, Attributes attrs, Location loc)
                        : base (member.Parent, SetupName (prefix, member, loc), attrs)
                {
                        this.prefix = prefix;
index f842410c7f74461ea15a897f31f603e66f414581..970e8dedd71108a70e1402940573f1748f0d7191 100644 (file)
@@ -51,6 +51,7 @@ namespace Mono.CSharp
                COMPILER_GENERATED              = 0x100000,
                BACKING_FIELD                   = 0x200000,
                DEBUGGER_HIDDEN                 = 0x400000,
+               DEBUGGER_STEP_THROUGH   = 0x800000,
 
                AccessibilityMask = PUBLIC | PROTECTED | INTERNAL | PRIVATE,
                AllowedExplicitImplFlags = UNSAFE | EXTERN,
index ceb73afc743f3fade798f311f549721e88ef43fe..e7e02a0bf14d7f0a1fe29840919fcb06dac0f745 100644 (file)
@@ -187,9 +187,6 @@ namespace Mono.CSharp
                }
 
                public int CounterAnonymousTypes { get; set; }
-               public int CounterAnonymousMethods { get; set; }
-               public int CounterAnonymousContainers { get; set; }
-               public int CounterSwitchTypes { get; set; }
 
                public AssemblyDefinition DeclaringAssembly {
                        get {
index 4e7c58472f45787c93b8f8e0c14386a878be7b08..6a6f17e8e9d7ceee288929f262704b4b5ad924f6 100644 (file)
@@ -64,12 +64,12 @@ namespace Mono.CSharp {
                //
                // For better error reporting where compiler tries to guess missing using directive
                //
-               public List<string> FindExtensionMethodNamespaces (IMemberContext ctx, TypeSpec extensionType, string name, int arity)
+               public List<string> FindExtensionMethodNamespaces (IMemberContext ctx, string name, int arity)
                {
                        List<string> res = null;
 
                        foreach (var ns in all_namespaces) {
-                               var methods = ns.Value.LookupExtensionMethod (ctx, extensionType, name, arity);
+                               var methods = ns.Value.LookupExtensionMethod (ctx, name, arity);
                                if (methods != null) {
                                        if (res == null)
                                                res = new List<string> ();
@@ -125,7 +125,7 @@ namespace Mono.CSharp {
                protected Dictionary<string, Namespace> namespaces;
                protected Dictionary<string, IList<TypeSpec>> types;
                List<TypeSpec> extension_method_types;
-               Dictionary<string, TypeExpr> cached_types;
+               Dictionary<string, TypeSpec> cached_types;
                RootNamespace root;
                bool cls_checked;
 
@@ -171,7 +171,7 @@ namespace Mono.CSharp {
                                MemberName = new MemberName (name, Location.Null);
 
                        namespaces = new Dictionary<string, Namespace> ();
-                       cached_types = new Dictionary<string, TypeExpr> ();
+                       cached_types = new Dictionary<string, TypeSpec> ();
 
                        root.RegisterNamespace (this);
                }
@@ -204,14 +204,14 @@ namespace Mono.CSharp {
                {
                        var retval = LookupType (ctx, name, arity, LookupMode.IgnoreAccessibility, loc);
                        if (retval != null) {
-                               ctx.Module.Compiler.Report.SymbolRelatedToPreviousError (retval.Type);
+//                             ctx.Module.Compiler.Report.SymbolRelatedToPreviousError (retval.MemberDefinition);
                                ErrorIsInaccesible (ctx, retval.GetSignatureForError (), loc);
                                return;
                        }
 
                        retval = LookupType (ctx, name, -System.Math.Max (1, arity), LookupMode.Probing, loc);
                        if (retval != null) {
-                               Error_TypeArgumentsCannotBeUsed (ctx, retval.Type, loc);
+                               Error_TypeArgumentsCannotBeUsed (ctx, retval, loc);
                                return;
                        }
 
@@ -327,20 +327,21 @@ namespace Mono.CSharp {
                        return found;
                }
 
-               public TypeExpr LookupType (IMemberContext ctx, string name, int arity, LookupMode mode, Location loc)
+               public TypeSpec LookupType (IMemberContext ctx, string name, int arity, LookupMode mode, Location loc)
                {
                        if (types == null)
                                return null;
 
-                       TypeExpr te;
-                       if (arity == 0 && cached_types.TryGetValue (name, out te))
-                               return te;
+                       TypeSpec best = null;
+                       if (arity == 0 && cached_types.TryGetValue (name, out best)) {
+                               if (best != null || mode != LookupMode.IgnoreAccessibility)
+                                       return best;
+                       }
 
                        IList<TypeSpec> found;
                        if (!types.TryGetValue (name, out found))
                                return null;
 
-                       TypeSpec best = null;
                        foreach (var ts in found) {
                                if (ts.Arity == arity) {
                                        if (best == null) {
@@ -391,16 +392,11 @@ namespace Mono.CSharp {
                                }
                        }
 
-                       if (best == null)
-                               return null;
-
-                       te = new TypeExpression (best, Location.Null);
-
                        // TODO MemberCache: Cache more
                        if (arity == 0 && mode == LookupMode.Normal)
-                               cached_types.Add (name, te);
+                               cached_types.Add (name, best);
 
-                       return te;
+                       return best;
                }
 
                public FullNamedExpression LookupTypeOrNamespace (IMemberContext ctx, string name, int arity, LookupMode mode, Location loc)
@@ -413,18 +409,21 @@ namespace Mono.CSharp {
                                        return ns;
 
                                if (mode != LookupMode.Probing) {
-                                       ctx.Module.Compiler.Report.SymbolRelatedToPreviousError (texpr.Type);
+                                       //ctx.Module.Compiler.Report.SymbolRelatedToPreviousError (texpr.Type);
                                        // ctx.Module.Compiler.Report.SymbolRelatedToPreviousError (ns.loc, "");
                                        ctx.Module.Compiler.Report.Warning (437, 2, loc,
                                                "The type `{0}' conflicts with the imported namespace `{1}'. Using the definition found in the source file",
                                                texpr.GetSignatureForError (), ns.GetSignatureForError ());
                                }
 
-                               if (texpr.Type.MemberDefinition.IsImported)
+                               if (texpr.MemberDefinition.IsImported)
                                        return ns;
                        }
 
-                       return texpr;
+                       if (texpr == null)
+                               return null;
+
+                       return new TypeExpression (texpr, loc);
                }
 
                //
@@ -448,7 +447,7 @@ namespace Mono.CSharp {
                // 
                // Looks for extension method in this namespace
                //
-               public List<MethodSpec> LookupExtensionMethod (IMemberContext invocationContext, TypeSpec extensionType, string name, int arity)
+               public List<MethodSpec> LookupExtensionMethod (IMemberContext invocationContext, string name, int arity)
                {
                        if (extension_method_types == null)
                                return null;
@@ -730,7 +729,7 @@ namespace Mono.CSharp {
                void CreateUnitSymbolInfo (MonoSymbolFile symwriter)
                {
                        var si = file.CreateSymbolInfo (symwriter);
-                       comp_unit = new CompileUnitEntry (symwriter, si);;
+                       comp_unit = new CompileUnitEntry (symwriter, si);
 
                        if (include_files != null) {
                                foreach (SourceFile include in include_files.Values) {
@@ -873,7 +872,7 @@ namespace Mono.CSharp {
                public override void AddPartial (TypeDefinition next_part)
                {
                        var existing = ns.LookupType (this, next_part.MemberName.Name, next_part.MemberName.Arity, LookupMode.Probing, Location.Null);
-                       var td = existing != null ? existing.Type.MemberDefinition as TypeDefinition : null;
+                       var td = existing != null ? existing.MemberDefinition as TypeDefinition : null;
                        AddPartial (next_part, td);
                }
 
@@ -969,7 +968,7 @@ namespace Mono.CSharp {
                        ExtensionMethodCandidates candidates;
                        var container = this;
                        do {
-                               candidates = container.LookupExtensionMethodCandidates (invocationContext, extensionType, name, arity, ref position);
+                               candidates = container.LookupExtensionMethodCandidates (invocationContext, name, arity, ref position);
                                if (candidates != null || container.MemberName == null)
                                        return candidates;
 
@@ -984,7 +983,7 @@ namespace Mono.CSharp {
                                while (mn != null) {
                                        ++position;
 
-                                       var methods = container_ns.LookupExtensionMethod (invocationContext, extensionType, name, arity);
+                                       var methods = container_ns.LookupExtensionMethod (invocationContext, name, arity);
                                        if (methods != null) {
                                                return new ExtensionMethodCandidates (invocationContext, methods, container, position);
                                        }
@@ -1000,14 +999,14 @@ namespace Mono.CSharp {
                        return null;
                }
 
-               ExtensionMethodCandidates LookupExtensionMethodCandidates (IMemberContext invocationContext, TypeSpec extensionType, string name, int arity, ref int position)
+               ExtensionMethodCandidates LookupExtensionMethodCandidates (IMemberContext invocationContext, string name, int arity, ref int position)
                {
                        List<MethodSpec> candidates = null;
 
                        if (position == 0) {
                                ++position;
 
-                               candidates = ns.LookupExtensionMethod (invocationContext, extensionType, name, arity);
+                               candidates = ns.LookupExtensionMethod (invocationContext, name, arity);
                                if (candidates != null) {
                                        return new ExtensionMethodCandidates (invocationContext, candidates, this, position);
                                }
@@ -1017,7 +1016,7 @@ namespace Mono.CSharp {
                                ++position;
 
                                foreach (Namespace n in namespace_using_table) {
-                                       var a = n.LookupExtensionMethod (invocationContext, extensionType, name, arity);
+                                       var a = n.LookupExtensionMethod (invocationContext, name, arity);
                                        if (a == null)
                                                continue;
 
@@ -1172,10 +1171,11 @@ namespace Mono.CSharp {
                                // A using directive imports only types contained in the namespace, it
                                // does not import any nested namespaces
                                //
-                               fne = using_ns.LookupType (this, name, arity, mode, loc);
-                               if (fne == null)
+                               var t = using_ns.LookupType (this, name, arity, mode, loc);
+                               if (t == null)
                                        continue;
 
+                               fne = new TypeExpression (t, loc);
                                if (match == null) {
                                        match = fne;
                                        continue;
index 5e82efa85c50f2f0d382d6b977cfaac143601b0f..1732a9b9c5c46edda117e4104b1d1637ad617bda 100644 (file)
@@ -1145,7 +1145,7 @@ namespace Mono.CSharp.Nullable
                        }
 
                        TypeSpec rtype = right.Type;
-                       if (!Convert.ImplicitConversionExists (ec, unwrap != null ? unwrap : left, rtype) || right.eclass == ExprClass.MethodGroup)
+                       if (!Convert.ImplicitConversionExists (ec, unwrap ?? left, rtype) || right.eclass == ExprClass.MethodGroup)
                                return null;
 
                        //
@@ -1154,7 +1154,7 @@ namespace Mono.CSharp.Nullable
                        if (left.IsNull)
                                return ReducedExpression.Create (right, this).Resolve (ec);
 
-                       left = Convert.ImplicitConversion (ec, unwrap != null ? unwrap : left, rtype, loc);
+                       left = Convert.ImplicitConversion (ec, unwrap ?? left, rtype, loc);
                        type = rtype;
                        return this;
                }
index fb940b4c2269c2f9f90fa966ee7f6ce515bba06a..bcd814149a28d60acc37e3c10fb9927bda02cae7 100644 (file)
@@ -501,7 +501,7 @@ namespace Mono.CSharp {
                                        } else {
                                                rc.Report.Error (1909, default_expr.Location,
                                                        "The DefaultParameterValue attribute is not applicable on parameters of type `{0}'",
-                                                       default_expr.Type.GetSignatureForError ()); ;
+                                                       default_expr.Type.GetSignatureForError ());
                                        }
 
                                        default_expr = null;
@@ -1333,11 +1333,6 @@ namespace Mono.CSharp {
                {
                }
 
-               protected override Expression DoResolve (ResolveContext rc)
-               {
-                       return base.DoResolve (rc);
-               }
-
                public void Resolve (ResolveContext rc, Parameter p)
                {
                        var expr = Resolve (rc);
index 0c8b3c52973fdf45f5bd0e8a1e6ee55f6534fa21..eb95d388da7cd20bcb61921abc30df502b5c62a2 100644 (file)
@@ -408,7 +408,7 @@ namespace Mono.CSharp
                PropertyMethod get, set, first;
                PropertyBuilder PropertyBuilder;
 
-               public PropertyBase (TypeDefinition parent, FullNamedExpression type, Modifiers mod_flags, Modifiers allowed_mod, MemberName name, Attributes attrs)
+               protected PropertyBase (TypeDefinition parent, FullNamedExpression type, Modifiers mod_flags, Modifiers allowed_mod, MemberName name, Attributes attrs)
                        : base (parent, type, mod_flags, allowed_mod, name, attrs)
                {
                }
index f49a2980d7aa08a37ad608d4a1e958b934a35208..009007b0d529ca45d1cc0de85de61a5cb4f1dab8 100644 (file)
@@ -954,7 +954,7 @@ namespace Mono.CSharp {
                        if (timers == null)
                                return;
 
-                       Dictionary<TimerType, string> timer_names = new Dictionary<TimerType,string> () {
+                       Dictionary<TimerType, string> timer_names = new Dictionary<TimerType,string> {
                                { TimerType.ParseTotal, "Parsing source files" },
                                { TimerType.AssemblyBuilderSetup, "Assembly builder setup" },
                                { TimerType.CreateTypeTotal, "Compiled types created" },
@@ -1053,7 +1053,7 @@ namespace Mono.CSharp {
 
                        public override bool IsEnabled (int code, bool previous)
                        {
-                               return this.code == code ? false : previous;
+                               return this.code != code && previous;
                        }
                }
 
@@ -1079,7 +1079,7 @@ namespace Mono.CSharp {
 
                        public override bool IsEnabled(int code, bool previous)
                        {
-                               return this.code == code ? true : previous;
+                               return this.code == code || previous;
                        }
                }
 
index c1b0a32e01bb2a564012bff43f63f5f68c924521..eaac5974126955f51533576127d8b57967e548bc 100644 (file)
@@ -301,8 +301,8 @@ namespace Mono.CSharp {
                        UnknownOption
                }
 
-               static readonly char[] argument_value_separator = new char[] { ';', ',' };
-               static readonly char[] numeric_value_separator = new char[] { ';', ',', ' ' };
+               static readonly char[] argument_value_separator = { ';', ',' };
+               static readonly char[] numeric_value_separator = { ';', ',', ' ' };
 
                readonly TextWriter output;
                readonly Report report;
@@ -469,7 +469,7 @@ namespace Mono.CSharp {
                                return;
                        }
 
-                       string[] files = null;
+                       string[] files;
                        try {
                                files = Directory.GetFiles (path, pattern);
                        } catch (System.IO.DirectoryNotFoundException) {
@@ -975,7 +975,7 @@ namespace Mono.CSharp {
                                        settings.WarningsAreErrors = true;
                                        parser_settings.WarningsAreErrors = true;
                                } else {
-                                       if (!ProcessWarningsList (value, v => settings.AddWarningAsError (v)))
+                                       if (!ProcessWarningsList (value, settings.AddWarningAsError))
                                                return ParseResult.Error;
                                }
                                return ParseResult.Success;
@@ -984,7 +984,7 @@ namespace Mono.CSharp {
                                if (value.Length == 0) {
                                        settings.WarningsAreErrors = false;
                                } else {
-                                       if (!ProcessWarningsList (value, v => settings.AddWarningOnly (v)))
+                                       if (!ProcessWarningsList (value, settings.AddWarningOnly))
                                                return ParseResult.Error;
                                }
                                return ParseResult.Success;
@@ -1005,7 +1005,7 @@ namespace Mono.CSharp {
                                        return ParseResult.Error;
                                }
 
-                               if (!ProcessWarningsList (value, v => settings.SetIgnoreWarning (v)))
+                               if (!ProcessWarningsList (value, settings.SetIgnoreWarning))
                                        return ParseResult.Error;
 
                                return ParseResult.Success;
index b56cbf3c88d75b30bc33bdda458b0cb29b21238c..b9bb8302eaca16d14aba215ba3268124e1577bb6 100644 (file)
@@ -28,7 +28,7 @@ namespace Mono.CSharp {
                /// <summary>
                ///   Resolves the statement, true means that all sub-statements
                ///   did resolve ok.
-               //  </summary>
+               ///  </summary>
                public virtual bool Resolve (BlockContext bc)
                {
                        return true;
@@ -51,6 +51,10 @@ namespace Mono.CSharp {
 
                        bool unreachable = false;
                        if (warn && !ec.UnreachableReported) {
+
+                               // TODO: This is wrong, need to form of flow-analysis branch specific flag
+                               // or multiple unrelared unreachable code won't be reported
+                               // if (false) { // ok } if (false) { // not reported }
                                ec.UnreachableReported = true;
                                unreachable = true;
                                ec.Report.Warning (162, 2, loc, "Unreachable code detected");
@@ -187,7 +191,6 @@ namespace Mono.CSharp {
                                //
                                if (expr is Constant) {
                                        bool take = !((Constant) expr).IsDefaultValue;
-
                                        if (take) {
                                                if (!TrueStatement.Resolve (ec))
                                                        return false;
@@ -751,7 +754,7 @@ namespace Mono.CSharp {
 
                public StatementList (Statement first, Statement second)
                {
-                       statements = new List<Statement> () { first, second };
+                       statements = new List<Statement> { first, second };
                }
 
                #region Properties
@@ -899,7 +902,7 @@ namespace Mono.CSharp {
                                                var async_type = storey.ReturnType;
 
                                                if (async_type == null && async_block.ReturnTypeInference != null) {
-                                                       async_block.ReturnTypeInference.AddCommonTypeBound (expr.Type);
+                                                       async_block.ReturnTypeInference.AddCommonTypeBoundAsync (expr.Type);
                                                        return true;
                                                }
 
@@ -1625,7 +1628,7 @@ namespace Mono.CSharp {
                        if (eval_global) {
                                CreateEvaluatorVariable (bc, li);
                        } else if (type != InternalType.ErrorType) {
-                               li.PrepareForFlowAnalysis (bc);
+                               li.PrepareAssignmentAnalysis (bc);
                        }
 
                        if (initializer != null) {
@@ -1639,7 +1642,7 @@ namespace Mono.CSharp {
                                        if (eval_global) {
                                                CreateEvaluatorVariable (bc, d.Variable);
                                        } else if (type != InternalType.ErrorType) {
-                                               d.Variable.PrepareForFlowAnalysis (bc);
+                                               d.Variable.PrepareAssignmentAnalysis (bc);
                                        }
 
                                        if (d.Initializer != null && resolveDeclaratorInitializers) {
@@ -2017,16 +2020,15 @@ namespace Mono.CSharp {
                        return !ec.DoFlowAnalysis || ec.CurrentBranching.IsAssigned (VariableInfo);
                }
 
-               public void PrepareForFlowAnalysis (BlockContext bc)
+               public void PrepareAssignmentAnalysis (BlockContext bc)
                {
                        //
-                       // No need for definitely assigned check for these guys
+                       // No need to run assignment analysis for these guys
                        //
                        if ((flags & (Flags.Constant | Flags.ReadonlyMask | Flags.CompilerGenerated)) != 0)
                                return;
 
-                       VariableInfo = new VariableInfo (this, bc.FlowOffset);
-                       bc.FlowOffset += VariableInfo.Length;
+                       VariableInfo = VariableInfo.Create (bc, this);
                }
 
                //
@@ -2609,7 +2611,7 @@ namespace Mono.CSharp {
                                                        continue;
 
                                                if (storey.HoistedThis == null) {
-                                                       storey.AddCapturedThisField (ec);
+                                                       storey.AddCapturedThisField (ec, null);
                                                }
 
                                                for (ExplicitBlock b = ref_block; b.AnonymousMethodStorey != storey; b = b.Parent.Explicit) {
@@ -2628,8 +2630,10 @@ namespace Mono.CSharp {
                                                                                        break;
                                                                        }
 
+                                                                       // Needs to be in sync with AnonymousMethodBody::DoCreateMethodHost
                                                                        if (s == null) {
-                                                                               b.AnonymousMethodStorey.AddCapturedThisField (ec);
+                                                                               var parent = storey == null || storey.Kind == MemberKind.Struct ? null : storey;
+                                                                               b.AnonymousMethodStorey.AddCapturedThisField (ec, parent);
                                                                                break;
                                                                        }
                                                                }
@@ -2664,7 +2668,7 @@ namespace Mono.CSharp {
                                                                }
 
                                                                if (parent_storey_block.AnonymousMethodStorey == null) {
-                                                                       pb.StateMachine.AddCapturedThisField (ec);
+                                                                       pb.StateMachine.AddCapturedThisField (ec, null);
                                                                        b.HasCapturedThis = true;
                                                                        continue;
                                                                }
@@ -3089,7 +3093,7 @@ namespace Mono.CSharp {
                                flags |= Flags.IsExpressionTree;
 
                        try {
-                               ResolveMeta (rc);
+                               PrepareAssignmentAnalysis (rc);
 
                                using (rc.With (ResolveContext.Options.DoFlowAnalysis, true)) {
                                        FlowBranchingToplevel top_level = rc.StartFlowBranching (this, parent);
@@ -3145,19 +3149,15 @@ namespace Mono.CSharp {
                        return true;
                }
 
-               void ResolveMeta (BlockContext ec)
+               void PrepareAssignmentAnalysis (BlockContext bc)
                {
-                       int orig_count = parameters.Count;
-
-                       for (int i = 0; i < orig_count; ++i) {
-                               Parameter.Modifier mod = parameters.FixedParameters[i].ModFlags;
+                       for (int i = 0; i < parameters.Count; ++i) {
+                               var par = parameters.FixedParameters[i];
 
-                               if ((mod & Parameter.Modifier.OUT) == 0)
+                               if ((par.ModFlags & Parameter.Modifier.OUT) == 0)
                                        continue;
 
-                               VariableInfo vi = new VariableInfo (parameters, i, ec.FlowOffset);
-                               parameter_info[i].VariableInfo = vi;
-                               ec.FlowOffset += vi.Length;
+                               parameter_info [i].VariableInfo = VariableInfo.Create (bc, (Parameter) par);
                        }
                }
 
@@ -3571,7 +3571,7 @@ namespace Mono.CSharp {
 
                        this_variable = new LocalVariable (this, "this", LocalVariable.Flags.IsThis | LocalVariable.Flags.Used, StartLocation);
                        this_variable.Type = bc.CurrentType;
-                       this_variable.PrepareForFlowAnalysis (bc);
+                       this_variable.PrepareAssignmentAnalysis (bc);
                }
 
                public bool IsThisAssigned (BlockContext ec)
@@ -3711,7 +3711,7 @@ namespace Mono.CSharp {
                                return true;
                        }
 
-                       converted = c.ImplicitConversionRequired (rc, rc.Switch.SwitchType, loc);
+                       converted = c.ImplicitConversionRequired (rc, rc.Switch.SwitchType);
                        return converted != null;
                }
 
@@ -5126,7 +5126,7 @@ namespace Mono.CSharp {
                {
                        LocalVariable pinned_string;
 
-                       public StringEmitter (Expression expr, LocalVariable li, Location loc)
+                       public StringEmitter (Expression expr, LocalVariable li)
                                : base (expr, li)
                        {
                        }
@@ -5249,7 +5249,7 @@ namespace Mono.CSharp {
                                // Case 2: string
                                //
                                if (initializer.Type.BuiltinType == BuiltinTypeSpec.Type.String) {
-                                       return new StringEmitter (initializer, li, loc).Resolve (bc);
+                                       return new StringEmitter (initializer, li).Resolve (bc);
                                }
 
                                // Case 3: fixed buffer
@@ -5457,7 +5457,7 @@ namespace Mono.CSharp {
                                                ec.Report.Error (155, loc, "The type caught or thrown must be derived from System.Exception");
                                        } else if (li != null) {
                                                li.Type = type;
-                                               li.PrepareForFlowAnalysis (ec);
+                                               li.PrepareAssignmentAnalysis (ec);
 
                                                // source variable is at the top of the stack
                                                Expression source = new EmptyExpression (li.Type);
index be59fc64afe04fcc731c615549f1751dc5309c1a..10874fecc65e0333a0b325b7c7e2aa425ab4b086 100644 (file)
@@ -378,7 +378,7 @@ namespace Mono.CSharp
                                throw new InternalErrorException ("Modifying expanded interface list");
 
                        if (ifaces == null) {
-                               ifaces = new List<TypeSpec> () { iface };
+                               ifaces = new List<TypeSpec> { iface };
                                return true;
                        }
 
index b8b4eb0dcd4072a482feeed8f5915008c1c21aae..58578fe3b50ab5351a159c1babe4262593ee6f06 100644 (file)
@@ -8,6 +8,14 @@ class A
                public void Foo ()
                {
                }
+
+               public int Property { get; set; }
+               
+               string this [int index] {
+                       get {
+                               return "x";
+                       }
+               }
        }
        
        public static dynamic Factory ()
@@ -30,6 +38,22 @@ public class Test
                                return 2;
                }
                
+               try {
+                       var x = d.Property;
+                       return 3;
+               } catch (RuntimeBinderException e) {
+                       if (e.Message != "`A.N.Property.get' is inaccessible due to its protection level")
+                               return 4;
+               }
+
+               try {
+                       var x = d [4];
+                       return 5;
+               } catch (RuntimeBinderException e) {
+                       if (e.Message != "`A.N.this[int]' is inaccessible due to its protection level")
+                               return 6;
+               }
+
                return 0;
        }
 }
index 8c9c43a16023869b9c1d343fbb6218f9e4c4c313..7596032d16fcf14d71e45222d72469f2d00056f5 100644 (file)
@@ -88,4 +88,13 @@ class C
                
                return 0;
        }
+       
+       // This does not look right but C# spec needs tidying up to special case it
+       void BrokenLiftedNull ()
+       {
+               int i = 44;
+               int? u = null;
+               i <<= u;
+               i <<= null;
+       }
 }
\ No newline at end of file
index 9def4cd52c8f9c53a670f9f5c92c3a2b253e3ebf..615312c36b299d98b9c13c7753d2307988b4dfd8 100644 (file)
@@ -9,12 +9,23 @@ public class G<U, V> : IA<G<V, string>>
 
 public class C
 {
+       static bool Test_2 <T2>(T2[] t)
+       {
+               return t is byte[];
+       }
+
        public static int Main ()
        {
                G<long, short> p = new G<long, short> ();
                if (p is IA<G<string, string>>)
                        return 1;
 
+               if (Test_2 (new int [0]))
+                       return 2;
+
+               if (!Test_2 (new byte [0]))
+                       return 3;
+
                return 0;
        }
 }
\ No newline at end of file
diff --git a/mcs/tests/gtest-597.cs b/mcs/tests/gtest-597.cs
new file mode 100644 (file)
index 0000000..cbf9e73
--- /dev/null
@@ -0,0 +1,44 @@
+using System;
+
+namespace Test
+{
+       class MainClass
+       {
+               public static int Main ()
+               {
+                       if (!Test_1 (new Derived ()))
+                               return 1;
+
+                       if (!Test_2 (new S ()))
+                               return 2;
+
+                       return 0;
+               }
+
+               static bool Test_1<T> (Templated<T> template)
+               {
+                       return template is Derived;
+               }
+
+               static bool Test_2<U> (IA<U> arg)
+               {
+                       return arg is S;
+               }
+       }
+
+       public abstract class Templated<T>
+       {
+       }
+
+       public class Derived : Templated<Derived>
+       {
+       }
+
+       public interface IA<T>
+       {
+       }
+
+       public struct S : IA<S>
+       {
+       }
+}
diff --git a/mcs/tests/gtest-iter-30.cs b/mcs/tests/gtest-iter-30.cs
new file mode 100644 (file)
index 0000000..192c82b
--- /dev/null
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+
+public class Program
+{
+       public static void Main ()
+       {
+               foreach (var x in new M ().Test ()) {
+                       Console.WriteLine (x);
+               }
+       }
+}
+
+class M
+{
+       public IEnumerable<int> Test ()
+       {
+               Action a = delegate {
+                       int k = 0;
+                       Action x = delegate {
+                               Console.WriteLine (this);
+                               Console.WriteLine (k);
+                       };
+
+                       x ();
+                       Console.WriteLine (this);
+               };
+
+               a ();
+               
+               yield return 1;
+       }
+}
diff --git a/mcs/tests/gtest-iter-31.cs b/mcs/tests/gtest-iter-31.cs
new file mode 100644 (file)
index 0000000..5bd2ea0
--- /dev/null
@@ -0,0 +1,31 @@
+using System.Collections.Generic;
+using System.Linq;
+
+class B
+{
+       public object Foo (object obj)
+       {
+               return null;
+       }
+}
+
+class C
+{
+       B ctx = new B ();
+
+       public static void Main ()
+       {
+               foreach (var c in new C ().Test ()) {                   
+               }
+       }
+
+       IEnumerable<ushort> Test ()
+       {
+               string[] s = new[] { "a", "b", "c" };
+
+               var m = s.Select (l => ctx.Foo (l)).ToArray ();
+
+               yield break;
+       }
+}
+
diff --git a/mcs/tests/test-870.cs b/mcs/tests/test-870.cs
new file mode 100644 (file)
index 0000000..5faceb7
--- /dev/null
@@ -0,0 +1,17 @@
+public class Test
+{
+       static void Foo (ushort p)
+       {
+               p = 0x0000;
+               p |= 0x0000;
+               p &= 0x0000;
+
+               const ushort c = 0x0000;
+               p &= c;
+       }
+
+       public static void Main ()
+       {
+               Foo (1);
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-871.cs b/mcs/tests/test-871.cs
new file mode 100644 (file)
index 0000000..19ebf8a
--- /dev/null
@@ -0,0 +1,42 @@
+using System;
+
+class D
+{
+       int arg;
+
+       public D (int arg)
+       {
+               this.arg = arg;
+       }
+
+       public static D operator & (D x, D y)
+       {
+               return new D (100);
+       }
+
+       public static bool operator false (D d)
+       {
+               return false;
+       }
+
+       public static bool operator true (D d)
+       {
+               return true;
+       }
+
+       public static implicit operator D(bool b)
+       {
+               return new D (5);
+       }
+
+       static int Main ()
+       {
+               D d = false && new D (1);
+               Console.WriteLine (d.arg);
+               if (d.arg != 100)
+                       return 1;
+
+               Console.WriteLine ("ok");
+               return 0;
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-async-52.cs b/mcs/tests/test-async-52.cs
new file mode 100644 (file)
index 0000000..36230ac
--- /dev/null
@@ -0,0 +1,23 @@
+using System;
+using System.Threading.Tasks;
+
+public delegate T ActualValueDelegate<T> ();
+
+class X
+{
+       public static void Main ()
+       {
+               Matches (async () => await Throw());
+       }
+
+       static bool Matches<T>(ActualValueDelegate<T> del) where T : Task
+       {
+               del ().Wait ();
+               return true;
+       }
+
+       static async Task Throw()
+       {
+               await Task.Delay (1);
+       }
+}
\ No newline at end of file
index 712c124712c36bf84dcd13d69677163ba7ace5e0..dc38568b3f782acdc81fdf0de96e66a252891a28 100644 (file)
       <method name="Int32 Main()" attrs="150">\r
         <size>187</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAdd_1&gt;m__4(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="Void .ctor(Object)" attrs="6278">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="Void .cctor()" attrs="6289">\r
+        <size>34</size>\r
+      </method>\r
+    </type>\r
+    <type name="AssertDynamicObject+&lt;GetFakeMetaObject&gt;c__AnonStorey0">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;InvokeMember_3&gt;c__DynamicSite32+Container0">\r
+      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, Int32 ByRef)" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
+        <size>0</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;InvokeMember_4&gt;c__DynamicSite33+Container0">\r
+      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, Int32 ByRef)" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
+        <size>0</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;InvokeMember_8&gt;c__DynamicSite37+Container0">\r
+      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, System.Object ByRef)" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
+        <size>0</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester">\r
+      <method name="Void Assert[T](System.Collections.Generic.IList`1[T], System.Collections.Generic.IList`1[T], System.String)" attrs="145">\r
+        <size>257</size>\r
+      </method>\r
+      <method name="Void &lt;BinaryAdd_1&gt;m__0(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAdd_2&gt;m__5(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAdd_2&gt;m__1(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>68</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAdd_3&gt;m__6(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAdd_3&gt;m__2(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAdd_4&gt;m__7(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAdd_4&gt;m__3(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAddChecked_1&gt;m__8(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAddChecked_1&gt;m__4(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAddChecked_2&gt;m__9(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAddChecked_2&gt;m__5(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAddAssign_1&gt;m__B(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAddAssign_1&gt;m__6(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAddAssignChecked_1&gt;m__C(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAddAssignChecked_1&gt;m__7(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAnd_1&gt;m__D(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAnd_1&gt;m__8(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>73</size>\r
       </method>\r
-      <method name="Void &lt;BinaryAndAssign_1&gt;m__E(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryAndAssign_1&gt;m__9(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryDivide_1&gt;m__F(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryDivide_1&gt;m__A(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryDivideAssign_1&gt;m__10(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryDivideAssign_1&gt;m__B(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryEqual_1&gt;m__11(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryEqual_1&gt;m__C(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryExclusiveOr_1&gt;m__12(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryExclusiveOr_1&gt;m__D(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryExclusiveOrAssign_1&gt;m__13(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryExclusiveOrAssign_1&gt;m__E(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryGreaterThan_1&gt;m__14(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryGreaterThan_1&gt;m__F(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryGreaterThanOrEqual_1&gt;m__15(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryGreaterThanOrEqual_1&gt;m__10(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryLeftShift_1&gt;m__16(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryLeftShift_1&gt;m__11(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryLeftShiftAssign_1&gt;m__17(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryLeftShiftAssign_1&gt;m__12(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryLessThan_1&gt;m__18(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryLessThan_1&gt;m__13(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryLessThanOrEqual_1&gt;m__19(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryLessThanOrEqual_1&gt;m__14(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryModulo_1&gt;m__1A(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryModulo_1&gt;m__15(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryModuloAssign_1&gt;m__1B(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryModuloAssign_1&gt;m__16(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryMultiply_1&gt;m__1C(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryMultiply_1&gt;m__17(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryMultiplyAssign_1&gt;m__1D(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryMultiplyAssign_1&gt;m__18(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryNotEqual_1&gt;m__1E(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryNotEqual_1&gt;m__19(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryOr_1&gt;m__1F(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryOr_1&gt;m__1A(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryOrAssign_1&gt;m__20(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryOrAssign_1&gt;m__1B(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryRightShift_1&gt;m__21(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryRightShift_1&gt;m__1C(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinaryRightShiftAssign_1&gt;m__22(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinaryRightShiftAssign_1&gt;m__1D(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinarySubtract_1&gt;m__23(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinarySubtract_1&gt;m__1E(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;BinarySubtractAssign_1&gt;m__24(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;BinarySubtractAssign_1&gt;m__1F(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="System.Object &lt;Convert_1&gt;m__25(System.Dynamic.ConvertBinder)" attrs="145">\r
+      <method name="System.Object &lt;Convert_1&gt;m__20(System.Dynamic.ConvertBinder)" attrs="145">\r
         <size>58</size>\r
       </method>\r
-      <method name="System.Object &lt;Convert_2&gt;m__26(System.Dynamic.ConvertBinder)" attrs="145">\r
+      <method name="System.Object &lt;Convert_2&gt;m__21(System.Dynamic.ConvertBinder)" attrs="145">\r
         <size>58</size>\r
       </method>\r
-      <method name="System.Object &lt;Convert_3&gt;m__27(System.Dynamic.ConvertBinder)" attrs="145">\r
+      <method name="System.Object &lt;Convert_3&gt;m__22(System.Dynamic.ConvertBinder)" attrs="145">\r
         <size>58</size>\r
       </method>\r
-      <method name="System.Object &lt;Convert_4&gt;m__28(System.Dynamic.ConvertBinder)" attrs="145">\r
+      <method name="System.Object &lt;Convert_4&gt;m__23(System.Dynamic.ConvertBinder)" attrs="145">\r
         <size>58</size>\r
       </method>\r
-      <method name="System.Object &lt;Convert_5&gt;m__29(System.Dynamic.ConvertBinder)" attrs="145">\r
+      <method name="System.Object &lt;Convert_5&gt;m__24(System.Dynamic.ConvertBinder)" attrs="145">\r
         <size>67</size>\r
       </method>\r
-      <method name="Void &lt;GetIndex_1&gt;m__2A(System.Dynamic.GetIndexBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;GetIndex_1&gt;m__25(System.Dynamic.GetIndexBinder, System.Object[])" attrs="145">\r
         <size>93</size>\r
       </method>\r
-      <method name="Void &lt;GetIndex_2&gt;m__2B(System.Dynamic.GetIndexBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;GetIndex_2&gt;m__26(System.Dynamic.GetIndexBinder, System.Object[])" attrs="145">\r
         <size>112</size>\r
       </method>\r
-      <method name="System.Object &lt;GetMember_1&gt;m__2D(System.Dynamic.GetMemberBinder)" attrs="145">\r
+      <method name="System.Object &lt;GetMember_1&gt;m__27(System.Dynamic.GetMemberBinder)" attrs="145">\r
         <size>75</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_1&gt;m__2E(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;Invoke_1&gt;m__28(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
         <size>102</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_2&gt;m__2F(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;Invoke_2&gt;m__29(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_4&gt;m__30(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;Invoke_4&gt;m__2A(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
         <size>128</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_5&gt;m__31(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;Invoke_5&gt;m__2B(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
         <size>92</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_5&gt;m__32(System.Object)" attrs="145">\r
+      <method name="Void &lt;Invoke_5&gt;m__2C(System.Object)" attrs="145">\r
         <size>94</size>\r
       </method>\r
-      <method name="Void &lt;Invoke_6&gt;m__33(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;Invoke_6&gt;m__2D(System.Dynamic.InvokeBinder, System.Object[])" attrs="145">\r
         <size>93</size>\r
       </method>\r
-      <method name="Void &lt;InvokeMember_1&gt;m__34(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;InvokeMember_1&gt;m__2E(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
         <size>111</size>\r
       </method>\r
-      <method name="Void &lt;InvokeMember_3&gt;m__36(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;InvokeMember_3&gt;m__2F(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
         <size>112</size>\r
       </method>\r
-      <method name="Void &lt;InvokeMember_4&gt;m__37(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;InvokeMember_4&gt;m__30(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
         <size>111</size>\r
       </method>\r
-      <method name="Void &lt;InvokeMember_7&gt;m__39(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;InvokeMember_7&gt;m__31(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
         <size>91</size>\r
       </method>\r
-      <method name="Void &lt;InvokeMember_8&gt;m__3A(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
+      <method name="Void &lt;InvokeMember_8&gt;m__32(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="145">\r
         <size>112</size>\r
       </method>\r
-      <method name="Void &lt;SetIndex_1&gt;m__3B(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="145">\r
+      <method name="Void &lt;SetIndex_1&gt;m__33(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="145">\r
         <size>125</size>\r
       </method>\r
-      <method name="Void &lt;SetIndex_2&gt;m__3C(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="145">\r
+      <method name="Void &lt;SetIndex_2&gt;m__34(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="145">\r
         <size>140</size>\r
       </method>\r
-      <method name="Void &lt;SetMember_1&gt;m__3E(System.Dynamic.SetMemberBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;SetMember_1&gt;m__35(System.Dynamic.SetMemberBinder, System.Object)" attrs="145">\r
         <size>102</size>\r
       </method>\r
-      <method name="Void &lt;SetMember_2&gt;m__40(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;SetMember_2&gt;m__36(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>69</size>\r
       </method>\r
-      <method name="Void &lt;SetMember_2&gt;m__41(System.Dynamic.SetMemberBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;SetMember_2&gt;m__37(System.Dynamic.SetMemberBinder, System.Object)" attrs="145">\r
         <size>77</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryPlus_1&gt;m__42(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryPlus_1&gt;m__38(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryMinus_1&gt;m__43(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryMinus_1&gt;m__39(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryNot_1&gt;m__44(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryNot_1&gt;m__3A(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryOnesComplement_1&gt;m__45(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryOnesComplement_1&gt;m__3B(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryDecrement_1&gt;m__46(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryDecrement_1&gt;m__3C(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryDecrement_2&gt;m__47(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryDecrement_2&gt;m__3D(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>59</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIncrement_1&gt;m__48(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIncrement_1&gt;m__3E(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>55</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIncrement_2&gt;m__49(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIncrement_2&gt;m__3F(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>59</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsFalse_1&gt;m__4A(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsFalse_1&gt;m__40(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="Void &lt;UnaryIsFalse_1&gt;m__4B(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;UnaryIsFalse_1&gt;m__41(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>69</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsFalse_2&gt;m__4C(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsFalse_2&gt;m__42(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="Void &lt;UnaryIsFalse_2&gt;m__4D(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;UnaryIsFalse_2&gt;m__43(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>69</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsFalse_3&gt;m__4E(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsFalse_3&gt;m__44(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="Void &lt;UnaryIsFalse_3&gt;m__4F(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;UnaryIsFalse_3&gt;m__45(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>68</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsTrue_1&gt;m__50(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsTrue_1&gt;m__46(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsTrue_2&gt;m__51(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsTrue_2&gt;m__47(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="Void &lt;UnaryIsTrue_2&gt;m__52(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;UnaryIsTrue_2&gt;m__48(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>69</size>\r
       </method>\r
-      <method name="System.Object &lt;UnaryIsTrue_3&gt;m__53(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
+      <method name="System.Object &lt;UnaryIsTrue_3&gt;m__49(System.Dynamic.UnaryOperationBinder)" attrs="145">\r
         <size>60</size>\r
       </method>\r
-      <method name="Void &lt;UnaryIsTrue_3&gt;m__54(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
+      <method name="Void &lt;UnaryIsTrue_3&gt;m__4A(System.Dynamic.BinaryOperationBinder, System.Object)" attrs="145">\r
         <size>74</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__55(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__4B(System.Reflection.MethodInfo)" attrs="145">\r
         <size>20</size>\r
       </method>\r
-      <method name="System.String &lt;Main&gt;m__56(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="System.String &lt;Main&gt;m__4C(System.Reflection.MethodInfo)" attrs="145">\r
         <size>15</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__57(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__4D(System.Reflection.MethodInfo)" attrs="145">\r
         <size>15</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__58(Boolean)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__4E(Boolean)" attrs="145">\r
         <size>12</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>8</size>\r
-      </method>\r
-      <method name="Void .ctor(Object)" attrs="6278">\r
-        <size>8</size>\r
-      </method>\r
-      <method name="Void .cctor()" attrs="6289">\r
-        <size>34</size>\r
-      </method>\r
-    </type>\r
-    <type name="AssertDynamicObject+&lt;GetFakeMetaObject&gt;c__AnonStorey0">\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
-    <type name="Tester+&lt;BinaryAddChecked_2&gt;c__AnonStorey1">\r
-      <method name="System.Object &lt;&gt;m__A()" attrs="131">\r
+    <type name="Tester+&lt;BinaryAddChecked_2&gt;c__AnonStorey0">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="131">\r
         <size>98</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;GetIndex_3&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2C(System.Dynamic.GetIndexBinder, System.Object[])" attrs="131">\r
+    <type name="Tester+&lt;GetIndex_3&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0(System.Dynamic.GetIndexBinder, System.Object[])" attrs="131">\r
         <size>93</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;InvokeMember_2&gt;c__AnonStorey3">\r
-      <method name="Void &lt;&gt;m__35(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="131">\r
+    <type name="Tester+&lt;InvokeMember_2&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="131">\r
         <size>110</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;InvokeMember_3&gt;c__DynamicSite32+Container0">\r
-      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, Int32 ByRef)" attrs="454">\r
-        <size>0</size>\r
-      </method>\r
-      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
-        <size>0</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;InvokeMember_4&gt;c__DynamicSite33+Container0">\r
-      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, Int32 ByRef)" attrs="454">\r
-        <size>0</size>\r
-      </method>\r
-      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
-        <size>0</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;InvokeMember_6&gt;c__AnonStorey4">\r
-      <method name="Void &lt;&gt;m__38(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="131">\r
+    <type name="Tester+&lt;InvokeMember_6&gt;c__AnonStorey3">\r
+      <method name="Void &lt;&gt;m__0(System.Dynamic.InvokeMemberBinder, System.Object[])" attrs="131">\r
         <size>120</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;InvokeMember_8&gt;c__DynamicSite37+Container0">\r
-      <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, System.Object ByRef)" attrs="454">\r
-        <size>0</size>\r
-      </method>\r
-      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
-        <size>0</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;SetIndex_3&gt;c__AnonStorey5">\r
-      <method name="Void &lt;&gt;m__3D(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="131">\r
+    <type name="Tester+&lt;SetIndex_3&gt;c__AnonStorey4">\r
+      <method name="Void &lt;&gt;m__0(System.Dynamic.SetIndexBinder, System.Object[], System.Object)" attrs="131">\r
         <size>120</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;SetMember_2&gt;c__AnonStorey6">\r
-      <method name="System.Object &lt;&gt;m__3F(System.Dynamic.GetMemberBinder)" attrs="131">\r
+    <type name="Tester+&lt;SetMember_2&gt;c__AnonStorey5">\r
+      <method name="System.Object &lt;&gt;m__0(System.Dynamic.GetMemberBinder)" attrs="131">\r
         <size>80</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Tester">\r
-      <method name="Void Assert[T](System.Collections.Generic.IList`1[T], System.Collections.Generic.IList`1[T], System.String)" attrs="145">\r
-        <size>257</size>\r
-      </method>\r
-    </type>\r
   </test>\r
   <test name="dtest-004.cs">\r
     <type name="G`1[T]">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>187</size>\r
       </method>\r
-      <method name="Void &lt;SubtractAssignEvent&gt;m__C()" attrs="145">\r
-        <size>12</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__F(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>20</size>\r
-      </method>\r
-      <method name="System.String &lt;Main&gt;m__10(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__11(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__12(Boolean)" attrs="145">\r
-        <size>12</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;AddAssignCheckedTest&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>234</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;ConvertExplicitCheckedTest&gt;c__AnonStorey3">\r
-      <method name="Int32 &lt;&gt;m__3()" attrs="131">\r
-        <size>81</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;MultiplyCheckedTest&gt;c__AnonStorey4">\r
-      <method name="System.Object &lt;&gt;m__5()" attrs="131">\r
-        <size>104</size>\r
-      </method>\r
-      <method name="System.Object &lt;&gt;m__6()" attrs="131">\r
-        <size>104</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;MultiplyAssignCheckedTest&gt;c__AnonStorey5">\r
-      <method name="Void &lt;&gt;m__7()" attrs="131">\r
-        <size>234</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;NegateChecked&gt;c__AnonStorey6">\r
-      <method name="System.Object &lt;&gt;m__8()" attrs="131">\r
-        <size>88</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;SubtractCheckedTest&gt;c__AnonStorey7">\r
-      <method name="System.Object &lt;&gt;m__9()" attrs="131">\r
-        <size>104</size>\r
-      </method>\r
-      <method name="System.Object &lt;&gt;m__A()" attrs="131">\r
-        <size>104</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;SubtractAssignCheckedTest&gt;c__AnonStorey8">\r
-      <method name="Void &lt;&gt;m__B()" attrs="131">\r
-        <size>234</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;UnaryDecrementCheckedTest&gt;c__AnonStorey9">\r
-      <method name="Void &lt;&gt;m__D()" attrs="131">\r
-        <size>224</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;UnaryIncrementCheckedTest&gt;c__AnonStoreyA">\r
-      <method name="Void &lt;&gt;m__E()" attrs="131">\r
-        <size>220</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>26</size>\r
       </method>\r
     </type>\r
+    <type name="Tester">\r
+      <method name="Void &lt;SubtractAssignEvent&gt;m__0()" attrs="145">\r
+        <size>12</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__1(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="System.String &lt;Main&gt;m__2(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__3(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__4(Boolean)" attrs="145">\r
+        <size>12</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;AddAssignCheckedTest&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>234</size>\r
+      </method>\r
+    </type>\r
     <type name="Tester+&lt;ConvertExplicitCheckedTest&gt;c__AnonStorey3">\r
-      <method name="System.Nullable`1[System.UInt32] &lt;&gt;m__4()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>81</size>\r
       </method>\r
+      <method name="System.Nullable`1[System.UInt32] &lt;&gt;m__1()" attrs="131">\r
+        <size>81</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;MultiplyCheckedTest&gt;c__AnonStorey4">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="131">\r
+        <size>104</size>\r
+      </method>\r
+      <method name="System.Object &lt;&gt;m__1()" attrs="131">\r
+        <size>104</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;MultiplyAssignCheckedTest&gt;c__AnonStorey5">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>234</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NegateChecked&gt;c__AnonStorey6">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="131">\r
+        <size>88</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;SubtractCheckedTest&gt;c__AnonStorey7">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="131">\r
+        <size>104</size>\r
+      </method>\r
+      <method name="System.Object &lt;&gt;m__1()" attrs="131">\r
+        <size>104</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;SubtractAssignCheckedTest&gt;c__AnonStorey8">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>234</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryDecrementCheckedTest&gt;c__AnonStorey9">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>224</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryIncrementCheckedTest&gt;c__AnonStoreyA">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>220</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="dtest-007.cs">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>187</size>\r
       </method>\r
-      <method name="Int32 &lt;InvokeTest&gt;m__1(System.String)" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Void &lt;InvokeMember_Error&gt;m__2()" attrs="145">\r
-        <size>112</size>\r
-      </method>\r
-      <method name="Void &lt;InvokeConstructor&gt;m__3(Decimal)" attrs="145">\r
-        <size>2</size>\r
-      </method>\r
       <method name="Int32 &lt;IsEvent&gt;m__4()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;IsEvent&gt;m__5()" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__9(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>20</size>\r
-      </method>\r
-      <method name="System.String &lt;Main&gt;m__A(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__B(System.Reflection.MethodInfo)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__C(Boolean)" attrs="145">\r
-        <size>12</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;MemberGetError_Null&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__6()" attrs="131">\r
-        <size>86</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;MemberSetError_Null&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__7()" attrs="131">\r
-        <size>96</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;SetIndexError_Null&gt;c__AnonStorey3">\r
-      <method name="Void &lt;&gt;m__8()" attrs="131">\r
-        <size>102</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Tester">\r
+      <method name="Int32 &lt;InvokeTest&gt;m__0(System.String)" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Void &lt;InvokeMember_Error&gt;m__1()" attrs="145">\r
+        <size>112</size>\r
+      </method>\r
+      <method name="Void &lt;InvokeConstructor&gt;m__2(Decimal)" attrs="145">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Int32 &lt;IsEvent&gt;m__3()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__5(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="System.String &lt;Main&gt;m__6(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__7(System.Reflection.MethodInfo)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__8(Boolean)" attrs="145">\r
+        <size>12</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;MemberGetError_Null&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>86</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;MemberSetError_Null&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>96</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;SetIndexError_Null&gt;c__AnonStorey3">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>102</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="dtest-008.cs">\r
     <type name="Disposable">\r
       <method name="Void &lt;Test`1&gt;m__0[T](T)" attrs="145">\r
         <size>103</size>\r
       </method>\r
-      <method name="Void &lt;Test3`1&gt;m__2[T](T)" attrs="145">\r
-        <size>105</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test2&gt;c__AnonStorey0`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>46</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test4&gt;c__AnonStorey2`1[T]">\r
-      <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>114</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test2&gt;c__AnonStorey0`1+&lt;Test2&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__4()" attrs="131">\r
-        <size>118</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;&lt;Test3`1&gt;m__2&gt;c__DynamicSite1`1+Container0[T]">\r
+    <type name="C">\r
+      <method name="Void &lt;Test3`1&gt;m__1[T](T)" attrs="145">\r
+        <size>105</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test2&gt;c__AnonStorey0`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>46</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test4&gt;c__AnonStorey2`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>114</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test2&gt;c__AnonStorey0`1+&lt;Test2&gt;c__AnonStorey1`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>118</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;&lt;Test3`1&gt;m__1&gt;c__DynamicSite1`1+Container0[T]">\r
       <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, T ByRef)" attrs="454">\r
         <size>0</size>\r
       </method>\r
         <size>0</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;Test4&gt;c__AnonStorey2`1+&lt;&lt;&gt;m__3&gt;c__DynamicSite0+Container0[T]">\r
+    <type name="C+&lt;Test4&gt;c__AnonStorey2`1+&lt;&lt;&gt;m__0&gt;c__DynamicSite0+Container0[T]">\r
       <method name="Void Invoke(System.Runtime.CompilerServices.CallSite, System.Object, T ByRef)" attrs="454">\r
         <size>0</size>\r
       </method>\r
       <method name="Void &lt;Using_1&gt;m__1()" attrs="145">\r
         <size>92</size>\r
       </method>\r
-      <method name="Void &lt;NullableConversion&gt;m__3()" attrs="145">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;Unsafe_1&gt;c__AnonStorey0">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester">\r
+      <method name="Void &lt;NullableConversion&gt;m__2()" attrs="145">\r
         <size>106</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__4(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__3(System.Reflection.MethodInfo)" attrs="145">\r
         <size>20</size>\r
       </method>\r
-      <method name="System.String &lt;Main&gt;m__5(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="System.String &lt;Main&gt;m__4(System.Reflection.MethodInfo)" attrs="145">\r
         <size>15</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__6(System.Reflection.MethodInfo)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__5(System.Reflection.MethodInfo)" attrs="145">\r
         <size>15</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__7(Boolean)" attrs="145">\r
+      <method name="Boolean &lt;Main&gt;m__6(Boolean)" attrs="145">\r
         <size>12</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;Unsafe_1&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
         <size>110</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
   </test>\r
   <test name="dtest-error-02.cs">\r
     </type>\r
     <type name="Test">\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>143</size>\r
+        <size>400</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="A+N">\r
+      <method name="Int32 get_Property()" attrs="2182">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Void set_Property(Int32)" attrs="2182">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="System.String get_Item(Int32)" attrs="2177">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="dtest-error-03.cs">\r
     <type name="C">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test2.Test`1+&lt;Replace&gt;c__Iterator1`1[S,T]">\r
+    <type name="Test1.Test">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test2.Test`1[S]">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test3.Test`1[S]">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[S,T]] Replace[T](System.Collections.Generic.IEnumerable`1[T], System.Collections.Generic.IEnumerable`1[S])" attrs="150">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test4.Test">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test5.Test">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T](T)" attrs="150">\r
+        <size>30</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test6.Test">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T](T)" attrs="150">\r
+        <size>30</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test7.Test">\r
+      <method name="System.Collections.Generic.IEnumerable`1[T[]] Replace[T](T[])" attrs="150">\r
+        <size>30</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test1.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
+        <size>26</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test2.Test`1+&lt;Replace&gt;c__Iterator0`1[S,T]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>26</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
+        <size>26</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test3.Test`1+&lt;Replace&gt;c__Iterator2`1[S,T]">\r
+    <type name="Test3.Test`1+&lt;Replace&gt;c__Iterator0`1[S,T]">\r
+      <method name="System.Collections.Generic.KeyValuePair`2[S,T] System.Collections.Generic.IEnumerator&lt;System.Collections.Generic.KeyValuePair&lt;S,T&gt;&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>26</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[S,T]] System.Collections.Generic.IEnumerable&lt;System.Collections.Generic.KeyValuePair&lt;S,T&gt;&gt;.GetEnumerator()" attrs="481">\r
+        <size>26</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test4.Test+&lt;Replace&gt;c__Iterator3`1[T]">\r
+    <type name="Test4.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>26</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
+        <size>26</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test5.Test+&lt;Replace&gt;c__Iterator4`1[T]">\r
+    <type name="Test5.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>77</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test6.Test+&lt;Replace&gt;c__Iterator5`1[T]">\r
+    <type name="Test6.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>89</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test7.Test+&lt;Replace&gt;c__Iterator6`1[T]">\r
+    <type name="Test7.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
       <method name="T[] System.Collections.Generic.IEnumerator&lt;T[]&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>89</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test1.Test">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
-        <size>23</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test2.Test`1[S]">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
-        <size>23</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test3.Test`1[S]">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[S,T]] Replace[T](System.Collections.Generic.IEnumerable`1[T], System.Collections.Generic.IEnumerable`1[S])" attrs="150">\r
-        <size>23</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test4.Test">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T]()" attrs="150">\r
-        <size>23</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test5.Test">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T](T)" attrs="150">\r
-        <size>30</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test6.Test">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T] Replace[T](T)" attrs="150">\r
-        <size>30</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test7.Test">\r
-      <method name="System.Collections.Generic.IEnumerable`1[T[]] Replace[T](T[])" attrs="150">\r
-        <size>30</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test1.Test+&lt;Replace&gt;c__Iterator0`1[T]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
-        <size>26</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test2.Test`1+&lt;Replace&gt;c__Iterator1`1[S,T]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
-        <size>26</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test3.Test`1+&lt;Replace&gt;c__Iterator2`1[S,T]">\r
-      <method name="System.Collections.Generic.KeyValuePair`2[S,T] System.Collections.Generic.IEnumerator&lt;System.Collections.Generic.KeyValuePair&lt;S,T&gt;&gt;.get_Current()" attrs="2529">\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
         <size>14</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[S,T]] System.Collections.Generic.IEnumerable&lt;System.Collections.Generic.KeyValuePair&lt;S,T&gt;&gt;.GetEnumerator()" attrs="481">\r
-        <size>26</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test4.Test+&lt;Replace&gt;c__Iterator3`1[T]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
-        <size>26</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test5.Test+&lt;Replace&gt;c__Iterator4`1[T]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test6.Test+&lt;Replace&gt;c__Iterator5`1[T]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test7.Test+&lt;Replace&gt;c__Iterator6`1[T]">\r
       <method name="System.Collections.Generic.IEnumerator`1[T[]] System.Collections.Generic.IEnumerable&lt;T[]&gt;.GetEnumerator()" attrs="481">\r
         <size>40</size>\r
       </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-192.cs">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="RedBlackTree`1+&lt;EnumerateRange&gt;c__Iterator1[S]">\r
+    <type name="OrderedMultiDictionary`2[T,U]">\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] EnumerateKeys(RedBlackTree`1+RangeTester[System.Collections.Generic.KeyValuePair`2[T,U]])" attrs="129">\r
+        <size>29</size>\r
+      </method>\r
+    </type>\r
+    <type name="RedBlackTree`1[S]">\r
+      <method name="System.Collections.Generic.IEnumerable`1[S] EnumerateRange(RedBlackTree`1+RangeTester[S])" attrs="134">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="RedBlackTree`1+&lt;EnumerateRange&gt;c__Iterator0[S]">\r
       <method name="S System.Collections.Generic.IEnumerator&lt;S&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>26</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="OrderedMultiDictionary`2[T,U]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] EnumerateKeys(RedBlackTree`1+RangeTester[System.Collections.Generic.KeyValuePair`2[T,U]])" attrs="129">\r
-        <size>29</size>\r
-      </method>\r
-    </type>\r
-    <type name="RedBlackTree`1[S]">\r
-      <method name="System.Collections.Generic.IEnumerable`1[S] EnumerateRange(RedBlackTree`1+RangeTester[S])" attrs="134">\r
-        <size>23</size>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
       </method>\r
-    </type>\r
-    <type name="RedBlackTree`1+&lt;EnumerateRange&gt;c__Iterator1[S]">\r
       <method name="System.Collections.Generic.IEnumerator`1[S] System.Collections.Generic.IEnumerable&lt;S&gt;.GetEnumerator()" attrs="481">\r
         <size>26</size>\r
       </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-194.cs">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="OrderedMultiDictionary`2+&lt;EnumerateKeys&gt;c__Iterator1[T,U]">\r
+    <type name="RedBlackTree`1[S]">\r
+      <method name="System.Collections.Generic.IEnumerable`1[S] EnumerateRange(RedBlackTree`1+RangeTester[S])" attrs="134">\r
+        <size>23</size>\r
+      </method>\r
+    </type>\r
+    <type name="OrderedMultiDictionary`2[T,U]">\r
+      <method name="System.Collections.Generic.IEnumerator`1[T] EnumerateKeys(RedBlackTree`1+RangeTester[System.Collections.Generic.KeyValuePair`2[T,U]])" attrs="129">\r
+        <size>29</size>\r
+      </method>\r
+    </type>\r
+    <type name="RedBlackTree`1+&lt;EnumerateRange&gt;c__Iterator0[S]">\r
+      <method name="System.Collections.Generic.IEnumerator`1[S] System.Collections.Generic.IEnumerable&lt;S&gt;.GetEnumerator()" attrs="481">\r
+        <size>26</size>\r
+      </method>\r
+    </type>\r
+    <type name="OrderedMultiDictionary`2+&lt;EnumerateKeys&gt;c__Iterator0[T,U]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&gt;.get_Current()" attrs="2529">\r
         <size>14</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="RedBlackTree`1[S]">\r
-      <method name="System.Collections.Generic.IEnumerable`1[S] EnumerateRange(RedBlackTree`1+RangeTester[S])" attrs="134">\r
-        <size>23</size>\r
-      </method>\r
-    </type>\r
-    <type name="OrderedMultiDictionary`2[T,U]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[T] EnumerateKeys(RedBlackTree`1+RangeTester[System.Collections.Generic.KeyValuePair`2[T,U]])" attrs="129">\r
-        <size>29</size>\r
-      </method>\r
-    </type>\r
-    <type name="RedBlackTree`1+&lt;EnumerateRange&gt;c__Iterator0[S]">\r
-      <method name="System.Collections.Generic.IEnumerator`1[S] System.Collections.Generic.IEnumerable&lt;S&gt;.GetEnumerator()" attrs="481">\r
-        <size>26</size>\r
-      </method>\r
-    </type>\r
   </test>\r
   <test name="gtest-195.cs">\r
     <type name="OrderedMultiDictionary`2[T,U]">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="HashSet`1+&lt;GetEnumerator&gt;c__Iterator1[T]">\r
-      <method name="T System.Collections.Generic.IEnumerator&lt;T&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
-      <method name="Void Reset()" attrs="486">\r
-        <size>6</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
     <type name="EnumerableBase`1[T]">\r
       <method name="System.Collections.Generic.IEnumerator`1[T] GetEnumerator()" attrs="1478">\r
         <size>0</size>\r
         <size>15</size>\r
       </method>\r
     </type>\r
+    <type name="HashSet`1+&lt;GetEnumerator&gt;c__Iterator0[T]">\r
+      <method name="T System.Collections.Generic.IEnumerator&lt;T&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
+      <method name="Void Reset()" attrs="486">\r
+        <size>6</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-248.cs">\r
     <type name="Foo`1[T]">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;WrapMyComparison&gt;c__AnonStorey1`1[W]">\r
-      <method name="Int32 &lt;&gt;m__1(W, W)" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0(W, W)" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-309.cs">\r
       </method>\r
     </type>\r
     <type name="B+&lt;C&gt;c__AnonStorey1+&lt;C&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>58</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>58</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-325.cs">\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void BrokenLiftedNull()" attrs="129">\r
+        <size>82</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-541.cs">\r
     </type>\r
     <type name="C">\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>34</size>\r
+        <size>80</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Boolean Test_2[T2](T2[])" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-580.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>37</size>\r
       </method>\r
-      <method name="System.Tuple`2[System.Int32,System.Int32] &lt;Main&gt;m__1(Int32)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
     </type>\r
     <type name="Combinator+&lt;Choice&gt;c__AnonStorey0`2[C1,CR1]">\r
       <method name="Parser`2[C1,CR1] &lt;&gt;m__0()" attrs="131">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Combinator">\r
+      <method name="System.Tuple`2[System.Int32,System.Int32] &lt;Main&gt;m__0(Int32)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-594.cs">\r
     <type name="C">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-597.cs">\r
+    <type name="Test.MainClass">\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>63</size>\r
+      </method>\r
+      <method name="Boolean Test_1[T](Test.Templated`1[T])" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="Boolean Test_2[U](Test.IA`1[U])" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.Templated`1[T]">\r
+      <method name="Void .ctor()" attrs="6276">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.Derived">\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 name="Void Main()" attrs="150">\r
         <size>182</size>\r
       </method>\r
-      <method name="Boolean &lt;Main&gt;m__1(&lt;&gt;__AnonType0`2[System.String,System.Reflection.PropertyInfo])" attrs="145">\r
-        <size>21</size>\r
-      </method>\r
-      <method name="System.String &lt;Main&gt;m__2(&lt;&gt;__AnonType0`2[System.String,System.Reflection.PropertyInfo])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
     </type>\r
     <type name="Test+&lt;Select&gt;c__Iterator0`1[T]">\r
       <method name="T System.Collections.Generic.IEnumerator&lt;T&gt;.get_Current()" attrs="2529">\r
         <size>52</size>\r
       </method>\r
     </type>\r
+    <type name="Test">\r
+      <method name="Boolean &lt;Main&gt;m__0(&lt;&gt;__AnonType0`2[System.String,System.Reflection.PropertyInfo])" attrs="145">\r
+        <size>21</size>\r
+      </method>\r
+      <method name="System.String &lt;Main&gt;m__1(&lt;&gt;__AnonType0`2[System.String,System.Reflection.PropertyInfo])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-autoproperty-01.cs">\r
     <type name="Test">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="X+&lt;GetIt&gt;c__Iterator1">\r
+    <type name="S">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] GetIt()" attrs="134">\r
+        <size>35</size>\r
+      </method>\r
+    </type>\r
+    <type name="X">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] GetIt()" attrs="129">\r
+        <size>30</size>\r
+      </method>\r
+    </type>\r
+    <type name="S+&lt;GetIt&gt;c__Iterator0">\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;GetIt&gt;c__Iterator0">\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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>93</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="S">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] GetIt()" attrs="134">\r
-        <size>35</size>\r
-      </method>\r
-    </type>\r
-    <type name="X">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] GetIt()" attrs="129">\r
-        <size>30</size>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
       </method>\r
-    </type>\r
-    <type name="S+&lt;GetIt&gt;c__Iterator0">\r
       <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
         <size>40</size>\r
       </method>\r
-    </type>\r
-    <type name="X+&lt;GetIt&gt;c__Iterator1">\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
       </method>\r
     </type>\r
   </test>\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test.Derived+&lt;GetStuff&gt;c__Iterator1">\r
+    <type name="Test.Base">\r
+      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="454">\r
+        <size>30</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.Derived">\r
+      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="198">\r
+        <size>37</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] &lt;GetStuff&gt;__BaseCallProxy0(Int32)" attrs="129">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.SpecialDerived">\r
+      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="198">\r
+        <size>37</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] &lt;GetStuff&gt;__BaseCallProxy0(Int32)" attrs="129">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.Base+&lt;GetStuff&gt;c__Iterator0">\r
+      <method name="System.Collections.Generic.IEnumerator`1[Test.Base] System.Collections.Generic.IEnumerable&lt;Test.Base&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test.Derived+&lt;GetStuff&gt;c__Iterator0">\r
       <method name="Test.Base System.Collections.Generic.IEnumerator&lt;Test.Base&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>195</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[Test.Base] System.Collections.Generic.IEnumerable&lt;Test.Base&gt;.GetEnumerator()" attrs="481">\r
+        <size>52</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="Test.SpecialDerived+&lt;GetStuff&gt;c__Iterator2">\r
+    <type name="Test.SpecialDerived+&lt;GetStuff&gt;c__Iterator0">\r
       <method name="Test.Base System.Collections.Generic.IEnumerator&lt;Test.Base&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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>195</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test.Base">\r
-      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="454">\r
-        <size>30</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test.Derived">\r
-      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="198">\r
-        <size>37</size>\r
-      </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] &lt;GetStuff&gt;__BaseCallProxy0(Int32)" attrs="129">\r
-        <size>15</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test.SpecialDerived">\r
-      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] GetStuff(Int32)" attrs="198">\r
-        <size>37</size>\r
-      </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[Test.Base] &lt;GetStuff&gt;__BaseCallProxy0(Int32)" attrs="129">\r
-        <size>15</size>\r
-      </method>\r
-    </type>\r
-    <type name="Test.Base+&lt;GetStuff&gt;c__Iterator0">\r
-      <method name="System.Collections.Generic.IEnumerator`1[Test.Base] System.Collections.Generic.IEnumerable&lt;Test.Base&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
       </method>\r
-    </type>\r
-    <type name="Test.Derived+&lt;GetStuff&gt;c__Iterator1">\r
       <method name="System.Collections.Generic.IEnumerator`1[Test.Base] System.Collections.Generic.IEnumerable&lt;Test.Base&gt;.GetEnumerator()" attrs="481">\r
         <size>52</size>\r
       </method>\r
-    </type>\r
-    <type name="Test.SpecialDerived+&lt;GetStuff&gt;c__Iterator2">\r
-      <method name="System.Collections.Generic.IEnumerator`1[Test.Base] System.Collections.Generic.IEnumerable&lt;Test.Base&gt;.GetEnumerator()" attrs="481">\r
-        <size>52</size>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
       </method>\r
     </type>\r
   </test>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test_2&gt;c__Iterator1+&lt;Test_2&gt;c__AnonStorey3">\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>26</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test_2&gt;c__Iterator1+&lt;Test_2&gt;c__AnonStorey3">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-iter-24.cs">\r
     <type name="B">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-iter-30.cs">\r
+    <type name="Program">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>68</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="M">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] Test()" attrs="134">\r
+        <size>30</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="M+&lt;Test&gt;c__Iterator0">\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>101</size>\r
+      </method>\r
+      <method name="Void Dispose()" attrs="486">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Void Reset()" attrs="486">\r
+        <size>6</size>\r
+      </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Int32] System.Collections.Generic.IEnumerable&lt;int&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>57</size>\r
+      </method>\r
+    </type>\r
+    <type name="M+&lt;Test&gt;c__Iterator0+&lt;Test&gt;c__AnonStorey1">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="gtest-iter-31.cs">\r
+    <type name="B">\r
+      <method name="System.Object Foo(System.Object)" attrs="134">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="C">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>62</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.UInt16] Test()" attrs="129">\r
+        <size>30</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>18</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__Iterator0">\r
+      <method name="UInt16 System.Collections.Generic.IEnumerator&lt;ushort&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>81</size>\r
+      </method>\r
+      <method name="Void Dispose()" attrs="486">\r
+        <size>1</size>\r
+      </method>\r
+      <method name="Void Reset()" attrs="486">\r
+        <size>6</size>\r
+      </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.UInt16] System.Collections.Generic.IEnumerable&lt;ushort&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
+      <method name="System.Object &lt;&gt;m__0(System.String)" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="gtest-lambda-01.cs">\r
     <type name="IntFunc">\r
       <method name="Int32 Invoke(Int32)" attrs="454">\r
       <method name="Int32 &lt;Main&gt;m__1(Int32)" attrs="145">\r
         <size>11</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__3(Int32)" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
       <method name="Void .ctor(Int32)" attrs="6273">\r
         <size>14</size>\r
       </method>\r
     </type>\r
     <type name="X+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__2(Int32)" attrs="131">\r
-        <size>9</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="X">\r
+      <method name="Void &lt;Main&gt;m__2(Int32)" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-lambda-02.cs">\r
     <type name="funcs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="System.String &lt;&gt;m__2(System.String)" attrs="131">\r
-        <size>19</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Int32 &lt;&gt;m__3(Int32)" attrs="131">\r
-        <size>18</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="System.String &lt;&gt;m__0(System.String)" attrs="131">\r
+        <size>19</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>18</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-lambda-06.cs">\r
     <type name="TestClass">\r
       </method>\r
     </type>\r
     <type name="TestClass+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__1(T)" attrs="131">\r
-        <size>38</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="TestClass+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__2(F)" attrs="131">\r
-        <size>77</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="TestClass+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0(T)" attrs="131">\r
+        <size>38</size>\r
+      </method>\r
+    </type>\r
+    <type name="TestClass+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0(F)" attrs="131">\r
+        <size>77</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-lambda-07.cs">\r
     <type name="D">\r
       <method name="Void Main()" attrs="150">\r
         <size>77</size>\r
       </method>\r
-      <method name="System.String &lt;Bar&gt;m__1(System.String)" attrs="145">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+      <method name="System.String &lt;Bar&gt;m__0(System.String)" attrs="145">\r
         <size>14</size>\r
       </method>\r
-      <method name="System.String &lt;Main&gt;m__2(System.String)" attrs="145">\r
+      <method name="System.String &lt;Main&gt;m__1(System.String)" attrs="145">\r
         <size>9</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__3(System.String)" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
+      <method name="Void &lt;Main&gt;m__2(System.String)" attrs="145">\r
         <size>7</size>\r
       </method>\r
     </type>\r
       <method name="Int32 Main()" attrs="150">\r
         <size>128</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__1(System.String)" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>139</size>\r
       </method>\r
     </type>\r
+    <type name="Repro">\r
+      <method name="Int32 &lt;Main&gt;m__0(System.String)" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-lambda-16.cs">\r
     <type name="Repro">\r
       </method>\r
     </type>\r
     <type name="MainClass+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="Boolean &lt;&gt;m__3(Product)" attrs="131">\r
-        <size>60</size>\r
-      </method>\r
-      <method name="Decimal &lt;&gt;m__4(Product)" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>56</size>\r
       </method>\r
     </type>\r
+    <type name="MainClass+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Boolean &lt;&gt;m__0(Product)" attrs="131">\r
+        <size>60</size>\r
+      </method>\r
+      <method name="Decimal &lt;&gt;m__1(Product)" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-lambda-23.cs">\r
     <type name="C">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Method&gt;c__AnonStorey0`1[T]">\r
-      <method name="System.Object &lt;&gt;m__1(T)" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="System.Object &lt;&gt;m__0(T)" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-lambda-31.cs">\r
       <method name="Int32 &lt;Main&gt;m__3(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__5(Int32, Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__6(Int32)" attrs="145">\r
-        <size>18</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__7(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
       <method name="Int32 &lt;Main&gt;m__D(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__E(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__F(ITest)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__10(Int32, ITest)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__11(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__12(ITest)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__13(Int32, ITest)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__14(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__15(ITest)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,from.ITest] &lt;Main&gt;m__16(Int32, ITest)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__17(&lt;&gt;__AnonType0`2[System.Int32,from.ITest])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__18(ITest)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__19(&lt;&gt;__AnonType0`2[System.Int32,from.ITest], ITest)" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__1A(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__1B(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__1D(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__1E(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__20(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
       <method name="Int32 &lt;Main&gt;m__22(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__23(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__25(Int32)" attrs="145">\r
-        <size>18</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__26(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__27(Int32)" attrs="145">\r
-        <size>18</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__28(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])" attrs="145">\r
-        <size>23</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__29(&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
-        <size>20</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__2A(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__2B(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__2E(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Int32 &lt;Main&gt;m__2F(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
-        <size>15</size>\r
+        <size>10</size>\r
       </method>\r
       <method name="Int32 &lt;Main&gt;m__32(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
         <size>10</size>\r
       <method name="Int32 &lt;Main&gt;m__33(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
         <size>15</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__36(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__37(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__39(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__3A(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__3B(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType4`2[&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]],System.Int32] &lt;Main&gt;m__3D(&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]])" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__3E(&lt;&gt;__AnonType4`2[&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]],System.Int32])" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="from.C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]] &lt;&gt;m__3C(Int32)" attrs="131">\r
-        <size>55</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__3F(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="System.Nullable`1[System.Boolean] &lt;Main&gt;m__2(System.Nullable`1[System.Boolean])" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__1C(Int32, System.Collections.Generic.IEnumerable`1[System.Int32])" attrs="145">\r
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__31(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__4(Int32, Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__5(Int32)" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__6(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__E(ITest)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__F(Int32, ITest)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="Int32 &lt;Main&gt;m__1F(Int32, System.Collections.Generic.IEnumerable`1[System.Int32])" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__10(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__11(ITest)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__12(Int32, ITest)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="System.Linq.IGrouping`2[System.Int32,System.Int32] &lt;Main&gt;m__24(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__13(Int32)" attrs="145">\r
         <size>10</size>\r
       </method>\r
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__2D(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__14(ITest)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,from.ITest] &lt;Main&gt;m__15(Int32, ITest)" attrs="145">\r
         <size>16</size>\r
       </method>\r
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__31(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__16(&lt;&gt;__AnonType0`2[System.Int32,from.ITest])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__17(ITest)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__18(&lt;&gt;__AnonType0`2[System.Int32,from.ITest], ITest)" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__19(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__1B(Int32, System.Collections.Generic.IEnumerable`1[System.Int32])" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__1C(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__1E(Int32, System.Collections.Generic.IEnumerable`1[System.Int32])" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__1F(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="System.Linq.IGrouping`2[System.Int32,System.Int32] &lt;Main&gt;m__23(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__24(Int32)" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__25(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__26(Int32)" attrs="145">\r
+        <size>18</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__27(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])" attrs="145">\r
+        <size>23</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__28(&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__29(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__2B(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
         <size>16</size>\r
       </method>\r
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__35(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__2C(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__2D(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__2E(System.Linq.IGrouping`2[System.Int32,System.Int32], Int32)" attrs="145">\r
         <size>16</size>\r
       </method>\r
-      <method name="System.Linq.IGrouping`2[System.Int32,System.Int32] &lt;Main&gt;m__38(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="145">\r
+      <method name="Int32 &lt;Main&gt;m__30(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="System.Linq.IGrouping`2[System.Int32,System.Int32] &lt;Main&gt;m__34(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__35(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__36(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__37(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType4`2[&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]],System.Int32] &lt;Main&gt;m__38(&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]])" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__39(&lt;&gt;__AnonType4`2[&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]],System.Int32])" attrs="145">\r
         <size>10</size>\r
       </method>\r
     </type>\r
     <type name="from.C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__4(Int32)" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__0(Int32)" attrs="131">\r
         <size>15</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__2C(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__1(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
         <size>15</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__30(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__2(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
         <size>15</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__34(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__3(System.Linq.IGrouping`2[System.Int32,System.Int32])" attrs="131">\r
         <size>15</size>\r
       </method>\r
+      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Collections.Generic.IEnumerable`1[System.Int32]] &lt;&gt;m__4(Int32)" attrs="131">\r
+        <size>55</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__5(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-linq-02.cs">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>765</size>\r
       </method>\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__1(Int32, System.String)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__2(Int32)" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__4(Int32, System.String)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32] &lt;Main&gt;m__6(&lt;&gt;__AnonType0`2[System.Int32,System.String], Int32)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="Int32 &lt;Main&gt;m__7(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType2`3[System.Int32,System.Int32,System.Int32] &lt;Main&gt;m__8(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])" attrs="145">\r
-        <size>33</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__A(Int32, System.String)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>20</size>\r
       </method>\r
       <method name="System.Collections.Generic.IEnumerable`1[System.String] &lt;&gt;m__3(Int32)" attrs="131">\r
-        <size>20</size>\r
+        <size>15</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__5(&lt;&gt;__AnonType0`2[System.Int32,System.String])" attrs="131">\r
-        <size>20</size>\r
+    </type>\r
+    <type name="SelectMany">\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__0(Int32, System.String)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__1(Int32)" attrs="145">\r
+        <size>13</size>\r
       </method>\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.String] &lt;&gt;m__9(Int32)" attrs="131">\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__2(Int32, System.String)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32] &lt;Main&gt;m__3(&lt;&gt;__AnonType0`2[System.Int32,System.String], Int32)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Int32 &lt;Main&gt;m__4(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])" attrs="145">\r
         <size>15</size>\r
       </method>\r
+      <method name="&lt;&gt;__AnonType2`3[System.Int32,System.Int32,System.Int32] &lt;Main&gt;m__5(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__6(Int32, System.String)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+    </type>\r
+    <type name="SelectMany+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.String] &lt;&gt;m__1(Int32)" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__2(&lt;&gt;__AnonType0`2[System.Int32,System.String])" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-linq-08.cs">\r
       <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;XX&gt;m__6(Char)" attrs="145">\r
         <size>16</size>\r
       </method>\r
-      <method name="Char &lt;XX&gt;m__8(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="Boolean &lt;Main&gt;m__9(Char)" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;Main&gt;m__A(Char)" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Char &lt;Main&gt;m__C(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="NestedQuery+&lt;XX&gt;c__AnonStorey0">\r
-      <method name="Boolean &lt;&gt;m__7(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="NestedQuery+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Boolean &lt;&gt;m__B(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="131">\r
-        <size>23</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="System.Collections.Generic.IEnumerable`1[System.Char] &lt;Main&gt;m__5(&lt;&gt;__AnonType0`2[System.String,System.Int32])" attrs="145">\r
         <size>118</size>\r
       </method>\r
+      <method name="Char &lt;XX&gt;m__7(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Boolean &lt;Main&gt;m__8(Char)" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;Main&gt;m__9(Char)" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Char &lt;Main&gt;m__A(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="NestedQuery+&lt;XX&gt;c__AnonStorey0">\r
+      <method name="Boolean &lt;&gt;m__0(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
+    </type>\r
+    <type name="NestedQuery+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Boolean &lt;&gt;m__0(&lt;&gt;__AnonType1`2[System.Char,System.Int32])" attrs="131">\r
+        <size>23</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-linq-13.cs">\r
       <method name="Void Test_2()" attrs="145">\r
         <size>32</size>\r
       </method>\r
-      <method name="System.Func`1[System.Collections.Generic.IEnumerable`1[System.Int32]] &lt;Test_2&gt;m__1(Int32)" attrs="145">\r
-        <size>33</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test_1&gt;c__AnonStorey0">\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;&gt;m__2(Int32)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__3(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test_2&gt;c__AnonStorey1">\r
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;&gt;m__5(Int32)" attrs="145">\r
-        <size>16</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__6(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>74</size>\r
       </method>\r
     </type>\r
+    <type name="C">\r
+      <method name="System.Func`1[System.Collections.Generic.IEnumerable`1[System.Int32]] &lt;Test_2&gt;m__0(Int32)" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test_1&gt;c__AnonStorey0">\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;&gt;m__1(Int32)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
+    </type>\r
     <type name="C+&lt;Test_2&gt;c__AnonStorey1">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__4()" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Int32] &lt;&gt;m__0()" attrs="131">\r
         <size>74</size>\r
       </method>\r
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;&gt;m__1(Int32)" attrs="145">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-linq-17.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="Boolean &lt;&gt;m__12(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Boolean &lt;&gt;m__13(Int32)" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey2">\r
-      <method name="Boolean &lt;&gt;m__14(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey3">\r
-      <method name="Boolean &lt;&gt;m__15(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey4">\r
-      <method name="Int32 &lt;&gt;m__16(Int32)" attrs="131">\r
-        <size>16</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey5">\r
-      <method name="Int32 &lt;&gt;m__17(Int32)" attrs="131">\r
-        <size>16</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey6">\r
-      <method name="Boolean &lt;&gt;m__18(Int32)" attrs="131">\r
-        <size>27</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey7">\r
-      <method name="Boolean &lt;&gt;m__19(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey8">\r
-      <method name="Boolean &lt;&gt;m__1A(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey9">\r
-      <method name="Boolean &lt;&gt;m__1B(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStoreyA">\r
-      <method name="Boolean &lt;&gt;m__1C(Int32)" attrs="131">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>10</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey2">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey3">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey4">\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>16</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey5">\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>16</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey6">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>27</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey7">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey8">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey9">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStoreyA">\r
+      <method name="Boolean &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-linq-19.cs">\r
     <type name="Test">\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>49</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>15</size>\r
       </method>\r
     </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>49</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-linq-22.cs">\r
     <type name="Test.MainClass">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="&lt;&gt;__AnonType0`2[System.String,System.Boolean] &lt;&gt;m__2(System.String)" attrs="145">\r
-        <size>55</size>\r
-      </method>\r
-      <method name="Boolean &lt;&gt;m__3(&lt;&gt;__AnonType0`2[System.String,System.Boolean])" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Boolean &lt;&gt;m__4(Char)" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="System.Collections.Generic.IEnumerable`1[System.Boolean] &lt;&gt;m__1(System.String)" attrs="131">\r
+      <method name="System.Collections.Generic.IEnumerable`1[System.Boolean] &lt;&gt;m__0(System.String)" attrs="131">\r
         <size>82</size>\r
       </method>\r
+      <method name="&lt;&gt;__AnonType0`2[System.String,System.Boolean] &lt;&gt;m__1(System.String)" attrs="145">\r
+        <size>55</size>\r
+      </method>\r
+      <method name="Boolean &lt;&gt;m__2(&lt;&gt;__AnonType0`2[System.String,System.Boolean])" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Boolean &lt;&gt;m__0(Char)" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-linq-28.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
-      <method name="Int32 &lt;&gt;m__1(Int32)" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="gtest-named-02.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>282</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__1()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="System.Object &lt;Main&gt;m__2(Char)" attrs="145">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6273">\r
         <size>23</size>\r
       </method>\r
         <size>26</size>\r
       </method>\r
     </type>\r
+    <type name="CallerMemberTest">\r
+      <method name="Void &lt;Main&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="System.Object &lt;Main&gt;m__1(Char)" attrs="145">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="gtest-optional-23.cs">\r
     <type name="CallerLineNumberTest">\r
         <size>10</size>\r
       </method>\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>125</size>\r
+        <size>115</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="X+&lt;t2&gt;c__AnonStorey1">\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="131">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="X+&lt;Main2&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2(System.Object, System.EventArgs)" attrs="131">\r
-        <size>34</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="X+&lt;t2&gt;c__AnonStorey1">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Main2&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0(System.Object, System.EventArgs)" attrs="131">\r
+        <size>34</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-365.cs">\r
     <type name="C">\r
       </method>\r
     </type>\r
     <type name="Z+&lt;TestPostinc&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>39</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>39</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-475.cs">\r
   <test name="test-609.cs">\r
     <type name="Test">\r
       <method name="Int32 Main()" attrs="150">\r
-        <size>54</size>\r
+        <size>10</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-870.cs">\r
+    <type name="Test">\r
+      <method name="Void Foo(UInt16)" attrs="145">\r
+        <size>23</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="150">\r
+        <size>8</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-871.cs">\r
+    <type name="D">\r
+      <method name="D op_BitwiseAnd(D, D)" attrs="2198">\r
+        <size>16</size>\r
+      </method>\r
+      <method name="Boolean op_False(D)" attrs="2198">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Boolean op_True(D)" attrs="2198">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="D op_Implicit(Boolean)" attrs="2198">\r
+        <size>15</size>\r
+      </method>\r
+      <method name="Int32 Main()" attrs="145">\r
+        <size>80</size>\r
+      </method>\r
+      <method name="Void .ctor(Int32)" attrs="6278">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-88.cs">\r
     <type name="X">\r
       <method name="Void f(System.String)" attrs="145">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0`1+&lt;Test&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>51</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>51</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-103.cs">\r
       </method>\r
     </type>\r
     <type name="Test`1+&lt;Hello&gt;c__AnonStorey1`1+&lt;Hello&gt;c__AnonStorey0`1[T,S]">\r
-      <method name="Void &lt;&gt;m__1(T)" attrs="131">\r
-        <size>66</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0(T)" attrs="131">\r
+        <size>66</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-116.cs">\r
       <method name="System.String &lt;&gt;m__1(System.Text.RegularExpressions.Match)" attrs="131">\r
         <size>120</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__2(System.Text.RegularExpressions.Match)" attrs="131">\r
-        <size>120</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="System.String &lt;&gt;m__0(System.Text.RegularExpressions.Match)" attrs="131">\r
+        <size>120</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-12.cs">\r
         <size>7</size>\r
       </method>\r
       <method name="Void &lt;Main&gt;m__3()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Void &lt;Main&gt;m__4()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Void &lt;Main&gt;m__5()" attrs="145">\r
         <size>62</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__6()" attrs="145">\r
+      <method name="Void &lt;Main&gt;m__4()" attrs="145">\r
         <size>54</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__7(E)" attrs="145">\r
-        <size>35</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey0">\r
       <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>49</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
         <size>36</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>15</size>\r
       </method>\r
     </type>\r
+    <type name="C">\r
+      <method name="Void &lt;Main&gt;m__1()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Void &lt;Main&gt;m__2()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Void &lt;Main&gt;m__5(E)" attrs="145">\r
+        <size>35</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>49</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-124.cs">\r
     <type name="Disposable`1[T]">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Throw&gt;c__AnonStorey1`1[T]">\r
-      <method name="T &lt;&gt;m__1()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;TypeOf&gt;c__AnonStorey2`1[T]">\r
-      <method name="System.Type &lt;&gt;m__2()" attrs="131">\r
-        <size>64</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Do&gt;c__AnonStorey3`1[T]">\r
-      <method name="T &lt;&gt;m__3()" attrs="131">\r
-        <size>38</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Lock&gt;c__AnonStorey4`1[T]">\r
-      <method name="T &lt;&gt;m__4()" attrs="131">\r
-        <size>69</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Catch&gt;c__AnonStorey5`1[T]">\r
-      <method name="T &lt;&gt;m__5()" attrs="131">\r
-        <size>41</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Catch_2&gt;c__AnonStorey6`1[T]">\r
-      <method name="T &lt;&gt;m__6()" attrs="131">\r
-        <size>42</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Finally&gt;c__AnonStorey7`1[T]">\r
-      <method name="T &lt;&gt;m__7()" attrs="131">\r
-        <size>62</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Using&gt;c__AnonStorey8`1[T]">\r
-      <method name="T &lt;&gt;m__8()" attrs="131">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Switch&gt;c__AnonStorey9`1[T]">\r
-      <method name="T &lt;&gt;m__9()" attrs="131">\r
-        <size>16</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;ForForeach&gt;c__AnonStoreyA`1[T]">\r
-      <method name="System.Collections.Generic.List`1[T] &lt;&gt;m__A()" attrs="131">\r
-        <size>67</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;ArrayMutate&gt;c__AnonStoreyB`1[T]">\r
-      <method name="Void &lt;&gt;m__B(Int32)" attrs="131">\r
-        <size>39</size>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;ArrayMultiMutate&gt;c__AnonStoreyD`1[T]">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
       </method>\r
+    </type>\r
+    <type name="Test+&lt;NestedTypeMutate&gt;c__AnonStoreyE`1[T]">\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Test+&lt;Throw&gt;c__AnonStorey1`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;TypeOf&gt;c__AnonStorey2`1[T]">\r
+      <method name="System.Type &lt;&gt;m__0()" attrs="131">\r
+        <size>64</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Do&gt;c__AnonStorey3`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>38</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Lock&gt;c__AnonStorey4`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>69</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Catch&gt;c__AnonStorey5`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>41</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Catch_2&gt;c__AnonStorey6`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>42</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Finally&gt;c__AnonStorey7`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>62</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Using&gt;c__AnonStorey8`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Switch&gt;c__AnonStorey9`1[T]">\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>16</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;ForForeach&gt;c__AnonStoreyA`1[T]">\r
+      <method name="System.Collections.Generic.List`1[T] &lt;&gt;m__0()" attrs="131">\r
+        <size>67</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;ArrayMutate&gt;c__AnonStoreyB`1[T]">\r
+      <method name="Void &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>39</size>\r
+      </method>\r
+    </type>\r
     <type name="Test+&lt;ArrayMultiMutate&gt;c__AnonStoreyC`1[T]">\r
-      <method name="T[][] &lt;&gt;m__C()" attrs="131">\r
+      <method name="T[][] &lt;&gt;m__0()" attrs="131">\r
         <size>58</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;ArrayMultiMutate&gt;c__AnonStoreyD`1[T]">\r
-      <method name="Int32 &lt;&gt;m__D()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>35</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Test+&lt;NestedTypeMutate&gt;c__AnonStoreyE`1[T]">\r
-      <method name="T[] &lt;&gt;m__E()" attrs="131">\r
+      <method name="T[] &lt;&gt;m__0()" attrs="131">\r
         <size>45</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-125.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0`1+&lt;Test&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>51</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>51</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-131.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>68</size>\r
       </method>\r
-      <method name="System.String &lt;Main&gt;m__1(System.String)" attrs="145">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>146</size>\r
       </method>\r
     </type>\r
+    <type name="Test">\r
+      <method name="System.String &lt;Main&gt;m__0(System.String)" attrs="145">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-134.cs">\r
     <type name="MyClass">\r
       <method name="System.Func`1[C`1[T]] XX()" attrs="145">\r
         <size>40</size>\r
       </method>\r
-      <method name="C`1[T] &lt;XX&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="System.Func`1[T] XX[T]()" attrs="145">\r
         <size>23</size>\r
       </method>\r
-      <method name="T &lt;XX`1&gt;m__2[T]()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C2`1[T]">\r
+      <method name="C`1[T] &lt;XX&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="N1">\r
+      <method name="T &lt;XX`1&gt;m__0[T]()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-136.cs">\r
     <type name="Handler`1[T]">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Test_2&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>86</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Test_3&gt;c__AnonStorey2`1[T]">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>34</size>\r
       </method>\r
     </type>\r
+    <type name="Test+&lt;Test_2&gt;c__AnonStorey1`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>86</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;Test_3&gt;c__AnonStorey2`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-14.cs">\r
     <type name="X">\r
       </method>\r
     </type>\r
     <type name="C+&lt;AnyMethod&gt;c__AnonStorey0`1[T]">\r
-      <method name="Void &lt;&gt;m__1(System.String)" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0(System.String)" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-146.cs">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>67</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__3(Int32, Int32, Int32)" attrs="145">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3[T1,T2,T3]">\r
-      <method name="System.Action`1[T3] &lt;&gt;m__1(T2)" attrs="131">\r
-        <size>52</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3+&lt;Curry&gt;c__AnonStorey2`3[T1,T2,T3]">\r
-      <method name="Void &lt;&gt;m__2(T3)" attrs="131">\r
-        <size>35</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Test">\r
+      <method name="Void &lt;Main&gt;m__0(Int32, Int32, Int32)" attrs="145">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3[T1,T2,T3]">\r
+      <method name="System.Action`1[T3] &lt;&gt;m__0(T2)" attrs="131">\r
+        <size>52</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3+&lt;Curry&gt;c__AnonStorey2`3[T1,T2,T3]">\r
+      <method name="Void &lt;&gt;m__0(T3)" attrs="131">\r
+        <size>35</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-148.cs">\r
     <type name="Func`1[TResult]">\r
       </method>\r
     </type>\r
     <type name="SomeGenericClass`1+&lt;FailsToCompile&gt;c__AnonStorey0[SomeType]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>19</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>19</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-151.cs">\r
       </method>\r
     </type>\r
     <type name="Class+&lt;Method&gt;c__AnonStorey0+&lt;Method&gt;c__AnonStorey2">\r
-      <method name="System.String &lt;&gt;m__1(System.String)" attrs="131">\r
-        <size>60</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Class+&lt;Method&gt;c__AnonStorey0+&lt;Method&gt;c__AnonStorey2+&lt;Method&gt;c__AnonStorey1">\r
-      <method name="System.String &lt;&gt;m__2()" attrs="131">\r
-        <size>46</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Class+&lt;Method&gt;c__AnonStorey0+&lt;Method&gt;c__AnonStorey2">\r
+      <method name="System.String &lt;&gt;m__0(System.String)" attrs="131">\r
+        <size>60</size>\r
+      </method>\r
+    </type>\r
+    <type name="Class+&lt;Method&gt;c__AnonStorey0+&lt;Method&gt;c__AnonStorey2+&lt;Method&gt;c__AnonStorey1">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="131">\r
+        <size>46</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-155.cs">\r
     <type name="Thing`1[TFirst]">\r
       <method name="Void Main()" attrs="150">\r
         <size>43</size>\r
       </method>\r
-      <method name="System.Object &lt;Main&gt;m__1(System.Object)" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Thing`1+&lt;Create&gt;c__AnonStorey0`1[TFirst,TSecond]">\r
       <method name="Void &lt;&gt;m__0(TFirst)" attrs="131">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Program">\r
+      <method name="System.Object &lt;Main&gt;m__0(System.Object)" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-156.cs">\r
     <type name="G`1[T]">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;FooNested&gt;c__AnonStorey1`1[X]">\r
-      <method name="Call`1[X] &lt;&gt;m__1()" attrs="131">\r
-        <size>19</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Call`1[X] &lt;&gt;m__0()" attrs="131">\r
+        <size>19</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-159.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>41</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__1(System.String)" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="TestGenericsSubtypeMatching.C">\r
+      <method name="Void &lt;Main&gt;m__0(System.String)" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-16.cs">\r
     <type name="D">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>49</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__1(Int32)" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="TestGenericsSubtypeMatching.C">\r
+      <method name="Void &lt;Main&gt;m__0(Int32)" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-161.cs">\r
     <type name="TestCase">\r
       </method>\r
     </type>\r
     <type name="T+&lt;GetD&gt;c__AnonStorey2`1+&lt;GetD&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>52</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>52</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-163.cs">\r
       </method>\r
     </type>\r
     <type name="B+&lt;Test2&gt;c__AnonStorey1`1[T]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>40</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="B+&lt;Test3&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>20</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>20</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="T &lt;Foo4&gt;__BaseCallProxy2[T]()" attrs="129">\r
         <size>14</size>\r
       </method>\r
-      <method name="T &lt;Test4`1&gt;m__4[T]()" attrs="129">\r
+      <method name="T &lt;Test4`1&gt;m__0[T]()" attrs="129">\r
         <size>14</size>\r
       </method>\r
     </type>\r
+    <type name="B+&lt;Test2&gt;c__AnonStorey1`1[T]">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>40</size>\r
+      </method>\r
+    </type>\r
+    <type name="B+&lt;Test3&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="Void &lt;&gt;m__1()" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-164.cs">\r
     <type name="C`1[T]">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Foo&gt;c__AnonStorey0`1[T]">\r
-      <method name="T &lt;&gt;m__1()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="T &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-166.cs">\r
       </method>\r
     </type>\r
     <type name="A+&lt;Test&gt;c__AnonStorey0`2[T,U]">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-167.cs">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Char &lt;&gt;m__1()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Char &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-17.cs">\r
       </method>\r
     </type>\r
     <type name="MyClass+&lt;Run&gt;c__AnonStorey0">\r
-      <method name="Int32 &lt;&gt;m__4()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MyClass+&lt;Run&gt;c__AnonStorey1">\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MyClass+&lt;Run2&gt;c__AnonStorey2">\r
-      <method name="Int32 &lt;&gt;m__6()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MyClass+&lt;Run2&gt;c__AnonStorey3">\r
-      <method name="Int32 &lt;&gt;m__7()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="MyClass+&lt;Run&gt;c__AnonStorey0">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="MyClass+&lt;Run&gt;c__AnonStorey1">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="MyClass+&lt;Run2&gt;c__AnonStorey2">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+    </type>\r
+    <type name="MyClass+&lt;Run2&gt;c__AnonStorey3">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-171.cs">\r
     <type name="TestAnonSwitch.MyClass">\r
       </method>\r
     </type>\r
     <type name="X+&lt;MainHost&gt;c__AnonStorey0+&lt;MainHost&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>53</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>53</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-21.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>82</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>82</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-22.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;T&gt;c__AnonStorey0+&lt;T&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>53</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>53</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-23.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-24.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>51</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>51</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-28.cs">\r
       </method>\r
     </type>\r
     <type name="T+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>13</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>13</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-34.cs">\r
       </method>\r
     </type>\r
     <type name="Delegates.Space+&lt;Leak&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>20</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Delegates.Space+&lt;Leak&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-35.cs">\r
     <type name="ExceptionWithAnonMethod">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>35</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>35</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-39.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>36</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>36</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-42.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>35</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>35</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-44.cs">\r
       <method name="Simple &lt;&gt;m__1()" attrs="131">\r
         <size>41</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>22</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>27</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="X+&lt;Test&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__2()" attrs="131">\r
+        <size>22</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>27</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-45.cs">\r
     <type name="TestFunc">\r
       </method>\r
     </type>\r
     <type name="Test+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>13</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>13</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-54.cs">\r
       </method>\r
     </type>\r
     <type name="X+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey4">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>125</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>125</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-61.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>2</size>\r
       </method>\r
-      <method name="Void &lt;AddSource&gt;m__1(System.Object, System.EventArgs)" attrs="145">\r
-        <size>2</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Source">\r
+      <method name="Void &lt;AddSource&gt;m__0(System.Object, System.EventArgs)" attrs="145">\r
+        <size>2</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-65.cs">\r
     <type name="BaseClass">\r
       <method name="Void Main()" attrs="150">\r
         <size>99</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__3()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__AnonStorey1">\r
       <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>49</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
         <size>36</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C">\r
+      <method name="Void &lt;Main&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>49</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-71.cs">\r
     <type name="Program">\r
     </type>\r
     <type name="Test+&lt;TestMe&gt;c__AnonStorey0">\r
       <method name="Boolean &lt;&gt;m__1()" attrs="131">\r
-        <size>67</size>\r
-      </method>\r
-      <method name="Boolean &lt;&gt;m__2()" attrs="131">\r
         <size>22</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Boolean &lt;&gt;m__0()" attrs="131">\r
+        <size>67</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-76.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>45</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey1+&lt;Test&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>19</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>45</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey1+&lt;Test&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>19</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-82.cs">\r
     <type name="StringSender">\r
       <method name="Void SimpleCallback(MainClass, System.String)" attrs="145">\r
         <size>8</size>\r
       </method>\r
-      <method name="Void &lt;Test2&gt;m__1(System.String)" attrs="145">\r
-        <size>28</size>\r
-      </method>\r
-      <method name="Void &lt;Test3&gt;m__3()" attrs="145">\r
-        <size>2</size>\r
-      </method>\r
-      <method name="Void &lt;Test4&gt;m__4()" attrs="145">\r
-        <size>32</size>\r
-      </method>\r
-      <method name="Void &lt;Test4&gt;m__8()" attrs="145">\r
-        <size>29</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__0()" attrs="131">\r
         <size>26</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__6(System.String)" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MainClass+&lt;Test3&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MainClass+&lt;Test5&gt;c__AnonStorey4">\r
-      <method name="Int32 &lt;&gt;m__5(Int32)" attrs="131">\r
-        <size>54</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__9(Int32)" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="MainClass+&lt;Test2&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__7()" attrs="131">\r
-        <size>13</size>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
       </method>\r
+    </type>\r
+    <type name="MainClass+&lt;Test4&gt;c__AnonStorey3">\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="MainClass">\r
+      <method name="Void &lt;Test2&gt;m__0(System.String)" attrs="145">\r
+        <size>28</size>\r
+      </method>\r
+      <method name="Void &lt;Test3&gt;m__1()" attrs="145">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void &lt;Test4&gt;m__2()" attrs="145">\r
+        <size>32</size>\r
+      </method>\r
+      <method name="Void &lt;Test4&gt;m__3()" attrs="145">\r
+        <size>29</size>\r
+      </method>\r
+    </type>\r
+    <type name="MainClass+&lt;Main&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__1(System.String)" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="MainClass+&lt;Test3&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="MainClass+&lt;Test5&gt;c__AnonStorey4">\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">\r
+        <size>54</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1(Int32)" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="MainClass+&lt;Test2&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
     <type name="MainClass+&lt;Test4&gt;c__AnonStorey3">\r
-      <method name="Void &lt;&gt;m__A()" attrs="131">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
         <size>15</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__B()" attrs="131">\r
+      <method name="Void &lt;&gt;m__1()" attrs="131">\r
         <size>9</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-83.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>9</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__1()" attrs="131">\r
         <size>9</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__4()" attrs="145">\r
-        <size>4</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>21</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__2()" attrs="145">\r
+        <size>4</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>21</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-89.cs">\r
     <type name="C">\r
       <method name="Void &lt;&gt;m__0()" attrs="131">\r
         <size>113</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>32</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
       <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>19</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
         <size>53</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__1()" attrs="131">\r
+        <size>32</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>19</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-90.cs">\r
     <type name="C">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Foo&gt;c__AnonStorey0+&lt;Foo&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>33</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>33</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-91.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-92.cs">\r
       <method name="Void Main()" attrs="150">\r
         <size>51</size>\r
       </method>\r
-      <method name="Void &lt;Main&gt;m__2(System.Object, System.EventArgs)" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       </method>\r
     </type>\r
     <type name="BaseTest.MainClass+&lt;&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1(System.Object, System.EventArgs)" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="BaseTest.MainClass">\r
+      <method name="Void &lt;Main&gt;m__0(System.Object, System.EventArgs)" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="BaseTest.MainClass+&lt;&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__0(System.Object, System.EventArgs)" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-anon-94.cs">\r
     <type name="Program">\r
         <size>8</size>\r
       </method>\r
     </type>\r
+    <type name="Program+Derived+&lt;TestOut&gt;c__AnonStorey0">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
     <type name="Program+DerivedLibrary">\r
-      <method name="Void &lt;Print&gt;m__2()" attrs="129">\r
+      <method name="Void &lt;Print&gt;m__0()" attrs="129">\r
         <size>9</size>\r
       </method>\r
     </type>\r
     <type name="Program+Derived+&lt;TestOut&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
         <size>30</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
   </test>\r
   <test name="test-anon-95.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey0">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>72</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey2">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>72</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey2">\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-01.cs">\r
     <type name="Program">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>482</size>\r
       </method>\r
-      <method name="System.Threading.Tasks.Task`1[System.Decimal] &lt;Main&gt;m__4(Decimal)" attrs="145">\r
-        <size>41</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__5()" attrs="131">\r
         <size>34</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__6()" attrs="131">\r
-        <size>34</size>\r
-      </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async3+&lt;Main&gt;c__AnonStorey4">\r
-      <method name="System.String &lt;&gt;m__7()" attrs="131">\r
-        <size>52</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async5+&lt;Main&gt;c__AnonStorey6">\r
-      <method name="Decimal &lt;&gt;m__8()" attrs="131">\r
-        <size>52</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="Program">\r
+      <method name="System.Threading.Tasks.Task`1[System.Decimal] &lt;Main&gt;m__0(Decimal)" attrs="145">\r
+        <size>41</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__4()" attrs="131">\r
+        <size>34</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async3+&lt;Main&gt;c__AnonStorey4">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="131">\r
+        <size>52</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async5+&lt;Main&gt;c__AnonStorey6">\r
+      <method name="Decimal &lt;&gt;m__0()" attrs="131">\r
+        <size>52</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-07.cs">\r
     <type name="Program">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>358</size>\r
       </method>\r
-      <method name="System.Threading.Tasks.Task`1[System.Int16] &lt;Main&gt;m__2(Int16)" attrs="145">\r
-        <size>41</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>41</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__3()" attrs="131">\r
-        <size>35</size>\r
+        <size>34</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Program+&lt;Main&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__5()" attrs="131">\r
-        <size>34</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__6()" attrs="131">\r
-        <size>46</size>\r
-      </method>\r
-    </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>191</size>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async0+&lt;Main&gt;c__AnonStorey2">\r
-      <method name="System.String &lt;&gt;m__4()" attrs="131">\r
-        <size>52</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="Program">\r
+      <method name="System.Threading.Tasks.Task`1[System.Int16] &lt;Main&gt;m__0(Int16)" attrs="145">\r
+        <size>41</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey1">\r
+      <method name="Void &lt;&gt;m__2()" attrs="131">\r
+        <size>35</size>\r
+      </method>\r
+      <method name="Void &lt;&gt;m__4()" attrs="131">\r
+        <size>46</size>\r
+      </method>\r
+    </type>\r
+    <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async0+&lt;Main&gt;c__AnonStorey2">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="131">\r
+        <size>52</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-08.cs">\r
     <type name="AsyncTypeInference">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>196</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="AsyncTypeInference+&lt;Main&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>197</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__6()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="AsyncTypeInference+&lt;Main&gt;c__async8">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="AsyncTypeInference+&lt;Main&gt;c__async2">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="AsyncTypeInference+&lt;Main&gt;c__async5">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-09.cs">\r
     <type name="Test">\r
         <size>338</size>\r
       </method>\r
       <method name="System.String &lt;&gt;m__1()" attrs="145">\r
-        <size>21</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__2()" attrs="145">\r
         <size>13</size>\r
       </method>\r
     </type>\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>257</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__3()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestCompositionCall_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>310</size>\r
       </method>\r
-      <method name="Byte &lt;&gt;m__4()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_1&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>208</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_2&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>329</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__6()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__7()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_3&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>209</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__8()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_4&gt;c__async6">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>467</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__9()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__A()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__B()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;M&gt;c__AnonStorey7">\r
       <method name="Byte &lt;&gt;m__0()" attrs="131">\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;TestCompositionCall_1&gt;c__async0">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>21</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionCall_2&gt;c__async1">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionCall_3&gt;c__async2">\r
+      <method name="Byte &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionPair_1&gt;c__async3">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionPair_2&gt;c__async4">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionPair_3&gt;c__async5">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;TestCompositionPair_4&gt;c__async6">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-11.cs">\r
     <type name="G`1[T]">\r
       <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>9</size>\r
       </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_1&gt;c__async1">\r
+    <type name="C+&lt;TestStack_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>327</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>9</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_2&gt;c__async2">\r
+    <type name="C+&lt;TestStack_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>302</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>9</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_3&gt;c__async3">\r
+    <type name="C+&lt;TestStack_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>467</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="C+&lt;TestStack_4&gt;c__async4">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>323</size>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>9</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_5&gt;c__async5">\r
+    <type name="C+&lt;TestStack_4&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>347</size>\r
-      </method>\r
-    </type>\r
-    <type name="G`1+&lt;TestStack_1&gt;c__async0[T]">\r
-      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
-        <size>13</size>\r
-      </method>\r
-    </type>\r
-    <type name="C+&lt;TestStack_1&gt;c__async1">\r
-      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
-        <size>13</size>\r
+        <size>323</size>\r
       </method>\r
-    </type>\r
-    <type name="C+&lt;TestStack_2&gt;c__async2">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-    </type>\r
-    <type name="C+&lt;TestStack_3&gt;c__async3">\r
-      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
-        <size>13</size>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_4&gt;c__async4">\r
-      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
-        <size>13</size>\r
+    <type name="C+&lt;TestStack_5&gt;c__async4">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>347</size>\r
       </method>\r
-    </type>\r
-    <type name="C+&lt;TestStack_5&gt;c__async5">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="C+&lt;TestStack_5&gt;c__async5+&lt;TestStack_5&gt;c__AnonStorey6">\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="131">\r
+    <type name="C+&lt;TestStack_5&gt;c__async4+&lt;TestStack_5&gt;c__AnonStorey5">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>48</size>\r
       </method>\r
       <method name="Void .ctor()" attrs="6278">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>335</size>\r
       </method>\r
-      <method name="Boolean &lt;&gt;m__4()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>740</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__6()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__7()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__8()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Double &lt;&gt;m__9()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>1090</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__A()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__B()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Decimal &lt;&gt;m__C()" attrs="145">\r
-        <size>19</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__D()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Decimal &lt;&gt;m__E()" attrs="145">\r
-        <size>19</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_4&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>421</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__F()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__10()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>428</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__11()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_6&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>257</size>\r
       </method>\r
-      <method name="Int64 &lt;&gt;m__13()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_7&gt;c__async6">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>426</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__14()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_8&gt;c__async7">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>792</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__15()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Byte &lt;&gt;m__16()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ArrayAccessTest_9&gt;c__async8">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>1209</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__17()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__18()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__19()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1A()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1B()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1C()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="S &lt;&gt;m__1D()" attrs="145">\r
-        <size>25</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;AssignTest_1&gt;c__async9">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>223</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__1E()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;AssignTest_2&gt;c__asyncA">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>364</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__20()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__21()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;BinaryTest_1&gt;c__asyncC">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>435</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__22()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__23()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__24()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;BinaryTest_2&gt;c__asyncD">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester">\r
-      <method name="Tester &lt;CastTest_2&gt;m__3A()" attrs="129">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;AssignTest_2&gt;c__asyncA">\r
-      <method name="System.Nullable`1[System.SByte] &lt;&gt;m__1F()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;BinaryTest_3&gt;c__asyncE">\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__28()" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__29()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__2A()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__2B()" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__2C()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__2D()" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;BinaryTest_4&gt;c__asyncF">\r
-      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__2E()" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Byte] &lt;&gt;m__2F()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Decimal] &lt;&gt;m__30()" attrs="145">\r
-        <size>20</size>\r
-      </method>\r
-      <method name="System.Nullable`1[System.Decimal] &lt;&gt;m__31()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-    </type>\r
     <type name="Tester">\r
       <method name="System.Threading.Tasks.Task`1[System.Boolean] BinaryTest_6()" attrs="129">\r
         <size>33</size>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__32()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__33()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__34()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CallTest_2&gt;c__async13">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__35()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CallTest_3&gt;c__async14">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__36()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CallTest_4&gt;c__async15">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="E &lt;&gt;m__37()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CallTest_5&gt;c__async16">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Decimal &lt;&gt;m__39()" attrs="145">\r
-        <size>15</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CastTest_2&gt;c__async18">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__3B()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__3C()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CoalescingTest_2&gt;c__async1A">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__3D()" attrs="145">\r
-        <size>17</size>\r
-      </method>\r
-      <method name="Byte &lt;&gt;m__3E()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ConditionalTest_1&gt;c__async1B">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__3F()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ConditionalTest_2&gt;c__async1C">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__40()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__41()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ConditionalTest_3&gt;c__async1D">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Boolean &lt;&gt;m__42()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__43()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;ConditionalTest_4&gt;c__async1E">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__44()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;DelegateInvoke_4&gt;c__async1F">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__45(Int32)" attrs="145">\r
-        <size>11</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__46()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;EventInvoke_1&gt;c__async20">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__49()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__4A()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_1&gt;c__async22">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__4B()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_2&gt;c__async23">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__4C()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__4D()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_3&gt;c__async24">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__4F()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_4&gt;c__async25">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__51()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_5&gt;c__async26">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__53()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_6&gt;c__async27">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__54()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__55()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__56()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_7&gt;c__async28">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Tester &lt;&gt;m__58()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IsTest_2&gt;c__async2A">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Nullable`1[System.UInt32] &lt;&gt;m__59()" attrs="145">\r
-        <size>14</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;LogicalUserOperator_1&gt;c__async2B">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__5A()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="Base &lt;&gt;m__5B()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;LogicalUserOperator_2&gt;c__async2C">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__5C()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;LogicalUserOperator_3&gt;c__async2D">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__5D()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="Base &lt;&gt;m__5E()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewTest_1&gt;c__async2E">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__5F()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewTest_2&gt;c__async2F">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__60()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__61()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewInitTest_1&gt;c__async30">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__62()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__63()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__64()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__65()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__66()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__67()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewInitTest_2&gt;c__async31">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__68()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__69()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__6A()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__6B()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async32">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__6C()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async33">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__6D()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__6E()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async34">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Byte &lt;&gt;m__6F()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async35">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="UInt16 &lt;&gt;m__70()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="UInt16 &lt;&gt;m__71()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async36">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="S &lt;&gt;m__72()" attrs="145">\r
-        <size>25</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async37">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__73()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;PropertyTest_1&gt;c__async38">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__74()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;PropertyTest_2&gt;c__async39">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__75()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;PropertyTest_3&gt;c__async3A">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__76()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__77()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__78()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;StringConcatTest_1&gt;c__async3B">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__79()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__7A()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__7B()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;UnaryTest_1&gt;c__async3C">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__7C()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;UnaryTest_2&gt;c__async3D">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__7E()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;VariableInitializer_1&gt;c__async3F">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__7F()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4+&lt;ArrayAccessTest_5&gt;c__AnonStorey40">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;BinaryTest_2&gt;c__asyncD+&lt;BinaryTest_2&gt;c__AnonStorey41">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_5&gt;c__async16+&lt;CallTest_5&gt;c__AnonStorey42">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;EventInvoke_1&gt;c__async20+&lt;EventInvoke_1&gt;c__AnonStorey43">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_3&gt;c__async24+&lt;IndexerTest_3&gt;c__AnonStorey44">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_4&gt;c__async25+&lt;IndexerTest_4&gt;c__AnonStorey45">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_5&gt;c__async26+&lt;IndexerTest_5&gt;c__AnonStorey46">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_7&gt;c__async28+&lt;IndexerTest_7&gt;c__AnonStorey47">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryTest_2&gt;c__async3D+&lt;UnaryTest_2&gt;c__AnonStorey48">\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester">\r
+      <method name="Tester &lt;CastTest_2&gt;m__4()" attrs="129">\r
         <size>9</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__80()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_1&gt;c__async0">\r
+      <method name="Boolean &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
         <size>9</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4+&lt;ArrayAccessTest_5&gt;c__AnonStorey40">\r
-      <method name="Int32 &lt;&gt;m__12()" attrs="131">\r
+    <type name="Tester+&lt;ArrayAccessTest_2&gt;c__async1">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Double &lt;&gt;m__3()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_3&gt;c__async2">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Decimal &lt;&gt;m__2()" attrs="145">\r
+        <size>19</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Decimal &lt;&gt;m__4()" attrs="145">\r
+        <size>19</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_4&gt;c__async3">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_6&gt;c__async5">\r
+      <method name="Int64 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_7&gt;c__async6">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_8&gt;c__async7">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Byte &lt;&gt;m__1()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_9&gt;c__async8">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="S &lt;&gt;m__6()" attrs="145">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
+    </type>\r
+    <type name="Tester+&lt;AssignTest_1&gt;c__async9">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;AssignTest_2&gt;c__asyncA">\r
+      <method name="System.Nullable`1[System.SByte] &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;AssignTest_3&gt;c__asyncB">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;BinaryTest_1&gt;c__asyncC">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;BinaryTest_3&gt;c__asyncE">\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__0()" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__1()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__2()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__3()" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__4()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Boolean] &lt;&gt;m__5()" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;BinaryTest_4&gt;c__asyncF">\r
+      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__0()" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Byte] &lt;&gt;m__1()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Decimal] &lt;&gt;m__2()" attrs="145">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="System.Nullable`1[System.Decimal] &lt;&gt;m__3()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_1&gt;c__async12">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_2&gt;c__async13">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_3&gt;c__async14">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_4&gt;c__async15">\r
+      <method name="E &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CastTest_1&gt;c__async17">\r
+      <method name="Decimal &lt;&gt;m__0()" attrs="145">\r
+        <size>15</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CoalescingTest_1&gt;c__async19">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CoalescingTest_2&gt;c__async1A">\r
+      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__0()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Byte &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ConditionalTest_1&gt;c__async1B">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ConditionalTest_2&gt;c__async1C">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ConditionalTest_3&gt;c__async1D">\r
+      <method name="Boolean &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ConditionalTest_4&gt;c__async1E">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;DelegateInvoke_4&gt;c__async1F">\r
+      <method name="Int32 &lt;&gt;m__0(Int32)" attrs="145">\r
+        <size>11</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;FieldTest_1&gt;c__async21">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_1&gt;c__async22">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_2&gt;c__async23">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_3&gt;c__async24">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_4&gt;c__async25">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_5&gt;c__async26">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_6&gt;c__async27">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IsTest_1&gt;c__async29">\r
+      <method name="Tester &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IsTest_2&gt;c__async2A">\r
+      <method name="System.Nullable`1[System.UInt32] &lt;&gt;m__0()" attrs="145">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;LogicalUserOperator_1&gt;c__async2B">\r
+      <method name="Base &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Base &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;LogicalUserOperator_2&gt;c__async2C">\r
+      <method name="Base &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;LogicalUserOperator_3&gt;c__async2D">\r
+      <method name="Base &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Base &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewTest_1&gt;c__async2E">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewTest_2&gt;c__async2F">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewInitTest_1&gt;c__async30">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewInitTest_2&gt;c__async31">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async32">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async33">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async34">\r
+      <method name="Byte &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async35">\r
+      <method name="UInt16 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="UInt16 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async36">\r
+      <method name="S &lt;&gt;m__0()" attrs="145">\r
+        <size>25</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async37">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;PropertyTest_1&gt;c__async38">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;PropertyTest_2&gt;c__async39">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;PropertyTest_3&gt;c__async3A">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;StringConcatTest_1&gt;c__async3B">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryTest_1&gt;c__async3C">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryTest_3&gt;c__async3E">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;VariableInitializer_1&gt;c__async3F">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4+&lt;ArrayAccessTest_5&gt;c__AnonStorey40">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;BinaryTest_2&gt;c__asyncD+&lt;BinaryTest_2&gt;c__AnonStorey41">\r
-      <method name="Boolean &lt;&gt;m__25()" attrs="131">\r
+      <method name="Boolean &lt;&gt;m__0()" attrs="131">\r
         <size>24</size>\r
       </method>\r
-      <method name="Boolean &lt;&gt;m__26()" attrs="131">\r
+      <method name="Boolean &lt;&gt;m__1()" attrs="131">\r
         <size>24</size>\r
       </method>\r
-      <method name="Boolean &lt;&gt;m__27()" attrs="131">\r
+      <method name="Boolean &lt;&gt;m__2()" attrs="131">\r
         <size>24</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;CallTest_5&gt;c__async16+&lt;CallTest_5&gt;c__AnonStorey42">\r
-      <method name="Int32 &lt;&gt;m__38()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;EventInvoke_1&gt;c__async20+&lt;EventInvoke_1&gt;c__AnonStorey43">\r
-      <method name="System.Action &lt;&gt;m__47()" attrs="131">\r
+      <method name="System.Action &lt;&gt;m__0()" attrs="131">\r
         <size>23</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__48()" attrs="131">\r
+      <method name="Void &lt;&gt;m__1()" attrs="131">\r
         <size>9</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_3&gt;c__async24+&lt;IndexerTest_3&gt;c__AnonStorey44">\r
-      <method name="Int32 &lt;&gt;m__4E()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_4&gt;c__async25+&lt;IndexerTest_4&gt;c__AnonStorey45">\r
-      <method name="Int32 &lt;&gt;m__50()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_5&gt;c__async26+&lt;IndexerTest_5&gt;c__AnonStorey46">\r
-      <method name="Int32 &lt;&gt;m__52()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;IndexerTest_7&gt;c__async28+&lt;IndexerTest_7&gt;c__AnonStorey47">\r
-      <method name="Int32 &lt;&gt;m__57()" attrs="131">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
         <size>25</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;UnaryTest_2&gt;c__async3D+&lt;UnaryTest_2&gt;c__AnonStorey48">\r
-      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__7D()" attrs="131">\r
+      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__0()" attrs="131">\r
         <size>14</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
   </test>\r
   <test name="test-async-14.cs">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>222</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>232</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;TestResult&gt;c__async0">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;TestResult&gt;c__async0">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="C+&lt;Main&gt;c__async1">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-15.cs">\r
     <type name="S">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.String &lt;&gt;m__4()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;Using_1&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__5()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;Foreach_1&gt;c__async2">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>331</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Tester &lt;&gt;m__6()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;SwitchTest_1&gt;c__async0">\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__7()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;Using_1&gt;c__async1">\r
+      <method name="Base &lt;&gt;m__0()" attrs="145">\r
         <size>13</size>\r
       </method>\r
-      <method name="Base &lt;&gt;m__8()" attrs="145">\r
+      <method name="Tester &lt;&gt;m__1()" attrs="145">\r
         <size>13</size>\r
       </method>\r
-    </type>\r
-    <type name="Tester+&lt;Foreach_1&gt;c__async2">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>331</size>\r
+      <method name="Base &lt;&gt;m__2()" attrs="145">\r
+        <size>13</size>\r
       </method>\r
-      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+      <method name="Base &lt;&gt;m__3()" attrs="145">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Collections.Generic.List`1[System.Int32] &lt;&gt;m__9()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;Foreach_1&gt;c__async2">\r
+      <method name="System.Collections.Generic.List`1[System.Int32] &lt;&gt;m__0()" attrs="145">\r
         <size>36</size>\r
       </method>\r
     </type>\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>207</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__4()" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>199</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__5()" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>206</size>\r
       </method>\r
-      <method name="System.Threading.Tasks.Task &lt;&gt;m__6()" attrs="145">\r
-        <size>33</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_4&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>239</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__8()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_5&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>289</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__9()" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_6&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>243</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__A()" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_1&gt;c__async0">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__B()" attrs="145">\r
-        <size>7</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;TestException_3&gt;c__async2+&lt;TestException_3&gt;c__async7">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__7()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;TestException_1&gt;c__async0">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_2&gt;c__async1">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_3&gt;c__async2">\r
+      <method name="System.Threading.Tasks.Task &lt;&gt;m__0()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_4&gt;c__async3">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_5&gt;c__async4">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_6&gt;c__async5">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_7&gt;c__async6">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;TestException_3&gt;c__async2+&lt;TestException_3&gt;c__async7">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
         <size>7</size>\r
       </method>\r
     </type>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;Lambda_2&gt;c__async1+&lt;Lambda_2&gt;c__AnonStorey4">\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="131">\r
-        <size>26</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;Lambda_3&gt;c__async2`1+&lt;Lambda_3&gt;c__AnonStorey6`1[T]">\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
+    <type name="Tester+&lt;Lambda_2&gt;c__async1+&lt;Lambda_2&gt;c__AnonStorey4">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>26</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;Lambda_3&gt;c__async2`1+&lt;Lambda_3&gt;c__AnonStorey6`1[T]">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-19.cs">\r
     <type name="C">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;AssignCompound_1&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;Convert_1&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Object &lt;&gt;m__6()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
     </type>\r
     <type name="Tester+&lt;Invocation_1&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Object &lt;&gt;m__7()" attrs="145">\r
+    </type>\r
+    <type name="Tester+&lt;Add_1&gt;c__async0">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;AssignCompound_1&gt;c__async1">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;Convert_1&gt;c__async2">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;Invocation_1&gt;c__async3">\r
+      <method name="System.Object &lt;&gt;m__0()" attrs="145">\r
         <size>13</size>\r
       </method>\r
     </type>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;CompilationTestOnly&gt;c__AnonStorey0">\r
-      <method name="System.Threading.Tasks.Task`1[System.Int32] &lt;&gt;m__1()" attrs="131">\r
-        <size>15</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="System.Threading.Tasks.Task`1[System.Int32] &lt;&gt;m__0()" attrs="131">\r
+        <size>15</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-async-26.cs">\r
       </method>\r
     </type>\r
     <type name="C+&lt;Test2&gt;c__Iterator1+&lt;Test2&gt;c__AnonStorey5">\r
-      <method name="System.Threading.Tasks.Task`1[System.String] &lt;&gt;m__1()" attrs="131">\r
-        <size>41</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
         <size>26</size>\r
       </method>\r
     </type>\r
+    <type name="C+&lt;Test2&gt;c__Iterator1+&lt;Test2&gt;c__AnonStorey5">\r
+      <method name="System.Threading.Tasks.Task`1[System.String] &lt;&gt;m__0()" attrs="131">\r
+        <size>41</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-31.cs">\r
     <type name="C">\r
       </method>\r
     </type>\r
     <type name="C+&lt;M2&gt;c__async1+&lt;M2&gt;c__AnonStorey4">\r
-      <method name="Void &lt;&gt;m__2()" attrs="131">\r
-        <size>20</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>20</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-async-32.cs">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="Void &lt;&gt;m__1()" attrs="145">\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
         <size>2</size>\r
       </method>\r
     </type>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
-      <method name="System.Threading.Tasks.Task`1[System.Int32] &lt;&gt;m__1()" attrs="145">\r
-        <size>33</size>\r
-      </method>\r
     </type>\r
     <type name="AmbiguousGeneric+&lt;NestedVoidTestSuccess&gt;c__async0+&lt;NestedVoidTestSuccess&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="AmbiguousGeneric+&lt;NestedVoidTestSuccess&gt;c__async0">\r
+      <method name="System.Threading.Tasks.Task`1[System.Int32] &lt;&gt;m__0()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-42.cs">\r
     <type name="A">\r
       </method>\r
     </type>\r
     <type name="Tests+&lt;RefreshAsync&gt;c__AnonStorey1">\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>18</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="131">\r
+        <size>18</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-async-50.cs">\r
       <method name="System.Threading.Tasks.Task LoadPlayers()" attrs="129">\r
         <size>41</size>\r
       </method>\r
-      <method name="System.Action`1[Program+Player] &lt;LoadPlayers&gt;m__1(System.Action`1[Program+Player])" attrs="129">\r
-        <size>20</size>\r
-      </method>\r
-      <method name="Void &lt;LoadPlayers&gt;m__2(Program+Player)" attrs="129">\r
-        <size>13</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>18</size>\r
       </method>\r
         <size>2</size>\r
       </method>\r
     </type>\r
+    <type name="Program">\r
+      <method name="System.Action`1[Program+Player] &lt;LoadPlayers&gt;m__0(System.Action`1[Program+Player])" attrs="129">\r
+        <size>20</size>\r
+      </method>\r
+      <method name="Void &lt;LoadPlayers&gt;m__1(Program+Player)" attrs="129">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-async-52.cs">\r
+    <type name="ActualValueDelegate`1[T]">\r
+      <method name="T Invoke()" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="T EndInvoke(IAsyncResult)" attrs="454">\r
+        <size>0</size>\r
+      </method>\r
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">\r
+        <size>0</size>\r
+      </method>\r
+    </type>\r
+    <type name="X">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>37</size>\r
+      </method>\r
+      <method name="Boolean Matches[T](ActualValueDelegate`1[T])" attrs="145">\r
+        <size>30</size>\r
+      </method>\r
+      <method name="System.Threading.Tasks.Task Throw()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="System.Threading.Tasks.Task &lt;Main&gt;m__0()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Throw&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>157</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Main&gt;c__async3">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>160</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(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>\r
     </type>\r
     <type name="C+&lt;Test_Capturing_1&gt;c__AnonStorey0">\r
-      <method name="Int32 &lt;&gt;m__3()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-debug-15.cs">\r
       <method name="Void MoveNext()" attrs="486">\r
         <size>1229</size>\r
       </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
     </type>\r
     <type name="C+&lt;Test_1&gt;c__async0">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-debug-20.cs">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="X+&lt;Get&gt;c__Iterator2">\r
+    <type name="S+&lt;Get&gt;c__Iterator0">\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
+        <size>52</size>\r
+      </method>\r
+    </type>\r
+    <type name="S+&lt;GetS&gt;c__Iterator1">\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;Get&gt;c__Iterator0">\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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>154</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
+        <size>40</size>\r
+      </method>\r
       <method name="Void .ctor()" attrs="6278">\r
         <size>7</size>\r
       </method>\r
     </type>\r
-    <type name="X+&lt;GetS&gt;c__Iterator3">\r
+    <type name="X+&lt;GetS&gt;c__Iterator1">\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="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
-        <size>14</size>\r
-      </method>\r
       <method name="Boolean MoveNext()" attrs="486">\r
         <size>159</size>\r
       </method>\r
       <method name="Void Reset()" attrs="486">\r
         <size>6</size>\r
       </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="S+&lt;Get&gt;c__Iterator0">\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
-        <size>52</size>\r
-      </method>\r
-    </type>\r
-    <type name="S+&lt;GetS&gt;c__Iterator1">\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()" attrs="481">\r
+        <size>14</size>\r
       </method>\r
-    </type>\r
-    <type name="X+&lt;Get&gt;c__Iterator2">\r
       <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
         <size>40</size>\r
       </method>\r
-    </type>\r
-    <type name="X+&lt;GetS&gt;c__Iterator3">\r
-      <method name="System.Collections.Generic.IEnumerator`1[System.Object] System.Collections.Generic.IEnumerable&lt;object&gt;.GetEnumerator()" attrs="481">\r
-        <size>40</size>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
       </method>\r
     </type>\r
   </test>\r
index 386a14519f2528e7ca632ad30fc1aa1d713702be..377f94ec09cf2f7542ab9853042c6e8bfd9814b8 100644 (file)
 ï»¿\r
-Microsoft Visual Studio Solution File, Format Version 10.00\r
-# Visual Studio 2008\r
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2010\r
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-api-info", "mono-api-info.csproj", "{6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}"\r
 EndProject\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "..\..\class\Mono.Cecil\Mono.Cecil.csproj", "{D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}"\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "..\..\..\external\cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-api-html", "mono-api-html\mono-api-html.csproj", "{D25986E2-7A41-4966-A26D-5614BAC7B8A7}"\r
 EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Any CPU = Debug|Any CPU\r
                Release|Any CPU = Release|Any CPU\r
+               net_2_0_Debug|Any CPU = net_2_0_Debug|Any CPU\r
+               net_2_0_Release|Any CPU = net_2_0_Release|Any CPU\r
+               net_3_5_Debug|Any CPU = net_3_5_Debug|Any CPU\r
+               net_3_5_Release|Any CPU = net_3_5_Release|Any CPU\r
+               net_4_0_Debug|Any CPU = net_4_0_Debug|Any CPU\r
+               net_4_0_Release|Any CPU = net_4_0_Release|Any CPU\r
+               silverlight_Debug|Any CPU = silverlight_Debug|Any CPU\r
+               silverlight_Release|Any CPU = silverlight_Release|Any CPU\r
+               winphone_Debug|Any CPU = winphone_Debug|Any CPU\r
+               winphone_Release|Any CPU = winphone_Release|Any CPU\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
                {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_2_0_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_2_0_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_2_0_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_3_5_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_3_5_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_3_5_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_4_0_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_4_0_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.net_4_0_Release|Any CPU.Build.0 = Debug|Any CPU\r
                {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.Release|Any CPU.Build.0 = Release|Any CPU\r
-               {D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
-               {D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
-               {D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
-               {D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.silverlight_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.silverlight_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.silverlight_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.silverlight_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.winphone_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.winphone_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.winphone_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {6446D5E1-8F4E-4692-8EF3-B1D4CA290ECF}.winphone_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_2_0_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_2_0_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_2_0_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_3_5_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_3_5_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_3_5_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_4_0_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_4_0_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.net_4_0_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.silverlight_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.silverlight_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.silverlight_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.silverlight_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.winphone_Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.winphone_Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.winphone_Release|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {D25986E2-7A41-4966-A26D-5614BAC7B8A7}.winphone_Release|Any CPU.Build.0 = Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_2_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_2_0_Debug|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_2_0_Debug|Any CPU.Build.0 = net_2_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_2_0_Release|Any CPU.ActiveCfg = net_2_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_2_0_Release|Any CPU.Build.0 = net_2_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_2_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.Build.0 = net_2_0_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.silverlight_Debug|Any CPU.ActiveCfg = silverlight_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.silverlight_Debug|Any CPU.Build.0 = silverlight_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.silverlight_Release|Any CPU.ActiveCfg = silverlight_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.silverlight_Release|Any CPU.Build.0 = silverlight_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.winphone_Debug|Any CPU.ActiveCfg = winphone_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.winphone_Debug|Any CPU.Build.0 = winphone_Debug|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.winphone_Release|Any CPU.ActiveCfg = winphone_Release|Any CPU\r
+               {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.winphone_Release|Any CPU.Build.0 = winphone_Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(MonoDevelopProperties) = preSolution\r
+               StartupItem = mono-api-html\mono-api-html.csproj\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
diff --git a/mcs/tools/corcompare/mono-api-html/ApiDiff.cs b/mcs/tools/corcompare/mono-api-html/ApiDiff.cs
new file mode 100644 (file)
index 0000000..ecfccea
--- /dev/null
@@ -0,0 +1,101 @@
+//
+// The main differences with mono-api-diff are:
+// * this tool directly produce HTML similar to gdiff.sh used for Xamarin.iOS
+// * this tool reports changes in an "evolutionary" way, not in a breaking way,
+//   i.e. it does not assume the source assembly is right (but simply older)
+// * the diff .xml output was not easy to convert back into the HTML format
+//   that gdiff.sh produced
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.IO;
+
+namespace Xamarin.ApiDiff {
+
+       public static class State {
+               static TextWriter output;
+
+               public static TextWriter Output { 
+                       get {
+                               if (output == null)
+                                       output = Console.Out;
+                               return output;
+                       }
+                       set { output = value; } 
+               }
+
+               public static string Assembly { get; set; }
+               public static string Namespace { get; set; }
+               public static string Type { get; set; }
+               public static string BaseType { get; set; }
+
+               public static int Indent { get; set; }
+       }
+
+       class Program {
+
+               public static int Main (string[] args)
+               {
+                       if (args.Length < 2) {
+                               Console.WriteLine ("mono-api-html reference.xml assembly.xml [diff.html]");
+                               return 1;
+                       }
+
+                       try {
+                               string input = args [0];
+                               string output = args [1];
+                               var ac = new AssemblyComparer (input, output);
+                               if (args.Length > 2) {
+                                       string diff = String.Empty;
+                                       using (var writer = new StringWriter ()) {
+                                               State.Output = writer;
+                                               ac.Compare ();
+                                               diff = State.Output.ToString ();
+                                       }
+                                       if (diff.Length > 0) {
+                                               using (var file = new StreamWriter (args [2])) {
+                                                       if (ac.SourceAssembly == ac.TargetAssembly) {
+                                                               file.WriteLine ("<h1>{0}.dll</h1>", ac.SourceAssembly);
+                                                       } else {
+                                                               file.WriteLine ("<h1>{0}.dll vs {1}.dll</h1>", ac.SourceAssembly, ac.TargetAssembly);
+                                                       }
+                                                       file.Write (diff);
+                                               }
+                                       }
+                               } else {
+                                       State.Output = Console.Out;
+                                       ac.Compare ();
+                               }
+                       }
+                       catch (Exception e) {
+                               Console.WriteLine (e);
+                               return 1;
+                       }
+                       return 0;
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/AssemblyComparer.cs b/mcs/tools/corcompare/mono-api-html/AssemblyComparer.cs
new file mode 100644 (file)
index 0000000..e083c27
--- /dev/null
@@ -0,0 +1,78 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class AssemblyComparer : Comparer {
+
+               XDocument source;
+               XDocument target;
+               NamespaceComparer comparer;
+
+               public AssemblyComparer (string sourceFile, string targetFile)
+               {
+                       source = XDocument.Load (sourceFile);
+                       target = XDocument.Load (targetFile);
+                       comparer =  new NamespaceComparer ();
+               }
+
+               public string SourceAssembly { get; private set; }
+               public string TargetAssembly { get; private set; }
+
+               public void Compare ()
+               {
+                       Compare (source.Element ("assemblies").Elements ("assembly"), 
+                                target.Element ("assemblies").Elements ("assembly"));
+               }
+
+               public override void SetContext (XElement current)
+               {
+                       State.Assembly = current.GetAttribute ("name");
+               }
+
+               public override void Added (XElement target)
+               {
+                       // one assembly per xml file
+               }
+
+               public override void Modified (XElement source, XElement target)
+               {
+                       SourceAssembly = source.GetAttribute ("name");
+                       TargetAssembly = target.GetAttribute ("name");
+                       // TODO: version
+                       // ? custom attributes ?
+                       comparer.Compare (source, target);
+               }
+
+               public override void Removed (XElement source)
+               {
+                       // one assembly per xml file
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/ClassComparer.cs b/mcs/tools/corcompare/mono-api-html/ClassComparer.cs
new file mode 100644 (file)
index 0000000..bdf22fe
--- /dev/null
@@ -0,0 +1,245 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.IO;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class ClassComparer : Comparer {
+
+               InterfaceComparer icomparer;
+               ConstructorComparer ccomparer;
+               FieldComparer fcomparer;
+               PropertyComparer pcomparer;
+               EventComparer ecomparer;
+               MethodComparer mcomparer;
+               ClassComparer kcomparer;
+
+               public ClassComparer ()
+               {
+                       icomparer = new InterfaceComparer ();
+                       ccomparer = new ConstructorComparer ();
+                       fcomparer = new FieldComparer ();
+                       pcomparer = new PropertyComparer ();
+                       ecomparer = new EventComparer ();
+                       mcomparer = new MethodComparer ();
+               }
+
+               public override void SetContext (XElement current)
+               {
+                       State.Type = current.GetAttribute ("name");
+                       State.BaseType = current.GetAttribute ("base");
+               }
+
+               public void Compare (XElement source, XElement target)
+               {
+                       var s = source.Element ("classes");
+                       var t = target.Element ("classes");
+                       if (XNode.DeepEquals (s, t))
+                               return;
+                       Compare (s.Elements ("class"), t.Elements ("class"));
+               }
+
+               public override void Added (XElement target)
+               {
+                       Output.WriteLine ("<h3>New Type {0}.{1}</h3>", State.Namespace, target.Attribute ("name").Value);
+                       Output.WriteLine ("<pre>");
+                       State.Indent = 0;
+                       AddedInner (target);
+                       Output.WriteLine ("</pre>");
+               }
+
+               public void AddedInner (XElement target)
+               {
+                       SetContext (target);
+                       if (target.IsTrue ("serializable"))
+                               Indent ().WriteLine ("[Serializable]");
+
+                       var type = target.Attribute ("type").Value;
+
+                       if (type == "enum") {
+                               // check if [Flags] is present
+                               var cattrs = target.Element ("attributes");
+                               if (cattrs != null) {
+                                       foreach (var ca in cattrs.Elements ("attribute")) {
+                                               if (ca.GetAttribute ("name") == "System.FlagsAttribute") {
+                                                       Indent ().WriteLine ("[Flags]");
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+
+                       Indent ().Write ("public");
+
+                       if (type != "enum") {
+                               bool seal = target.IsTrue ("sealed");
+                               bool abst = target.IsTrue ("abstract");
+                               if (seal && abst)
+                                       Output.Write (" static");
+                               else if (seal && type != "struct")
+                                       Output.Write (" sealed");
+                               else if (abst && type != "interface")
+                                       Output.Write (" abstract");
+                       }
+
+                       Output.Write (' ');
+                       Output.Write (type);
+                       Output.Write (' ');
+                       Output.Write (target.GetAttribute ("name"));
+
+                       var baseclass = target.GetAttribute ("base");
+                       if ((type != "enum") && (type != "struct")) {
+                               if (baseclass != null) {
+                                       if (baseclass == "System.Object") {
+                                               // while true we do not need to be reminded every time...
+                                               baseclass = null;
+                                       } else {
+                                               Output.Write (" : ");
+                                               Output.Write (baseclass);
+                                       }
+                               }
+                       }
+
+                       // interfaces on enums are "standard" not user provided - so we do not want to show them
+                       if (type != "enum") {
+                               var i = target.Element ("interfaces");
+                               if (i != null) {
+                                       var interfaces = new List<string> ();
+                                       foreach (var iface in i.Elements ("interface"))
+                                               interfaces.Add (icomparer.GetDescription (iface));
+                                       Output.Write ((baseclass == null) ? " : " : ", ");
+                                       Output.Write (String.Join (", ", interfaces));
+                               }
+                       }
+
+                       Output.WriteLine (" {");
+
+                       var t = target.Element ("constructors");
+                       if (t != null) {
+                               Indent ().WriteLine ("\t// constructors");
+                               foreach (var ctor in t.Elements ("constructor"))
+                                       ccomparer.Added (ctor);
+                       }
+
+                       t = target.Element ("fields");
+                       if (t != null) {
+                               if (type != "enum")
+                                       Indent ().WriteLine ("\t// fields");
+                               else
+                                       SetContext (target);
+                               foreach (var field in t.Elements ("field"))
+                                       fcomparer.Added (field);
+                       }
+
+                       t = target.Element ("properties");
+                       if (t != null) {
+                               Indent ().WriteLine ("\t// properties");
+                               foreach (var property in t.Elements ("property"))
+                                       pcomparer.Added (property);
+                       }
+
+                       t = target.Element ("events");
+                       if (t != null) {
+                               Indent ().WriteLine ("\t// events");
+                               foreach (var evnt in t.Elements ("event"))
+                                       ecomparer.Added (evnt);
+                       }
+
+                       t = target.Element ("methods");
+                       if (t != null) {
+                               Indent ().WriteLine ("\t// methods");
+                               foreach (var method in t.Elements ("method"))
+                                       mcomparer.Added (method);
+                       }
+
+                       t = target.Element ("classes");
+                       if (t != null) {
+                               Output.WriteLine ();
+                               Indent ().WriteLine ("\t// inner types");
+                               kcomparer = new NestedClassComparer ();
+                               State.Indent++;
+                               foreach (var inner in t.Elements ("class"))
+                                       kcomparer.AddedInner (inner);
+                               State.Indent--;
+                       }
+                       Indent ().WriteLine ("}");
+               }
+
+               public override void Modified (XElement source, XElement target)
+               {
+                       // hack - there could be changes that we're not monitoring (e.g. attributes properties)
+                       var output = Output;
+                       State.Output = new StringWriter ();
+
+                       ccomparer.Compare (source, target);
+                       icomparer.Compare (source, target);
+                       fcomparer.Compare (source, target);
+                       pcomparer.Compare (source, target);
+                       ecomparer.Compare (source, target);
+                       mcomparer.Compare (source, target);
+
+                       var si = source.Element ("classes");
+                       if (si != null) {
+                               var ti = target.Element ("classes");
+                               kcomparer = new NestedClassComparer ();
+                               kcomparer.Compare (si.Elements ("class"), ti == null ? null : ti.Elements ("class"));
+                       }
+
+                       var s = (Output as StringWriter).ToString ();
+                       State.Output = output;
+                       if (s.Length > 0) {
+                               Output.WriteLine ("<h3>Type Changed: {0}.{1}</h3>", State.Namespace, GetTypeName (target));
+                               Output.WriteLine (s);
+                       }
+               }
+
+               public override void Removed (XElement source)
+               {
+                       Output.WriteLine ("<h3>Removed Type {0}.{1}", State.Namespace, GetTypeName (source));
+               }
+
+               public virtual string GetTypeName (XElement type)
+               {
+                       return type.GetAttribute ("name");
+               }
+       }
+
+       public class NestedClassComparer : ClassComparer {
+
+               public override void SetContext (XElement current)
+               {
+               }
+
+               public override string GetTypeName (XElement type)
+               {
+                       return State.Type + "." + base.GetTypeName (type);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/Comparer.cs b/mcs/tools/corcompare/mono-api-html/Comparer.cs
new file mode 100644 (file)
index 0000000..7869637
--- /dev/null
@@ -0,0 +1,96 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.IO;
+using System.Linq;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public abstract class Comparer {
+
+               protected List<XElement> removed = new List<XElement> ();
+
+               public TextWriter Output {
+                       get { return State.Output; }
+               }
+
+               protected TextWriter Indent ()
+               {
+                       for (int i = 0; i < State.Indent; i++)
+                               State.Output.Write ("\t");
+                       return State.Output;
+               }
+
+               public abstract void Added (XElement target);
+               public abstract void Modified (XElement source, XElement target);
+               public abstract void Removed (XElement source);
+
+               public virtual bool Equals (XElement source, XElement target)
+               {
+                       return XNode.DeepEquals (source, target);
+               }
+
+               public abstract void SetContext (XElement current);
+
+               public virtual void Compare (IEnumerable<XElement> source, IEnumerable<XElement> target)
+               {
+                       removed.Clear ();
+
+                       foreach (var s in source) {
+                               SetContext (s);
+                               string sn = s.GetAttribute ("name");
+                               var t = target == null ? null : target.SingleOrDefault (x => x.GetAttribute ("name") == sn);
+                               if (t == null) {
+                                       // not in target, it was removed
+                                       removed.Add (s);
+                               } else {
+                                       t.Remove ();
+                                       // possibly modified
+                                       if (Equals (s, t))
+                                               continue;
+
+                                       // still in target so will be part of Added
+                                       Modified (s, t);
+                               }
+                       }
+                       // delayed, that way we show "Modified", "Added" and then "Removed"
+                       foreach (var item in removed) {
+                               SetContext (item);
+                               Removed (item);
+                       }
+                       // remaining == newly added in target
+                       if (target != null) {
+                               foreach (var item in target) {
+                                       SetContext (item);
+                                       Added (item);
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/ConstructorComparer.cs b/mcs/tools/corcompare/mono-api-html/ConstructorComparer.cs
new file mode 100644 (file)
index 0000000..93c4dbd
--- /dev/null
@@ -0,0 +1,114 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Reflection;
+using System.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class ConstructorComparer : MemberComparer {
+
+               public override string GroupName {
+                       get { return "constructors"; }
+               }
+
+               public override string ElementName {
+                       get { return "constructor"; }
+               }
+
+               public override bool Find (XElement e)
+               {
+                       return (e.Attribute ("name").Value == Source.Attribute ("name").Value);
+               }
+
+               public override string GetDescription (XElement e)
+               {
+                       StringBuilder sb = GetObsoleteMessage (e);
+                       bool obsolete = sb.Length > 0;
+
+                       var attribs = e.Attribute ("attrib");
+                       if (attribs != null) {
+                               var attr = (MethodAttributes) Int32.Parse (attribs.Value);
+                               if ((attr & MethodAttributes.Public) != MethodAttributes.Public) {
+                                       sb.Append ("protected ");
+                               } else {
+                                       sb.Append ("public ");
+                               }
+
+                               if ((attr & MethodAttributes.Static) != 0) {
+                                       sb.Append ("static ");
+                               } else if ((attr & MethodAttributes.Virtual) != 0) {
+                                       if ((attr & MethodAttributes.VtableLayoutMask) == 0)
+                                               sb.Append ("override ");
+                                       else
+                                               sb.Append ("virtual ");
+                               }
+                       }
+
+                       string name = e.GetAttribute ("name");
+
+                       var r = e.GetTypeName ("returntype");
+                       if (r != null) {
+                               // ctor dont' have a return type
+                               sb.Append (r).Append (' ');
+                       } else {
+                               // show the constructor as it would be defined in C#
+                               name = name.Replace (".ctor", State.Type);
+                       }
+
+                       // the XML file `name` does not contain parameter names, so we must process them ourselves
+                       // which gives us the opportunity to simplify type names
+                       sb.Append (name.Substring (0, name.IndexOf ('(')));
+
+                       var genericp = e.Element ("generic-parameters");
+                       if (genericp != null) {
+                               var list = new List<string> ();
+                               foreach (var p in genericp.Elements ("generic-parameter")) {
+                                       list.Add (p.GetTypeName ("name"));
+                               }
+                               sb.Append ("&lt;").Append (String.Join (", ", list)).Append ("&gt;");
+                       }
+
+                       sb.Append (" (");
+                       var parameters = e.Element ("parameters");
+                       if (parameters != null) {
+                               var list = new List<string> ();
+                               foreach (var p in parameters.Elements ("parameter")) {
+                                       list.Add (p.GetTypeName ("type") + " " + p.GetAttribute ("name"));
+                               }
+                               sb.Append (String.Join (", ", list));
+                       }
+                       sb.Append (");");
+
+                       if (obsolete)
+                               sb.AppendLine (); // more readable output
+                       return sb.ToString ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/EventComparer.cs b/mcs/tools/corcompare/mono-api-html/EventComparer.cs
new file mode 100644 (file)
index 0000000..c7d1e8b
--- /dev/null
@@ -0,0 +1,53 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class EventComparer : MemberComparer {
+
+               public override string GroupName {
+                       get { return "events"; }
+               }
+
+               public override string ElementName {
+                       get { return "event"; }
+               }
+
+               public override string GetDescription (XElement e)
+               {
+                       StringBuilder sb = GetObsoleteMessage (e);
+                       // TODO: attribs
+                       sb.Append ("public event ");
+                       sb.Append (e.GetTypeName ("eventtype")).Append (' ');
+                       sb.Append (e.GetAttribute ("name")).Append (';');
+                       return sb.ToString ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/FieldComparer.cs b/mcs/tools/corcompare/mono-api-html/FieldComparer.cs
new file mode 100644 (file)
index 0000000..54942b6
--- /dev/null
@@ -0,0 +1,100 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Reflection;
+using System.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class FieldComparer : MemberComparer {
+
+               public override string GroupName {
+                       get { return "fields"; }
+               }
+
+               public override string ElementName {
+                       get { return "field"; }
+               }
+
+               public override string GetDescription (XElement e)
+               {
+                       var sb = GetObsoleteMessage (e);
+                       bool obsolete = sb.Length > 0;
+
+                       string name = e.GetAttribute ("name");
+                       string value = e.GetAttribute ("value");
+
+                       if (State.BaseType == "System.Enum") {
+                               sb.Append (name).Append (" = ").Append (value).Append (',');
+                       } else {
+                               var attribs = e.Attribute ("attrib");
+                               if (attribs != null) {
+                                       var attr = (FieldAttributes)Int32.Parse (attribs.Value);
+                                       if ((attr & FieldAttributes.Public) != FieldAttributes.Public) {
+                                               sb.Append ("protected ");
+                                       } else {
+                                               sb.Append ("public ");
+                                       }
+
+                                       if ((attr & FieldAttributes.Static) != 0)
+                                               sb.Append ("static ");
+
+                                       if ((attr & FieldAttributes.Literal) != 0)
+                                               sb.Append ("const ");
+                               }
+
+                               string ftype = e.GetTypeName ("fieldtype");
+                               sb.Append (ftype).Append (' ');
+                               sb.Append (name);
+                               if (ftype == "string")
+                                       sb.Append (" = \"").Append (e.Attribute ("value").Value).Append ('"');
+                               sb.Append (';');
+                       }
+
+                       if (obsolete)
+                               sb.AppendLine (); // more readable output
+                       return sb.ToString ();
+               }
+
+               public override void BeforeAdding ()
+               {
+                       if (State.BaseType == "System.Enum")
+                               Output.WriteLine ("<p>Added values:</p><pre>");
+                       else
+                               base.BeforeAdding ();
+               }
+
+               public override void BeforeRemoving ()
+               {
+                       if (State.BaseType == "System.Enum")
+                               Output.WriteLine ("<p>Removed values:</p><pre>");
+                       else
+                               base.BeforeRemoving ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/Helpers.cs b/mcs/tools/corcompare/mono-api-html/Helpers.cs
new file mode 100644 (file)
index 0000000..098b29b
--- /dev/null
@@ -0,0 +1,130 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public static class Helper {
+
+               public static bool IsTrue (this XElement self, string name)
+               {
+                       return (self.GetAttribute (name) == "true");
+               }
+
+               public static string GetAttribute (this XElement self, string name)
+               {
+                       var n = self.Attribute (name);
+                       if (n == null)
+                               return null;
+                       return n.Value;
+               }
+
+               // null == no obsolete, String.Empty == no description
+               public static string GetObsoleteMessage (this XElement self)
+               {
+                       var cattrs = self.Element ("attributes");
+                       if (cattrs == null)
+                               return null;
+
+                       foreach (var ca in cattrs.Elements ("attribute")) {
+                               if (ca.GetAttribute ("name") != "System.ObsoleteAttribute")
+                                       continue;
+                               var props = ca.Element ("properties");
+                               if (props == null)
+                                       return String.Empty; // no description
+                               foreach (var p in props.Elements ("property")) {
+                                       if (p.GetAttribute ("name") != "Message")
+                                               continue;
+                                       return p.GetAttribute ("value");
+                               }
+                       }
+                       return null;
+               }
+
+               // make it beautiful (.NET -> C#)
+               public static string GetTypeName (this XElement self, string name)
+               {
+                       string type = self.GetAttribute (name);
+                       if (type == null)
+                               return null;
+
+                       // inner types
+                       return GetTypeName (type.Replace ('+', '.'));
+               }
+
+               static string GetTypeName (string type)
+               {
+                       if (type.StartsWith ("System.Nullable`1[", StringComparison.Ordinal))
+                               return type.Substring (18, type.Length - 19) + "?";
+
+                       int pos = type.IndexOf ('`');
+                       if (pos >= 0) {
+                               int end = type.LastIndexOf (']');
+                               string subtype = type.Substring (pos + 3, end - pos - 3);
+                               return type.Substring (0, pos) + "&lt;" + GetTypeName (subtype) + "&gt;";
+                       }
+
+                       switch (type) {
+                       case "System.String":
+                               return "string";
+                       case "System.Int32":
+                               return "int";
+                       case "System.UInt32":
+                               return "uint";
+                       case "System.Int64":
+                               return "long";
+                       case "System.UInt64":
+                               return "ulong";
+                       case "System.Void":
+                               return "void";
+                       case "System.Boolean":
+                               return "bool";
+                       case "System.Object":
+                               return "object";
+                       case "System.Single":
+                               return "float";
+                       case "System.Double":
+                               return "double";
+                       case "System.Byte":
+                               return "byte";
+                       case "System.SByte":
+                               return "sbyte";
+                       case "System.Int16":
+                               return "short";
+                       case "System.UInt16":
+                               return "ushort";
+                       case "System.Char":
+                               return "char";
+                       default:
+                               if (type.StartsWith (State.Namespace, StringComparison.Ordinal))
+                                       type = type.Substring (State.Namespace.Length + 1);
+                               return type;
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/InterfaceComparer.cs b/mcs/tools/corcompare/mono-api-html/InterfaceComparer.cs
new file mode 100644 (file)
index 0000000..df52f16
--- /dev/null
@@ -0,0 +1,47 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class InterfaceComparer : MemberComparer {
+
+               public override string GroupName {
+                       get { return "interfaces"; }
+               }
+
+               public override string ElementName {
+                       get { return "interface"; }
+               }
+
+               public override string GetDescription (XElement e)
+               {
+                       return e.GetTypeName ("name");
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/MemberComparer.cs b/mcs/tools/corcompare/mono-api-html/MemberComparer.cs
new file mode 100644 (file)
index 0000000..8dcdff5
--- /dev/null
@@ -0,0 +1,178 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Linq;
+using System.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public abstract class MemberComparer : Comparer {
+
+               public abstract string GroupName { get; }
+               public abstract string ElementName { get; }
+
+               public void Compare (XElement source, XElement target)
+               {
+                       var s = source.Element (GroupName);
+                       var t = target.Element (GroupName);
+                       if (XNode.DeepEquals (s, t))
+                               return;
+
+                       if (s == null) {
+                               BeforeAdding ();
+                               foreach (var item in t.Elements (ElementName))
+                                       Added (item);
+                               AfterAdding ();
+                       } else if (t == null) {
+                               BeforeRemoving ();
+                               foreach (var item in s.Elements (ElementName))
+                                       Removed (item);
+                               AfterRemoving ();
+                       } else {
+                               Compare (s.Elements (ElementName), t.Elements (ElementName));
+                       }
+               }
+
+               public override void SetContext (XElement current)
+               {
+               }
+
+               public XElement Source { get; set; }
+
+               public virtual bool Find (XElement e)
+               {
+                       return e.GetAttribute ("name") == Source.GetAttribute ("name");
+               }
+
+               public override void Compare (IEnumerable<XElement> source, IEnumerable<XElement> target)
+               {
+                       removed.Clear ();
+
+                       foreach (var s in source) {
+                               SetContext (s);
+                               Source = s;
+                               var t = target.SingleOrDefault (Find);
+                               if (t == null) {
+                                       // not in target, it was removed
+                                       removed.Add (s);
+                               } else {
+                                       // possibly modified
+                                       if (Equals (s, t)) {
+                                               t.Remove ();
+                                               continue;
+                                       }
+
+                                       // still in target so will be part of Added
+                                       removed.Add (s);
+                                       Modified (s, t);
+                               }
+                       }
+                       // delayed, that way we show "Modified", "Added" and then "Removed"
+                       bool r = false;
+                       foreach (var item in removed) {
+                               SetContext (item);
+                               if (!r) {
+                                       BeforeRemoving ();
+                                       r = true;
+                               }
+                               Removed (item);
+                       }
+                       if (r)
+                               AfterRemoving ();
+                       // remaining == newly added in target
+                       bool a = false;
+                       foreach (var item in target) {
+                               SetContext (item);
+                               if (!a) {
+                                       BeforeAdding ();
+                                       a = true;
+                               }
+                               Added (item);
+                       }
+                       if (a)
+                               AfterAdding ();
+               }
+
+               public abstract string GetDescription (XElement e);
+
+               protected StringBuilder GetObsoleteMessage (XElement e)
+               {
+                       var sb = new StringBuilder ();
+                       string o = e.GetObsoleteMessage ();
+                       if (o != null) {
+                               sb.Append ("[Obsolete (\"").Append (o).AppendLine ("\")]");
+                               for (int i = 0; i < State.Indent + 1; i++)
+                                       sb.Append ('\t');
+                       }
+                       return sb;
+               }
+
+               public override bool Equals (XElement source, XElement target)
+               {
+                       if (base.Equals (source, target))
+                               return true;
+
+                       return GetDescription (source) == GetDescription (target);
+               }
+
+               public virtual void BeforeAdding ()
+               {
+                       Output.WriteLine ("<p>Added {0}:</p><pre>", GroupName);
+               }
+
+               public override void Added (XElement target)
+               {
+                       Indent ().WriteLine ("\t{0}", GetDescription (target));
+               }
+
+               public virtual void AfterAdding ()
+               {
+                       Output.WriteLine ("</pre>");
+               }
+
+               public override void Modified (XElement source, XElement target)
+               {
+               }
+
+               public virtual void BeforeRemoving ()
+               {
+                       Output.WriteLine ("<p>Removed {0}:</p><pre>", GroupName);
+               }
+
+               public override void Removed (XElement source)
+               {
+                       Indent ().WriteLine ("\t{0}", GetDescription (source));
+               }
+
+               public virtual void AfterRemoving ()
+               {
+                       Output.WriteLine ("</pre>");
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/MethodComparer.cs b/mcs/tools/corcompare/mono-api-html/MethodComparer.cs
new file mode 100644 (file)
index 0000000..fb28c40
--- /dev/null
@@ -0,0 +1,49 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class MethodComparer : ConstructorComparer {
+
+               public override string GroupName {
+                       get { return "methods"; }
+               }
+
+               public override string ElementName {
+                       get { return "method"; }
+               }
+
+               // operators have identical names but vary by return types
+               public override bool Find (XElement e)
+               {
+                       return (e.GetAttribute ("name") == Source.GetAttribute ("name")) &&
+                               (e.GetAttribute ("returntype") == Source.GetAttribute ("returntype"));
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/NamespaceComparer.cs b/mcs/tools/corcompare/mono-api-html/NamespaceComparer.cs
new file mode 100644 (file)
index 0000000..7239385
--- /dev/null
@@ -0,0 +1,90 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.IO;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class NamespaceComparer : Comparer {
+
+               ClassComparer comparer;
+
+               public NamespaceComparer ()
+               {
+                       comparer =  new ClassComparer ();
+               }
+
+               public void Compare (XElement source, XElement target)
+               {
+                       var s = source.Element ("namespaces");
+                       var t = target.Element ("namespaces");
+                       if (XNode.DeepEquals (s, t))
+                               return;
+                       Compare (s.Elements ("namespace"), t.Elements ("namespace"));
+               }
+
+               public override void SetContext (XElement current)
+               {
+                       State.Namespace = current.Attribute ("name").Value;
+               }
+
+               public override void Added (XElement target)
+               {
+                       Output.WriteLine ("<h2>New Namespace {0}</h2>", target.Attribute ("name").Value);
+                       Output.WriteLine ();
+                       // list all new types
+                       foreach (var addedType in target.Element ("classes").Elements ("class"))
+                               comparer.Added (addedType);
+                       Output.WriteLine ();
+               }
+
+               public override void Modified (XElement source, XElement target)
+               {
+                       var output = Output;
+                       State.Output = new StringWriter ();
+                       comparer.Compare (source, target);
+
+                       var s = Output.ToString ();
+                       State.Output = output;
+                       if (s.Length > 0) {
+                               Output.WriteLine ("<h2>Namespace {0}</h2>", target.Attribute ("name").Value);
+                               Output.WriteLine (s);
+                       }
+               }
+
+               public override void Removed (XElement source)
+               {
+                       Output.WriteLine ("<h2>Removed Namespace {0}</h2>", source.Attribute ("name").Value);
+                       Output.WriteLine ();
+                       // list all removed types
+                       foreach (var removedType in source.Element ("classes").Elements ("class"))
+                               comparer.Removed (removedType);
+                       Output.WriteLine ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/PropertyComparer.cs b/mcs/tools/corcompare/mono-api-html/PropertyComparer.cs
new file mode 100644 (file)
index 0000000..0971e71
--- /dev/null
@@ -0,0 +1,97 @@
+// 
+// Authors
+//    Sebastien Pouliot  <sebastien@xamarin.com>
+//
+// Copyright 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.Reflection;
+using System.Text;
+using System.Xml.Linq;
+
+namespace Xamarin.ApiDiff {
+
+       public class PropertyComparer : MemberComparer {
+
+               public override string GroupName {
+                       get { return "properties"; }
+               }
+
+               public override string ElementName {
+                       get { return "property"; }
+               }
+
+               public override bool Find (XElement e)
+               {
+                       if (!base.Find (e))
+                               return false;
+                       // the same Item (indexer) property can have different parameters
+                       return e.GetAttribute ("params") == Source.GetAttribute ("params");
+               }
+
+               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;
+                       var methods = e.Element ("methods");
+                       if (methods != null) {
+                               foreach (var m in methods.Elements ("method")) {
+                                       virt |= m.IsTrue ("virtual");
+                                       stat |= 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;
+                               }
+                       }
+
+                       var sb = GetObsoleteMessage (e);
+                       bool obsolete = sb.Length > 0;
+
+                       sb.Append (family ? "protected " : "public ");
+                       if (virt)
+                               sb.Append (over ? "override " : "virtual ");
+                       else if (stat)
+                               sb.Append ("static ");
+                       sb.Append (ptype).Append (' ').Append (name).Append (" { ");
+                       if (getter)
+                               sb.Append ("get; ");
+                       if (setter)
+                               sb.Append ("set; ");
+                       sb.Append ("}");
+
+                       if (obsolete)
+                               sb.AppendLine (); // more readable output
+                       return sb.ToString ();
+               }
+       }
+}
\ No newline at end of file
diff --git a/mcs/tools/corcompare/mono-api-html/mono-api-html.csproj b/mcs/tools/corcompare/mono-api-html/mono-api-html.csproj
new file mode 100644 (file)
index 0000000..6a205f2
--- /dev/null
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>10.0.0</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D25986E2-7A41-4966-A26D-5614BAC7B8A7}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>Xamarin.ApiDiff</RootNamespace>
+    <AssemblyName>mono-api-html</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <Commandlineparameters>../../../6.4.5.xml ../../../7.0.2.xml</Commandlineparameters>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>full</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Externalconsole>true</Externalconsole>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Helpers.cs" />
+    <Compile Include="InterfaceComparer.cs" />
+    <Compile Include="NamespaceComparer.cs" />
+    <Compile Include="MemberComparer.cs" />
+    <Compile Include="FieldComparer.cs" />
+    <Compile Include="PropertyComparer.cs" />
+    <Compile Include="EventComparer.cs" />
+    <Compile Include="MethodComparer.cs" />
+    <Compile Include="ConstructorComparer.cs" />
+    <Compile Include="Comparer.cs" />
+    <Compile Include="AssemblyComparer.cs" />
+    <Compile Include="ClassComparer.cs" />
+    <Compile Include="ApiDiff.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
index 1596015470e1372724a2fc19575f28fdab1ee966..44ef75821a1f923b5bf00fffd867b7754b6ca601 100644 (file)
@@ -56,7 +56,7 @@
     <Reference Include="System.Core">\r
       <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
     </Reference>\r
-    <Reference Include="System.XML" />\r
+    <Reference Include="System.Xml" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Compile Include="AssemblyResolver.cs" />\r
       <Install>true</Install>\r
     </BootstrapperPackage>\r
   </ItemGroup>\r
-  <ItemGroup>\r
-    <ProjectReference Include="..\..\..\external\cecil\Mono.Cecil.csproj">\r
-      <Project>{d68133bd-1e63-496e-9ede-4fbdbf77b486}</Project>\r
-      <Name>Mono.Cecil</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <None Include="app.config" />\r
-  </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\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="AfterBuild">\r
   </Target>\r
   -->\r
+  <ItemGroup>\r
+    <ProjectReference Include="..\..\..\external\cecil\Mono.Cecil.csproj">\r
+      <Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>\r
+      <Name>Mono.Cecil</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
 </Project>
\ No newline at end of file
index 5cea341b09980ebd629fcbe1774bf8f6a2f74577..a4fc201636888a0d7b8ce95e27a394325a1c69b9 100644 (file)
@@ -106,6 +106,12 @@ namespace Mono.Linker.Steps {
                                        // Copy means even if "unlinked" we still want that assembly to be saved back 
                                        // to disk (OutputStep) without the (removed) reference
                                        Annotations.SetAction (assembly, AssemblyAction.Save);
+                                       // note: we only enter here (Copy->Save once) so we nned to do the complete job
+                                       foreach (TypeReference tr in assembly.MainModule.GetTypeReferences ()) {
+                                               var td = tr.Resolve ();
+                                               // at this stage reference might include things that can't be resolved
+                                               tr.Scope = td == null ? null : assembly.MainModule.Import (td).Scope;
+                                       }
                                }
                                return;
                        }
index 65e7f26fa91ca37d7dc3655b03fe3063d6877900..40b683600311feffd744b79d3a38db0a50d4ca5e 100644 (file)
@@ -2,6 +2,7 @@ using System;
 using System.Reflection;
 using System.Collections;
 using System.Collections.Generic;
+using System.Text.RegularExpressions;
 using System.IO;
 
 using Mono.CompilerServices.SymbolWriter;
@@ -15,6 +16,11 @@ class Settings
        public string OutputDirectory { get; set; }
        public string InputPattern { get; set; }
        public string OutputPattern { get; set; }
+       public bool InputPatternIsRegex { get; set; }
+       public bool FileNamesOnly { get; set; }
+       public bool Verbose { get; set; }
+
+       Regex inputPatternRegex;
 
        public bool Validate ()
        {
@@ -23,8 +29,15 @@ class Settings
 
        public string Replace (string input)
        {
-               if (input.StartsWith (InputPattern))
-                       return input.Replace (InputPattern, OutputPattern);
+               if (InputPatternIsRegex) {
+                       if (inputPatternRegex == null)
+                               inputPatternRegex = new Regex (InputPattern);
+                       return inputPatternRegex.Replace (input, OutputPattern);
+               } else {
+                       if (input.StartsWith (InputPattern))
+                               return OutputPattern + input.Substring (InputPattern.Length);
+               }
+
                return input;
        }
 }
@@ -46,7 +59,14 @@ class MdbRebase
                var output = new MonoSymbolFile ();
 
                foreach (var s in input.Sources) {
-                       s.FileName = settings.Replace (s.FileName);
+                       var newFileName = settings.FileNamesOnly
+                               ? Path.Combine (Path.GetDirectoryName (s.FileName), settings.Replace (Path.GetFileName (s.FileName)))
+                               : settings.Replace (s.FileName);
+
+                       if (settings.Verbose)
+                               Console.WriteLine ("{0} -> {1}", s.FileName, newFileName);
+
+                       s.FileName = newFileName;
                        output.AddSource (s);
                }
 
@@ -97,6 +117,9 @@ class Driver {
 
                var p = new OptionSet () {
                        { "d=|output=",  "Output directory to the mdb file, replace existing one if ommited", v => s.OutputDirectory = v },
+                       { "v|verbose", "Be verbose with output (show individual path rewrites)", v => s.Verbose = true },
+                       { "f|filenames", "Only operate on file names, not full absolute paths", v => s.FileNamesOnly = true },
+                       { "r|regex", "Input pattern is a regular expression", v => s.InputPatternIsRegex = true },
                        { "i=|input-pattern=", "Input pattern to replace (must not be a prefix to output-pattern)(required)", v => s.InputPattern = v },
                        { "o=|output-pattern=", "Output pattern to replace (required)", v => s.OutputPattern = v },
                        { "h|?|help", v => showHelp = true },
index 7559208868850cf98cc65ce296f8a8e9b3388214..244d0478bdfac18a75c546c33a641262184f0e06 100644 (file)
@@ -3365,10 +3365,10 @@ public abstract class MemberFormatter {
                if (type is PointerType) {
                        return AppendPointerTypeName (buf, type, context);
                }
-               AppendNamespace (buf, type);
                if (type is GenericParameter) {
                        return AppendTypeName (buf, type, context);
                }
+               AppendNamespace (buf, type);
                GenericInstanceType genInst = type as GenericInstanceType;
                if (type.GenericParameters.Count == 0 &&
                                (genInst == null ? true : genInst.GenericArguments.Count == 0)) {
index 6896008e2f200e9b313027b264a4583f9bd8760e..52bc1961113cd8cd08e0b61e198a03390a71a2fa 100644 (file)
@@ -362,6 +362,10 @@ namespace Mono.DocTest {
                /// <returns>A <see cref="T:Mono.DocTest.Widget" /> instance.</returns>
                public static Widget operator+ (Widget x) {return null;}
 
+               /// <remarks><c>M:Mono.DocTest.Widget.op_Division</c>.</remarks>
+               /// <returns>A <see cref="T:Mono.DocTest.Widget" /> instance.</returns>
+               public static Widget op_Division = null;
+
                /// <param name="x1">Yet Another <see cref="T:Mono.DocTest.Widget" />.</param>
                /// <param name="x2">Yay, <see cref="T:Mono.DocTest.Widget" />s.</param>
                /// <remarks><c>M:Mono.DocTest.Widget.op_Addition(Mono.DocTest.Widget,Mono.DocTest.Widget)</c>.</remarks>
index 6d67e84a38e88f5ac4db2239b66dadca19bf6cf4..8918f4d86884af136610c06c40c275d5feac1576 100644 (file)
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="op_Division">
+      <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+      <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>Mono.DocTest.Widget</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="op_Explicit">
       <MemberSignature Language="C#" Value="public static int op_Explicit (Mono.DocTest.Widget x);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
index 31435197800f7f09515598fabf94131998dadd7d..c873e3aa4159940dd3007691310ae8bb31b11358 100644 (file)
           <c>M:Mono.DocTest.Widget.op_Addition(Mono.DocTest.Widget,Mono.DocTest.Widget)</c>.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="op_Division">
+      <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+      <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>Mono.DocTest.Widget</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>A <see cref="T:Mono.DocTest.Widget" /> instance.</returns>
+        <remarks>
+          <c>M:Mono.DocTest.Widget.op_Division</c>.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="op_Explicit">
       <MemberSignature Language="C#" Value="public static int op_Explicit (Mono.DocTest.Widget x);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
index 0c1f1893057b0bdaa5cd9f7b111b95bf6b592b91..af7e8564c1a11c410e6740b79b42f5d352059f20 100644 (file)
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="op_Division">
+      <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+      <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+        <AssemblyVersion>2.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>Mono.DocTest.Widget</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="op_Explicit">
       <MemberSignature Language="C#" Value="public static int op_Explicit (Mono.DocTest.Widget x);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
index b2242b00993d41051ff72600d1dbd2a1856612ee..d7fb2ea21da64f4774cf911adf6ddcf7788977bb 100644 (file)
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="op_Division">
+      <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+      <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>Mono.DocTest.Widget</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="op_Explicit">
       <MemberSignature Language="C#" Value="public static int op_Explicit (Mono.DocTest.Widget x);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
index 943c58d4227e67576b25a1284cf535024bab60a9..7f29d8c54a2f46a274111820156c090c167a66b5 100644 (file)
                     <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String">string</a>
                   </i>. <span class="NotEntered">Documentation for this section has not yet been entered.</span></td>
               </tr>
+              <tr valign="top">
+                <td>
+                  <div>static </div>
+                </td>
+                <td>
+                  <b>
+                    <a href="#F:Mono.DocTest.Widget.op_Division">op_Division</a>
+                  </b>
+                </td>
+                <td>
+                  <i>
+                    <a href="../Mono.DocTest/Widget.html">Widget</a>
+                  </i>. <span class="NotEntered">Documentation for this section has not yet been entered.</span></td>
+              </tr>
               <tr valign="top">
                 <td>
                   <div>
             <b>Namespace: </b>Mono.DocTest<br /><b>Assembly: </b>DocTest (in DocTest.dll)<br /><b>Assembly Versions: </b>0.0.0.0</div>
           <hr size="1" />
         </blockquote>
+        <h3 id="F:Mono.DocTest.Widget.op_Division">op_Division Field</h3>
+        <blockquote id="F:Mono.DocTest.Widget.op_Division:member">
+          <p class="Summary">
+            <span class="NotEntered">Documentation for this section has not yet been entered.</span>
+          </p>
+          <h2>Syntax</h2>
+          <div class="Signature">public static <a href="../Mono.DocTest/Widget.html">Widget</a> operator/ </div>
+          <h4 class="Subsection">Returns</h4>
+          <blockquote class="SubsectionBox" id="F:Mono.DocTest.Widget.op_Division:Returns">A <a href="../Mono.DocTest/Widget.html">Mono.DocTest.Widget</a> instance.</blockquote>
+          <h2 class="Section">Remarks</h2>
+          <div class="SectionBox" id="F:Mono.DocTest.Widget.op_Division:Remarks">
+            <tt>M:Mono.DocTest.Widget.op_Division</tt>.</div>
+          <h2 class="Section">Requirements</h2>
+          <div class="SectionBox" id="F:Mono.DocTest.Widget.op_Division:Version Information">
+            <b>Namespace: </b>Mono.DocTest<br /><b>Assembly: </b>DocTest (in DocTest.dll)<br /><b>Assembly Versions: </b>0.0.0.0</div>
+          <hr size="1" />
+        </blockquote>
         <h3 id="M:Mono.DocTest.Widget.op_Explicit(Mono.DocTest.Widget)~System.Int32">Conversion Method</h3>
         <blockquote id="M:Mono.DocTest.Widget.op_Explicit(Mono.DocTest.Widget)~System.Int32:member">
           <p class="Summary">
index e431794cd27283d46824b4d130cc36de91e7a69b..eb7fb859d7108ca9f31e808a113e126bc422dc0e 100644 (file)
@@ -568,6 +568,12 @@ class Example {
             <remarks>
                 <c>M:Mono.DocTest.Widget.op_Addition(Mono.DocTest.Widget,Mono.DocTest.Widget)</c>.</remarks>
         </member>
+        <member name="F:Mono.DocTest.Widget.op_Division">
+            <summary>To be added.</summary>
+            <returns>A <see cref="T:Mono.DocTest.Widget" /> instance.</returns>
+            <remarks>
+                <c>M:Mono.DocTest.Widget.op_Division</c>.</remarks>
+        </member>
         <member name="M:Mono.DocTest.Widget.op_Explicit(Mono.DocTest.Widget)~System.Int32">
             <param name="x">
                 <see cref="T:Mono.DocTest.Widget" />s are fun!.</param>
index 8a8e6007985718e3a48565178334a0a2cb81a211..9bd32cf8c668555b06f920478ee15ee03b7a3f95 100644 (file)
@@ -13,7 +13,8 @@ my_inflate (const Byte *compr, uLong compr_len, Byte *uncompr, uLong uncompr_len
        memset (&stream, 0, sizeof (z_stream));
        stream.next_in = (Byte *) compr;
        stream.avail_in = (uInt) compr_len;
-       /* To decompress gzip format: http://stackoverflow.com/a/1838702/83444 */
+
+       // http://www.zlib.net/manual.html
        err = inflateInit2 (&stream, 16+MAX_WBITS);
        if (err != Z_OK)
                return 1;
index c84505d30ab9a745dd37c4971c575e1698974969..4f6660077050d007c56f426b49c7265bf1271f60 100644 (file)
@@ -126,7 +126,7 @@ namespace Mono.Tools {
                                return new StrongName (data).RSA;
                        }
                        catch {
-                               if (data [0] != 0x30)
+                               if (data.Length == 0 || data [0] != 0x30)
                                        throw;
                                // this could be a PFX file
                                Console.Write ("Enter password for private key (will be visible when typed): ");
index 30c5ac4b9db6d1ca21840af28eaaed038f54a17c..6b684b6066704a5df9bb0f1df77953715c275e61 100644 (file)
@@ -38,9 +38,6 @@ using Mono.Cecil;
 namespace Mono.Tuner {
 
        public class AdjustVisibility : BaseStep {
-
-               static readonly object internalized_key = new object ();
-
                protected override void ProcessAssembly (AssemblyDefinition assembly)
                {
                        if (Annotations.GetAction (assembly) != AssemblyAction.Link)
index ad349dd8606a936dc4b26da5bf02dcf910f772d6..8ad1eda644d9188d137a3196d815c7d34f85219e 100644 (file)
@@ -33,6 +33,7 @@
 #include <mono/utils/mono-path.h>
 #include <mono/metadata/reflection.h>
 #include <mono/metadata/coree.h>
+#include <mono/metadata/cil-coff.h>
 #include <mono/utils/mono-io-portability.h>
 #include <mono/utils/atomic.h>
 
@@ -741,6 +742,7 @@ mono_assembly_fill_assembly_name (MonoImage *image, MonoAssemblyName *aname)
 {
        MonoTableInfo *t = &image->tables [MONO_TABLE_ASSEMBLY];
        guint32 cols [MONO_ASSEMBLY_SIZE];
+       gint32 machine;
 
        if (!t->rows)
                return FALSE;
@@ -785,6 +787,24 @@ mono_assembly_fill_assembly_name (MonoImage *image, MonoAssemblyName *aname)
        else
                aname->public_key = 0;
 
+       machine = ((MonoCLIImageInfo*)(image->image_info))->cli_header.coff.coff_machine;
+       switch (machine) {
+       case COFF_MACHINE_I386:
+               aname->arch = MONO_PROCESSOR_ARCHITECTURE_X86;
+               break;
+       case COFF_MACHINE_IA64:
+               aname->arch = MONO_PROCESSOR_ARCHITECTURE_IA64;
+               break;
+       case COFF_MACHINE_AMD64:
+               aname->arch = MONO_PROCESSOR_ARCHITECTURE_AMD64;
+               break;
+       case COFF_MACHINE_ARM:
+               aname->arch = MONO_PROCESSOR_ARCHITECTURE_ARM;
+               break;
+       default:
+               break;
+       }
+
        return TRUE;
 }
 
index 8d6fdcf4d89bf34958fbd2d28f057c446e16526d..ab7f2c97f305c5dacd493a6dbb355b03a122fa9f 100644 (file)
@@ -37,6 +37,12 @@ typedef struct {
        char    msdos_header2 [64];
 } MonoMSDOSHeader;
 
+/* Possible values for coff_machine */
+#define COFF_MACHINE_I386 332
+#define COFF_MACHINE_IA64 512
+#define COFF_MACHINE_AMD64 34404
+#define COFF_MACHINE_ARM 452
+
 /* 20 bytes */
 typedef struct {
        guint16  coff_machine;
index 5b40a125c11d6171fe223df70e7366413f5803aa..7140a630bad2630e1e332dd5dd3b7c2e1ef089e6 100644 (file)
@@ -151,7 +151,16 @@ mono_image_rva_map (MonoImage *image, guint32 addr)
        const int top = iinfo->cli_section_count;
        MonoSectionTable *tables = iinfo->cli_section_tables;
        int i;
-       
+
+#ifdef HOST_WIN32
+       if (image->is_module_handle) {
+               if (addr && addr < image->raw_data_len)
+                       return image->raw_data + addr;
+               else
+                       return NULL;
+       }
+#endif
+
        for (i = 0; i < top; i++){
                if ((addr >= tables->st_virtual_address) &&
                    (addr < tables->st_virtual_address + tables->st_raw_data_size)){
@@ -159,10 +168,6 @@ mono_image_rva_map (MonoImage *image, guint32 addr)
                                if (!mono_image_ensure_section_idx (image, i))
                                        return NULL;
                        }
-#ifdef HOST_WIN32
-                       if (image->is_module_handle)
-                               return image->raw_data + addr;
-#endif
                        return (char*)iinfo->cli_sections [i] +
                                (addr - tables->st_virtual_address);
                }
index 513e3150269c1dbdd4d4ced4f167d5d94e4ec138..7286c3c249863dd6043a70b282dd4b715b79f4b3 100644 (file)
@@ -402,7 +402,7 @@ get_posix_locale (void)
        const char *locale;
 
        locale = g_getenv ("LC_ALL");
-       if (locale != NULL){
+       if (locale == NULL) {
                locale = g_getenv ("LANG");
                if (locale == NULL)
                        locale = setlocale (LC_ALL, NULL);
index bbf66fbefa387ddbc421ec5c0b187a9b977111e1..a9f3149d952a4f4d0c33302c03383dacb949ae7a 100644 (file)
@@ -44,6 +44,7 @@ struct _MonoType {
 #define MONO_PROCESSOR_ARCHITECTURE_X86 2
 #define MONO_PROCESSOR_ARCHITECTURE_IA64 3
 #define MONO_PROCESSOR_ARCHITECTURE_AMD64 4
+#define MONO_PROCESSOR_ARCHITECTURE_ARM 5
 
 struct _MonoAssemblyName {
        const char *name;
index b5491f3305ff729430b7cbbc28617190f49e53d3..9d382f15476457b2fd7b02a2b3242a927245dc17 100644 (file)
@@ -11,6 +11,7 @@
 #ifndef __MONO_G_HASH_H__
 #define __MONO_G_HASH_H__
 
+MONO_BEGIN_DECLS
 /* do not change the values of this enum */
 typedef enum {
        MONO_HASH_CONSERVATIVE_GC,
@@ -37,4 +38,5 @@ MONO_API void     mono_g_hash_table_insert          (MonoGHashTable *h, gpointer
 MONO_API void     mono_g_hash_table_replace         (MonoGHashTable *h, gpointer k, gpointer v);
 MONO_API void     mono_g_hash_table_print_stats     (MonoGHashTable *table);
 
+MONO_END_DECLS
 #endif /* __MONO_G_HASH_H__ */
index 40448b28696b9b1f117cae7a8ae86aa38491c07a..391fcee27b1cb4b07ae7040010015e6ee7d5c5ed 100644 (file)
@@ -558,7 +558,6 @@ sgen_bridge_processing_stw_step (void)
         * bridge_processing_in_progress must be set with the world
         * stopped.  If not there would be race conditions.
         */
-       g_assert (!bridge_processing_in_progress);
        bridge_processing_in_progress = TRUE;
 
        SGEN_TV_GETTIME (btv);
@@ -841,7 +840,7 @@ bridge_test_cross_reference (int num_sccs, MonoGCBridgeSCC **sccs, int num_xrefs
                for (j = 0; j < sccs [i]->num_objs; ++j) {
        //              g_print ("  %s\n", sgen_safe_name (sccs [i]->objs [j]));
                        if (i & 1) /*retain half of the bridged objects */
-                               sccs [i]->objs [0] = NULL;
+                               sccs [i]->is_alive = TRUE;
                }
        }
        for (i = 0; i < num_xrefs; ++i) {
@@ -851,6 +850,84 @@ bridge_test_cross_reference (int num_sccs, MonoGCBridgeSCC **sccs, int num_xrefs
        }
 }
 
+static MonoClassField *mono_bridge_test_field;
+
+enum {
+       BRIDGE_DEAD,
+       BRIDGE_ROOT,
+       BRIDGE_SAME_SCC,
+       BRIDGE_XREF,
+};
+
+static gboolean
+test_scc (MonoGCBridgeSCC *scc, int i)
+{
+       int status = BRIDGE_DEAD;
+       mono_field_get_value (scc->objs [i], mono_bridge_test_field, &status);
+       return status > 0;
+}
+
+static void
+mark_scc (MonoGCBridgeSCC *scc, int value)
+{
+       int i;
+       for (i = 0; i < scc->num_objs; ++i) {
+               if (!test_scc (scc, i)) {
+                       int status = value;
+                       mono_field_set_value (scc->objs [i], mono_bridge_test_field, &status);
+               }
+       }
+}
+
+static void
+bridge_test_cross_reference2 (int num_sccs, MonoGCBridgeSCC **sccs, int num_xrefs, MonoGCBridgeXRef *xrefs)
+{
+       int i;
+       gboolean modified;
+
+       if (!mono_bridge_test_field) {
+               mono_bridge_test_field = mono_class_get_field_from_name (mono_object_get_class (sccs[0]->objs [0]), "__test");
+               g_assert (mono_bridge_test_field);
+       }
+
+       /*We mark all objects in a scc with live objects as reachable by scc*/
+       for (i = 0; i < num_sccs; ++i) {
+               int j;
+               gboolean live = FALSE;
+               for (j = 0; j < sccs [i]->num_objs; ++j) {
+                       if (test_scc (sccs [i], j)) {
+                               live = TRUE;
+                               break;
+                       }
+               }
+               if (!live)
+                       continue;
+               for (j = 0; j < sccs [i]->num_objs; ++j) {
+                       if (!test_scc (sccs [i], j)) {
+                               int status = BRIDGE_SAME_SCC;
+                               mono_field_set_value (sccs [i]->objs [j], mono_bridge_test_field, &status);
+                       }
+               }
+       }
+
+       /*Now we mark the transitive closure of reachable objects from the xrefs*/
+       modified = TRUE;
+       while (modified) {
+               modified = FALSE;
+               /* Mark all objects that are brought to life due to xrefs*/
+               for (i = 0; i < num_xrefs; ++i) {
+                       MonoGCBridgeXRef ref = xrefs [i];
+                       if (test_scc (sccs [ref.src_scc_index], 0) && !test_scc (sccs [ref.dst_scc_index], 0)) {
+                               modified = TRUE;
+                               mark_scc (sccs [ref.dst_scc_index], BRIDGE_XREF);
+                       }
+               }
+       }
+
+       /* keep everything in memory, all we want to do is test persistence */
+       for (i = 0; i < num_sccs; ++i)
+               sccs [i]->is_alive = TRUE;
+}
 
 void
 sgen_register_test_bridge_callbacks (const char *bridge_class_name)
@@ -859,9 +936,9 @@ sgen_register_test_bridge_callbacks (const char *bridge_class_name)
        callbacks.bridge_version = SGEN_BRIDGE_VERSION;
        callbacks.is_bridge_class = bridge_test_is_bridge_class;
        callbacks.is_bridge_object = bridge_test_is_bridge_object;
-       callbacks.cross_references = bridge_test_cross_reference;
+       callbacks.cross_references = bridge_class_name[0] == '2' ? bridge_test_cross_reference2 : bridge_test_cross_reference;
        mono_gc_register_bridge_callbacks (&callbacks);
-       bridge_class = bridge_class_name;
+       bridge_class = bridge_class_name + (bridge_class_name[0] == '2' ? 1 : 0);
 }
 
 #endif
index da5e372674ee73ebaf8b2282125124de7f1d33a4..effdb5933855c7fe1fa51ffa4cc0ae7955623bf0 100644 (file)
@@ -1916,7 +1916,8 @@ finish_gray_stack (int generation, GrayQueue *queue)
        We must reset the gathered bridges since their original block might be evacuated due to major
        fragmentation in the meanwhile and the bridge code should not have to deal with that.
        */
-       sgen_bridge_reset_data ();
+       if (sgen_need_bridge_processing ())
+               sgen_bridge_reset_data ();
 
        /*
         * Walk the ephemeron tables marking all values with reachable keys. This must be completely done
@@ -1933,9 +1934,25 @@ finish_gray_stack (int generation, GrayQueue *queue)
        sgen_scan_togglerefs (start_addr, end_addr, ctx);
 
        if (sgen_need_bridge_processing ()) {
+               /*Make sure the gray stack is empty before we process bridge objects so we get liveness right*/
+               sgen_drain_gray_stack (-1, ctx);
                sgen_collect_bridge_objects (generation, ctx);
                if (generation == GENERATION_OLD)
                        sgen_collect_bridge_objects (GENERATION_NURSERY, ctx);
+
+               /*
+               Do the first bridge step here, as the collector liveness state will become useless after that.
+
+               An important optimization is to only proccess the possibly dead part of the object graph and skip
+               over all live objects as we transitively know everything they point must be alive too.
+
+               The above invariant is completely wrong if we let the gray queue be drained and mark/copy everything.
+
+               This has the unfortunate side effect of making overflow collections perform the first step twice, but
+               given we now have heuristics that perform major GC in anticipation of minor overflows this should not
+               be a big deal.
+               */
+               sgen_bridge_processing_stw_step ();
        }
 
        /*
@@ -4054,7 +4071,7 @@ sgen_thread_register (SgenThreadInfo* info, void *addr)
        sgen_thread_info = info;
 #endif
 
-#if !defined(__MACH__)
+#ifdef SGEN_POSIX_STW
        info->stop_count = -1;
        info->signal = 0;
 #endif
index e40db2bb2e4f11d97b5ab7e3ffa21a76a79dca7b..b5961ea1e5d4acd925e8b806a160a7c43d1c76db 100644 (file)
@@ -66,6 +66,10 @@ NurseryClearPolicy sgen_get_nursery_clear_policy (void) MONO_INTERNAL;
 #define SGEN_TV_ELAPSED(start,end) (int)((end-start) / 10)
 #define SGEN_TV_ELAPSED_MS(start,end) ((SGEN_TV_ELAPSED((start),(end)) + 500) / 1000)
 
+#if !defined(__MACH__) && !MONO_MACH_ARCH_SUPPORTED && defined(HAVE_PTHREAD_KILL)
+#define SGEN_POSIX_STW 1
+#endif
+
 /* eventually share with MonoThread? */
 /*
  * This structure extends the MonoThreadInfo structure.
@@ -96,11 +100,12 @@ struct _SgenThreadInfo {
        char **tlab_real_end_addr;
        gpointer runtime_data;
 
-       /* Only used on POSIX platforms */
+#ifdef SGEN_POSIX_STW
+       /* This is -1 until the first suspend. */
        int signal;
-       /* Ditto */
        /* FIXME: kill this, we only use signals on systems that have rt-posix, which doesn't have issues with duplicates. */
        unsigned int stop_count; /* to catch duplicate signals. */
+#endif
 
        gpointer stopped_ip;    /* only valid if the thread is stopped */
        MonoDomain *stopped_domain; /* dsto */
@@ -138,7 +143,7 @@ struct _GCMemSection {
        /* in major collections indexes in the pin_queue for objects that pin this section */
        void **pin_queue_start;
        int pin_queue_num_entries;
-       unsigned short num_scan_start;
+       unsigned int num_scan_start;
 };
 
 /*
index 23e03b7ec3192e8fcdf4c1b8f03a8afb5a415238..98b4b7ac1d8220f03e42fa1519c9cb9704366ad8 100755 (executable)
@@ -1574,22 +1574,20 @@ sweep_block (MSBlockInfo *block, gboolean during_major_collection)
 static inline int
 bitcount (mword d)
 {
-#if SIZEOF_VOID_P == 8
-       /* http://www.jjj.de/bitwizardry/bitwizardrypage.html */
-       d -=  (d>>1) & 0x5555555555555555;
-       d  = ((d>>2) & 0x3333333333333333) + (d & 0x3333333333333333);
-       d  = ((d>>4) + d) & 0x0f0f0f0f0f0f0f0f;
-       d *= 0x0101010101010101;
-       return d >> 56;
+       int count = 0;
+
+#ifdef __GNUC__
+       if (sizeof (mword) == sizeof (unsigned long))
+               count += __builtin_popcountl (d);
+       else
+               count += __builtin_popcount (d);
 #else
-       /* http://aggregate.org/MAGIC/ */
-       d -= ((d >> 1) & 0x55555555);
-       d = (((d >> 2) & 0x33333333) + (d & 0x33333333));
-       d = (((d >> 4) + d) & 0x0f0f0f0f);
-       d += (d >> 8);
-       d += (d >> 16);
-       return (d & 0x0000003f);
+       while (d) {
+               count ++;
+               d &= (d - 1);
+       }
 #endif
+       return count;
 }
 
 static void
index 1bbfe73d6543da84cbcafa4235dcb98cdd5c1edb..b2176fa250f776c68a628f1ae3f6213b81d582c0 100644 (file)
@@ -59,6 +59,7 @@ suspend_thread (SgenThreadInfo *info, void *context)
 
        info->stopped_domain = mono_domain_get ();
        info->stopped_ip = context ? (gpointer) ARCH_SIGCTX_IP (context) : NULL;
+       info->signal = 0;
        stop_count = sgen_global_stop_count;
        /* duplicate signal */
        if (0 && info->stop_count == stop_count)
@@ -198,6 +199,8 @@ sgen_thread_handshake (BOOL suspend)
 
        sgen_wait_for_suspend_ack (count);
 
+       SGEN_LOG (4, "%s handshake for %d threads\n", suspend ? "suspend" : "resume", count);
+
        return count;
 }
 
index 3069e32fc07b2b5288960dd3e202a4abb5010e6e..cf3ba9d5519b2ea49ad62448d61008283048654c 100755 (executable)
@@ -107,15 +107,9 @@ sgen_thread_handshake (BOOL suspend)
                if (info->gc_disabled)
                        continue;
                if (suspend) {
-                       g_assert (!info->doing_handshake);
-                       info->doing_handshake = TRUE;
-
                        if (!sgen_suspend_thread (info))
                                continue;
                } else {
-                       g_assert (info->doing_handshake);
-                       info->doing_handshake = FALSE;
-
                        if (!sgen_resume_thread (info))
                                continue;
                }
index f2c19a2c4cffba8493982aa418c7a0f490bb6c5d..0f52505544c9184fe56b7574180933df1e8b95e1 100755 (executable)
@@ -195,18 +195,6 @@ release_gc_locks (void)
        UNLOCK_INTERRUPTION;
 }
 
-static void
-stw_bridge_process (void)
-{
-       sgen_bridge_processing_stw_step ();
-}
-
-static void
-bridge_process (int generation)
-{
-       sgen_bridge_processing_finish (generation);
-}
-
 static TV_DECLARE (stop_world_time);
 static unsigned long max_pause_usec = 0;
 
@@ -269,9 +257,6 @@ sgen_restart_world (int generation, GGTimingInfo *timing)
 #endif
        } END_FOREACH_THREAD
 
-       stw_bridge_process ();
-       release_gc_locks ();
-
        count = sgen_thread_handshake (FALSE);
        TV_GETTIME (end_sw);
        usec = TV_ELAPSED (stop_world_time, end_sw);
@@ -280,9 +265,21 @@ sgen_restart_world (int generation, GGTimingInfo *timing)
        mono_profiler_gc_event (MONO_GC_EVENT_POST_START_WORLD, generation);
        MONO_GC_WORLD_RESTART_END (generation);
 
+       /*
+        * We must release the thread info suspend lock after doing
+        * the thread handshake.  Otherwise, if the GC stops the world
+        * and a thread is in the process of starting up, but has not
+        * yet registered (it's not in the thread_list), it is
+        * possible that the thread does register while the world is
+        * stopped.  When restarting the GC will then try to restart
+        * said thread, but since it never got the suspend signal, it
+        * cannot answer the restart signal, so a deadlock results.
+        */
+       release_gc_locks ();
+
        mono_thread_hazardous_try_free_some ();
 
-       bridge_process (generation);
+       sgen_bridge_processing_finish (generation);
 
        TV_GETTIME (end_bridge);
        bridge_usec = TV_ELAPSED (end_sw, end_bridge);
index c2a2e726acb50f788c88a77d5b395963014575af..cfe605ce24b6e01e27d7e46dd8a645c3b5333cec 100755 (executable)
@@ -5658,6 +5658,9 @@ decode_vtype (MonoType *t, MonoDomain *domain, guint8 *addr, guint8 *buf, guint8
                nfields --;
        }
        g_assert (nfields == 0);
+
+       *endbuf = buf;
+
        return 0;
 }
 
index cef75f395c1d65cfdacb5f29948afc340b9c366c..7e8ea90a54741b1a5dede7ceb1d602325a10b763 100644 (file)
@@ -1492,7 +1492,7 @@ mono_main (int argc, char* argv[])
                        char *build = mono_get_runtime_build_info ();
                        char *gc_descr;
 
-                       g_print ("Mono JIT compiler version %s\nCopyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com\n", build);
+                       g_print ("Mono Runtime Engine version %s\nCopyright (C) 2002-2013 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com\n", build);
                        g_free (build);
                        g_print (info);
                        gc_descr = mono_gc_get_description ();
index e912519cdc5179066322d0ed87dd3eed43679165..d00b7332e32e14199c9f43b69917f49f7c394042 100644 (file)
@@ -35,7 +35,6 @@ typedef struct {
        char *start_symbol, *end_symbol;
        guint8 *code;
        guint32 code_size;
-       MonoDebugMethodJitInfo *debug_info;
 } MethodLineNumberInfo;
 
 struct _MonoDwarfWriter
@@ -888,8 +887,11 @@ emit_all_line_number_info (MonoDwarfWriter *w)
        /* Emit line number table */
        for (l = info_list; l; l = l->next) {
                MethodLineNumberInfo *info = l->data;
+               MonoDebugMethodJitInfo *dmji;
 
-               emit_line_number_info (w, info->method, info->start_symbol, info->end_symbol, info->code, info->code_size, info->debug_info);
+               dmji = mono_debug_find_method (info->method, mono_domain_get ());;
+               emit_line_number_info (w, info->method, info->start_symbol, info->end_symbol, info->code, info->code_size, dmji);
+               mono_debug_free_method_jit_info (dmji);
        }
        g_slist_free (info_list);
 
@@ -2083,7 +2085,6 @@ mono_dwarf_writer_emit_method (MonoDwarfWriter *w, MonoCompile *cfg, MonoMethod
                        info->end_symbol = g_strdup (end_symbol);
                        info->code = code;
                        info->code_size = code_size;
-                       info->debug_info = debug_info;
                        w->line_info = g_slist_prepend (w->line_info, info);
                } else {
                        emit_line_number_info (w, method, start_symbol, end_symbol, code, code_size, debug_info);
index ab704e4fe5cc6898142edd46a3b6f9f9faf69772..004cb0d430a2a7e17b86a501bf194083526c265e 100644 (file)
@@ -225,16 +225,17 @@ mono_arch_get_restore_context (MonoTrampInfo **info, gboolean aot)
        amd64_mov_reg_membase (code, AMD64_R15, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, r15), 8);
 #endif
 
-       if (mono_running_on_valgrind ()) {
-               /* Prevent 'Address 0x... is just below the stack ptr.' errors */
-               amd64_mov_reg_membase (code, AMD64_R8, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rsp), 8);
-               amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rip), 8);
-               amd64_mov_reg_reg (code, AMD64_RSP, AMD64_R8, 8);
-       } else {
-               amd64_mov_reg_membase (code, AMD64_RSP, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rsp), 8);
-               /* get return address */
-               amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rip), 8);
-       }
+       /*
+        * The context resides on the stack, in the stack frame of the
+        * caller of this function.  The stack pointer that we need to
+        * restore is potentially many stack frames higher up, so the
+        * distance between them can easily be more than the red zone
+        * size.  Hence the stack pointer can be restored only after
+        * we have finished loading everything from the context.
+        */
+       amd64_mov_reg_membase (code, AMD64_R8, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rsp), 8);
+       amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11,  G_STRUCT_OFFSET (MonoContext, rip), 8);
+       amd64_mov_reg_reg (code, AMD64_RSP, AMD64_R8, 8);
 
        /* jump to the saved IP */
        amd64_jump_reg (code, AMD64_R11);
index 2247b91a2abe39a3351df201a4a0ef77a815ee5c..669f18330234eac828c89402bac5c8405efadfaa 100644 (file)
@@ -321,27 +321,53 @@ mono_arch_get_restore_context (MonoTrampInfo **info, gboolean aot)
        /* load ctx */
        x86_mov_reg_membase (code, X86_EAX, X86_ESP, 4, 4);
 
-       /* get return address, stored in ECX */
-       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, eip), 4);
        /* restore EBX */
        x86_mov_reg_membase (code, X86_EBX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, ebx), 4);
+
        /* restore EDI */
        x86_mov_reg_membase (code, X86_EDI, X86_EAX,  G_STRUCT_OFFSET (MonoContext, edi), 4);
+
        /* restore ESI */
        x86_mov_reg_membase (code, X86_ESI, X86_EAX,  G_STRUCT_OFFSET (MonoContext, esi), 4);
-       /* restore ESP */
-       x86_mov_reg_membase (code, X86_ESP, X86_EAX,  G_STRUCT_OFFSET (MonoContext, esp), 4);
-       /* save the return addr to the restored stack */
-       x86_push_reg (code, X86_ECX);
-       /* restore EBP */
-       x86_mov_reg_membase (code, X86_EBP, X86_EAX,  G_STRUCT_OFFSET (MonoContext, ebp), 4);
-       /* restore ECX */
-       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, ecx), 4);
+
        /* restore EDX */
        x86_mov_reg_membase (code, X86_EDX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, edx), 4);
-       /* restore EAX */
-       x86_mov_reg_membase (code, X86_EAX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, eax), 4);
 
+       /*
+        * The context resides on the stack, in the stack frame of the
+        * caller of this function.  The stack pointer that we need to
+        * restore is potentially many stack frames higher up, so the
+        * distance between them can easily be more than the red zone
+        * size.  Hence the stack pointer can be restored only after
+        * we have finished loading everything from the context.
+        */
+
+       /* load ESP into EBP */
+       x86_mov_reg_membase (code, X86_EBP, X86_EAX,  G_STRUCT_OFFSET (MonoContext, esp), 4);
+       /* load return address into ECX */
+       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, eip), 4);
+       /* save the return addr to the restored stack - 4 */
+       x86_mov_membase_reg (code, X86_EBP, -4, X86_ECX, 4);
+
+       /* load EBP into ECX */
+       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, ebp), 4);
+       /* save EBP to the restored stack - 8 */
+       x86_mov_membase_reg (code, X86_EBP, -8, X86_ECX, 4);
+
+       /* load EAX into ECX */
+       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, eax), 4);
+       /* save EAX to the restored stack - 12 */
+       x86_mov_membase_reg (code, X86_EBP, -12, X86_ECX, 4);
+
+       /* restore ECX */
+       x86_mov_reg_membase (code, X86_ECX, X86_EAX,  G_STRUCT_OFFSET (MonoContext, ecx), 4);
+
+       /* restore ESP - 12 */
+       x86_lea_membase (code, X86_ESP, X86_EBP, -12);
+       /* restore EAX */
+       x86_pop_reg (code, X86_EAX);
+       /* restore EBP */
+       x86_pop_reg (code, X86_EBP);
        /* jump to the saved IP */
        x86_ret (code);
 
index 911ae23543bb1850676af910904125c620541fa4..22eb02e19020e322d3658f006002039b53f69f91 100644 (file)
@@ -149,7 +149,7 @@ static gpointer*
  */
 __attribute__ ((noinline))
 #endif
-mono_convert_imt_slot_to_vtable_slot (gpointer* slot, mgreg_t *regs, guint8 *code, MonoMethod *method, MonoMethod **impl_method, gboolean *need_rgctx_tramp, gboolean *variance_used, gpointer *aot_addr)
+       mono_convert_imt_slot_to_vtable_slot (gpointer* slot, mgreg_t *regs, guint8 *code, MonoMethod *method, gboolean lookup_aot, MonoMethod **impl_method, gboolean *need_rgctx_tramp, gboolean *variance_used, gpointer *aot_addr)
 {
        MonoObject *this_argument = mono_arch_get_this_arg_from_call (regs, code);
        MonoVTable *vt = this_argument->vtable;
@@ -191,7 +191,7 @@ mono_convert_imt_slot_to_vtable_slot (gpointer* slot, mgreg_t *regs, guint8 *cod
                        impl = mono_class_inflate_generic_method (impl, &context);
                } else {
                        /* Avoid loading metadata or creating a generic vtable if possible */
-                       if (!vt->klass->valuetype)
+                       if (lookup_aot && !vt->klass->valuetype)
                                *aot_addr = mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, interface_offset + mono_method_get_vtable_slot (imt_method));
                        else
                                *aot_addr = NULL;
@@ -410,14 +410,8 @@ common_call_trampoline (mgreg_t *regs, guint8 *code, MonoMethod *m, guint8* tram
                    m = mono_object_get_virtual_method (this_arg, m);
                        vtable_slot_to_patch = NULL;
                } else {
-                       addr = NULL;
-                       vtable_slot = mono_convert_imt_slot_to_vtable_slot (vtable_slot, regs, code, m, &impl_method, &need_rgctx_tramp, &variance_used, &addr);
-                       /* This is the vcall slot which gets called through the IMT thunk */
-                       vtable_slot_to_patch = vtable_slot;
-                       /* mono_convert_imt_slot_to_vtable_slot () also gives us the method that is supposed
-                        * to be called, so we compile it and go ahead as usual.
-                        */
-                       /*g_print ("imt found method %p (%s) at %p\n", impl_method, impl_method->name, code);*/
+                       gboolean lookup_aot;
+
                        if (m->is_inflated && ((MonoMethodInflated*)m)->context.method_inst) {
                                /* Generic virtual method */
                                generic_virtual = m;
@@ -426,7 +420,18 @@ common_call_trampoline (mgreg_t *regs, guint8 *code, MonoMethod *m, guint8* tram
                                variant_iface = m;
                        }
 
-                       if (addr && !generic_virtual && !variant_iface) {
+                       addr = NULL;
+                       /* We can only use the AOT compiled code if we don't require further processing */
+                       lookup_aot = !generic_virtual & !variant_iface;
+                       vtable_slot = mono_convert_imt_slot_to_vtable_slot (vtable_slot, regs, code, m, lookup_aot, &impl_method, &need_rgctx_tramp, &variance_used, &addr);
+                       /* This is the vcall slot which gets called through the IMT thunk */
+                       vtable_slot_to_patch = vtable_slot;
+                       /* mono_convert_imt_slot_to_vtable_slot () also gives us the method that is supposed
+                        * to be called, so we compile it and go ahead as usual.
+                        */
+                       /*g_print ("imt found method %p (%s) at %p\n", impl_method, impl_method->name, code);*/
+
+                       if (addr) {
                                /*
                                 * We found AOT compiled code for the method, skip the rest.
                                 */
index 04a25569c54f846e8ef601808cf99de4e381e21e..780ff2e714c4ab640bbfdf37bfdcf1fdca457067 100644 (file)
@@ -153,6 +153,8 @@ gboolean disable_vtypes_in_regs = FALSE;
 
 gboolean mono_dont_free_global_codeman;
 
+static GSList *tramp_infos;
+
 gpointer
 mono_realloc_native_code (MonoCompile *cfg)
 {
@@ -382,6 +384,7 @@ mono_print_method_from_ip (void *ip)
        FindTrampUserData user_data;
        MonoGenericSharingContext*gsctx;
        const char *shared_type;
+       GSList *l;
        
        ji = mini_jit_info_table_find (domain, ip, &target_domain);
        if (!ji) {
@@ -394,9 +397,18 @@ mono_print_method_from_ip (void *ip)
                        char *mname = mono_method_full_name (user_data.method, TRUE);
                        printf ("IP %p is a JIT trampoline for %s\n", ip, mname);
                        g_free (mname);
+                       return;
                }
-               else
-                       g_print ("No method at %p\n", ip);
+               for (l = tramp_infos; l; l = l->next) {
+                       MonoTrampInfo *tinfo = l->data;
+
+                       if ((guint8*)ip >= tinfo->code && (guint8*)ip <= tinfo->code + tinfo->code_size) {
+                               printf ("IP %p is at offset 0x%x of trampoline '%s'.\n", ip, (int)((guint8*)ip - tinfo->code), tinfo->name);
+                               return;
+                       }
+               }
+
+               g_print ("No method at %p\n", ip);
                fflush (stdout);
                return;
        }
@@ -636,6 +648,26 @@ mono_tramp_info_free (MonoTrampInfo *info)
        g_free (info);
 }
 
+/*
+ * mono_tramp_info_register:
+ *
+ * Remember INFO for use by mono_print_method_from_ip ().
+ */
+void
+mono_tramp_info_register (MonoTrampInfo *info)
+{
+       MonoTrampInfo *copy;
+
+       copy = g_new0 (MonoTrampInfo, 1);
+       copy->code = info->code;
+       copy->code_size = info->code_size;
+       copy->name = g_strdup (info->name);
+
+       mono_loader_lock_if_inited ();
+       tramp_infos = g_slist_prepend (tramp_infos, copy);
+       mono_loader_unlock_if_inited ();
+}
+
 G_GNUC_UNUSED static void
 break_count (void)
 {
index 627cb2ae49e498caad8d072547424e80b0eeb510..65da77d3d56c5e3e47aa84ff94f9707160bb9a62 100644 (file)
@@ -2189,6 +2189,7 @@ void              mono_emit_unwind_op (MonoCompile *cfg, int when,
                                                                           int val) MONO_INTERNAL;
 MonoTrampInfo*    mono_tramp_info_create (const char *name, guint8 *code, guint32 code_size, MonoJumpInfo *ji, GSList *unwind_ops) MONO_INTERNAL;
 void              mono_tramp_info_free (MonoTrampInfo *info) MONO_INTERNAL;
+void              mono_tramp_info_register (MonoTrampInfo *info) MONO_INTERNAL;
 
 int               mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_bblock, MonoBasicBlock *end_bblock, 
                                                                         MonoInst *return_var, GList *dont_inline, MonoInst **inline_args, 
index 098ff5d4b2224cace181f5ee13b093c5f57fa077..b2fb35067a98f1138a964d8f583d4a1d81426298 100644 (file)
@@ -252,17 +252,20 @@ handle_reg_constraints (MonoCompile *cfg)
                cfg->cbb = bb;
                MONO_BB_FOR_EACH_INS (bb, ins) {
                        const char *spec = ins_get_spec (ins->opcode);
-                       int dest_sreg1, dest_sreg2, dest_dreg;
+                       int dest_sreg1, dest_sreg2, dest_sreg3, dest_dreg;
 
                        dest_sreg1 = MONO_ARCH_INST_FIXED_REG (spec [MONO_INST_SRC1]);
                        dest_sreg2 = MONO_ARCH_INST_FIXED_REG (spec [MONO_INST_SRC2]);
+                       dest_sreg3 = MONO_ARCH_INST_FIXED_REG (spec [MONO_INST_SRC3]);
                        dest_dreg = MONO_ARCH_INST_FIXED_REG (spec [MONO_INST_DEST]);
 
                        if (MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_DEST]) ||
-                               MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_SRC1]) ||
-                               MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_SRC2]))
+                                       MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_SRC1]) ||
+                                       MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_SRC2]) ||
+                                       MONO_ARCH_INST_IS_REGPAIR (spec [MONO_INST_SRC3])) {
                                /* FIXME: */
                                g_assert_not_reached ();
+                       }
 
                        if (spec [MONO_INST_CLOB] == 'c') {
                                MonoCallInst *call = (MonoCallInst*)ins;
@@ -303,7 +306,7 @@ handle_reg_constraints (MonoCompile *cfg)
 
                        if (spec [MONO_INST_CLOB] == '1') {
                                /* Copying sreg1 to dreg could clobber sreg2 so make a copy of sreg2 */
-                               if (spec [MONO_INST_SRC2] && (ins->dreg == ins->sreg2)) {
+                               if (spec [MONO_INST_SRC2] != ' ' && (ins->dreg == ins->sreg2)) {
                                        int new_sreg2 = mono_alloc_preg (cfg);
                                        MonoInst *move;
                                        g_assert (spec [MONO_INST_DEST] != 'f');
@@ -312,6 +315,7 @@ handle_reg_constraints (MonoCompile *cfg)
                                        prev = move;
                                        ins->sreg2 = new_sreg2;
                                }
+                               g_assert (!(spec [MONO_INST_SRC3] != ' ' && (ins->dreg == ins->sreg3)));
                                if (spec [MONO_INST_DEST] == 'f')
                                        emit_fp_move (cfg, ins->dreg, ins->sreg1, prev);
                                else
@@ -329,6 +333,11 @@ handle_reg_constraints (MonoCompile *cfg)
                                ins->sreg2 = dest_sreg2;
                        }
 
+                       if (dest_sreg3 != -1) {
+                               emit_move (cfg, dest_sreg3, ins->sreg3, prev);
+                               ins->sreg3 = dest_sreg3;
+                       }
+
                        if (dest_dreg != -1) {
                                emit_move (cfg, ins->dreg, dest_dreg, ins);
                                g_assert (spec [MONO_INST_CLOB] != '1');
@@ -497,6 +506,13 @@ update_gen_kill_set (MonoCompile *cfg, MonoRegallocContext *ctx, MonoBasicBlock
                        mono_bitset_set_fast (bb->gen_set, sreg);
        }
 
+       /* SREG3 */
+       sreg = ins->sreg3;
+       if (spec [MONO_INST_SRC3] != ' ') {
+               if (!mono_bitset_test_fast (bb->kill_set, sreg))
+                       mono_bitset_set_fast (bb->gen_set, sreg);
+       }
+
        /* DREG */
        if (spec [MONO_INST_DEST] != ' ') {
                if (MONO_IS_STORE_MEMBASE (ins)) {
@@ -707,6 +723,17 @@ compute_live_in_out_sets (MonoCompile *cfg, MonoRegallocContext *ctx)
 #endif
 }
 
+static MonoLiveInterval*
+get_var_interval (MonoCompile *cfg, MonoRegallocContext *ctx, int idx)
+{
+       MonoLiveInterval *interval = ctx->varinfo [idx].interval;
+       if (interval)
+               return interval;
+       interval = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoLiveInterval));
+       ctx->varinfo [idx].interval = interval;
+       return interval;
+}
+
 static inline void
 update_liveness (MonoCompile *cfg, MonoRegallocContext *ctx, MonoInst *ins, int inst_num, gint32 *last_use)
 {
@@ -730,9 +757,9 @@ update_liveness (MonoCompile *cfg, MonoRegallocContext *ctx, MonoInst *ins, int
                                         * Avoid a hole in the liveness range, since the allocation code
                                         * could think the register is free there.
                                         */
-                                       mono_linterval_add_range (ctx->cfg, ctx->varinfo [ins->dreg].interval, inst_num, last_use [ins->dreg]);
+                                       mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, ins->dreg), inst_num, last_use [ins->dreg]);
                                } else {
-                                       mono_linterval_add_range (ctx->cfg, ctx->varinfo [ins->dreg].interval, inst_num + INS_POS_DEF, last_use [ins->dreg]);
+                                       mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, ins->dreg), inst_num + INS_POS_DEF, last_use [ins->dreg]);
                                }
                                last_use [ins->dreg] = 0;
                        }
@@ -743,7 +770,7 @@ update_liveness (MonoCompile *cfg, MonoRegallocContext *ctx, MonoInst *ins, int
                                        spec = INS_INFO (ins->opcode);
                                } else {
                                        LIVENESS_DEBUG (printf ("\tdead def of R%d, add range to R%d: [%x, %x]\n", ins->dreg, ins->dreg, inst_num + INS_POS_DEF, inst_num + INS_POS_DEF));
-                                       mono_linterval_add_range (ctx->cfg, ctx->varinfo [ins->dreg].interval, inst_num + INS_POS_DEF, inst_num + INS_POS_DEF);
+                                       mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, ins->dreg), inst_num + INS_POS_DEF, inst_num + INS_POS_DEF);
                                }
                        }
                }
@@ -789,6 +816,20 @@ update_liveness (MonoCompile *cfg, MonoRegallocContext *ctx, MonoInst *ins, int
                        last_use [sreg] = inst_num + INS_POS_USE;
                }
                ctx->varinfo [sreg].use_pos = g_slist_prepend_mempool (ctx->cfg->mempool, ctx->varinfo [sreg].use_pos, GINT_TO_POINTER (inst_num));
+
+       /* SREG3 */
+       sreg = ins->sreg3;
+       if (spec [MONO_INST_SRC3] != ' ') {
+               if (last_use [sreg] == 0) {
+                       LIVENESS_DEBUG (printf ("\tlast use of R%d set to %x\n", sreg, inst_num + INS_POS_USE));
+                       last_use [sreg] = inst_num + INS_POS_USE;
+               }
+               ctx->varinfo [sreg].use_pos = g_slist_prepend_mempool (ctx->cfg->mempool, ctx->varinfo [sreg].use_pos, GINT_TO_POINTER (inst_num));
+
+               /*
+               if (ins->sreg3 <= MONO_MAX_IREGS)
+                       mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, ins->sreg3), inst_num + INS_POS_DEF, inst_num + INS_POS_DEF);
+               */
        }
 
        if (ins_get_spec (ins->opcode)[MONO_INST_CLOB] == 'c') {
@@ -830,15 +871,15 @@ update_liveness (MonoCompile *cfg, MonoRegallocContext *ctx, MonoInst *ins, int
                if (clob == 'c') {
                        /* A call clobbers some int/fp registers */
                        for (l = mono_arch_get_iregs_clobbered_by_call ((MonoCallInst*)ins); l; l = l->next)
-                               mono_linterval_add_range (ctx->cfg, ctx->varinfo [GPOINTER_TO_INT (l->data)].interval, inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
+                               mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, GPOINTER_TO_INT (l->data)), inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
                        for (l = mono_arch_get_fregs_clobbered_by_call ((MonoCallInst*)ins); l; l = l->next)
-                               mono_linterval_add_range (ctx->cfg, ctx->varinfo [GPOINTER_TO_INT (l->data)].interval, inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
+                               mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, GPOINTER_TO_INT (l->data)), inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
                }
                else {
                        int clob_reg = MONO_ARCH_INST_FIXED_REG (clob);
 
                        if (clob_reg != -1)
-                               mono_linterval_add_range (ctx->cfg, ctx->varinfo [clob_reg].interval, inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
+                               mono_linterval_add_range (ctx->cfg, get_var_interval (cfg, ctx, clob_reg), inst_num + INS_POS_CLOB, inst_num + INS_POS_CLOB);
                }
        }
 }
@@ -861,10 +902,6 @@ compute_intervals (MonoCompile *cfg, MonoRegallocContext *ctx)
        reverse_len = 1024;
        reverse = mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * reverse_len);
 
-       for (idx = 0; idx < max_vars; ++idx) {
-               ctx->varinfo [idx].interval = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoLiveInterval));
-       }
-
        /*
         * Process bblocks in reverse order, so the addition of new live ranges
         * to the intervals is faster.
@@ -931,7 +968,7 @@ compute_intervals (MonoCompile *cfg, MonoRegallocContext *ctx)
                        if (last_use [idx] != 0) {
                                /* Live at exit, not written -> live on enter */
                                LIVENESS_DEBUG (printf ("Var R%d live at enter, add range to R%d: [%x, %x)\n", idx, idx, block_from, last_use [idx]));
-                               mono_linterval_add_range (cfg, ctx->varinfo [idx].interval, block_from, last_use [idx]);
+                               mono_linterval_add_range (cfg, get_var_interval (cfg, ctx, idx), block_from, last_use [idx]);
                        }
                }
        }
@@ -946,14 +983,14 @@ compute_intervals (MonoCompile *cfg, MonoRegallocContext *ctx)
        for (i = 0; i < cfg->num_varinfo; i ++) {
                MonoMethodVar *vi = MONO_VARINFO (cfg, i);
                if ((cfg->varinfo [vi->idx]->opcode == OP_ARG) && (cfg->varinfo [vi->idx] != cfg->ret))
-                       mono_linterval_add_range (cfg, ctx->varinfo [cfg->varinfo [i]->dreg].interval, 0, 1);
+                       mono_linterval_add_range (cfg, get_var_interval (cfg, ctx, cfg->varinfo [i]->dreg), 0, 1);
        }
 #endif
 
 #if 0
                for (idx = 0; idx < max_vars; ++idx) {
                        printf ("LIVENESS R%d: ", idx);
-                       mono_linterval_print (ctx->varinfo [idx].interval);
+                       mono_linterval_print (get_var_interval (cfg, ctx, idx));
                        printf ("\n");
                }
        }
@@ -1204,7 +1241,7 @@ linear_scan (MonoCompile *cfg, MonoRegallocContext *ctx)
        /* Create list of allocatable variables */
        vars = NULL;
        for (i = MONO_FIRST_VREG; i < cfg->next_vreg; ++i) {
-               if (ctx->varinfo [i].interval->range)
+               if (get_var_interval (cfg, ctx, i)->range)
                        vars = g_list_prepend (vars, &ctx->varinfo [i]);
        }
 
@@ -1222,7 +1259,7 @@ linear_scan (MonoCompile *cfg, MonoRegallocContext *ctx)
        /* The hard registers are assigned to themselves */
        for (i = 0; i < MONO_MAX_IREGS + MONO_MAX_FREGS; ++i) {
                ctx->varinfo [i].hreg = i;
-               if (ctx->varinfo [i].interval->range)
+               if (get_var_interval (cfg, ctx, i)->range)
                        inactive = g_list_append (inactive, &ctx->varinfo [i]);         
        }
 
@@ -2207,6 +2244,12 @@ rewrite_code (MonoCompile *cfg, MonoRegallocContext *ctx)
                                ins->sreg2 = l->hreg;
                        }
 
+                       if (spec [MONO_INST_SRC3] != ' ') {
+                               MonoRegallocInterval *l = child_at (&ctx->varinfo [ins->sreg3], pos + INS_POS_USE);
+                               g_assert (l->hreg != -1);
+                               ins->sreg3 = l->hreg;
+                       }
+
                        if (cfg->verbose_level > 1)
                                mono_print_ins_index (1, ins);
 
index 517fe8e1d21a000d607c60f9e6159b0635c801bd..1166d803f58cdeaa42c707bbfc7cf18c567dabc1 100644 (file)
@@ -341,6 +341,8 @@ mono_save_xdebug_info (MonoCompile *cfg)
 void
 mono_save_trampoline_xdebug_info (MonoTrampInfo *info)
 {
+       mono_tramp_info_register (info);
+
        if (use_gdb_interface) {
                MonoImageWriter *w;
                MonoDwarfWriter *dw;
@@ -381,6 +383,7 @@ mono_save_xdebug_info (MonoCompile *cfg)
 void
 mono_save_trampoline_xdebug_info (MonoTrampInfo *info)
 {
+       mono_tramp_info_register (info);
 }
 
 #endif
index a9dace25df7afd7faba2a135dbe7c4eed76d8f5c..1e2ac3eefc7410039b25a90f1cbb63fa97ac2f4f 100644 (file)
@@ -802,7 +802,9 @@ runtest: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQS
        @failed=0; \
        passed=0; \
        failed_tests="";\
-       for i in $(TESTSI_CS) $(TESTBS) $(TESTSI_IL); do        \
+       rm -f testlist testlist.sorted; \
+       for i in $(TESTSI_CS) $(TESTBS) $(TESTSI_IL); do echo $${i} >> testlist; sort testlist > testlist.sorted; done; \
+       for i in `cat testlist.sorted`; do \
                rm -f $${i}.so; \
                if [ x$(AOT) = x1 ]; then if echo $(AOT_DISABLED_TESTS) | grep -v -q $${i}; then $(with_mono_path) $(JITTEST_PROG_RUN) --aot --debug $${i} > $${i}.aotlog 2>&1 || exit 1; fi; fi; \
                if $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$i '$(DISABLED_TESTS)' 'no-dump' $(RUNTIME_ARGS); \
@@ -815,6 +817,7 @@ runtest: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQS
                fi \
        done; \
        echo "$${passed} test(s) passed. $${failed} test(s) did not pass."; \
+       rm -f testlist testlist.sorted; \
        if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
          for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
 
@@ -883,7 +886,7 @@ debug-casts:
        @$(MCS) -r:TestDriver.dll $(srcdir)/debug-casts.cs
        @$(RUNTIME) --debug=casts debug-casts.exe
 
-EXTRA_DIST += sgen-bridge.cs sgen-descriptors.cs sgen-gshared-vtype.cs sgen-bridge-major-fragmentation.cs sgen-domain-unload.cs sgen-weakref-stress.cs sgen-cementing-stress.cs sgen-case-23400.cs     finalizer-wait.cs critical-finalizers.cs sgen-domain-unload-2.cs sgen-suspend.cs sgen-new-threads-dont-join-stw.cs
+EXTRA_DIST += sgen-bridge.cs sgen-descriptors.cs sgen-gshared-vtype.cs sgen-bridge-major-fragmentation.cs sgen-domain-unload.cs sgen-weakref-stress.cs sgen-cementing-stress.cs sgen-case-23400.cs     finalizer-wait.cs critical-finalizers.cs sgen-domain-unload-2.cs sgen-suspend.cs sgen-new-threads-dont-join-stw.cs sgen-bridge-xref.cs
 
 
 #those are actually configurations, eg plain_sgen-descriptors.exe
@@ -938,7 +941,7 @@ sgen-regular-tests: $(SGEN_TESTS)
        if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
          for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
 
-sgen-bridge-tests: sgen-bridge.exe sgen-bridge-major-fragmentation.exe
+sgen-bridge-tests1: sgen-bridge.exe sgen-bridge-major-fragmentation.exe
        @failed=0; \
        passed=0; \
        failed_tests="";\
@@ -962,6 +965,33 @@ sgen-bridge-tests: sgen-bridge.exe sgen-bridge-major-fragmentation.exe
        if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
          for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
 
+sgen-bridge-tests2: sgen-bridge-xref.exe
+       @failed=0; \
+       passed=0; \
+       failed_tests="";\
+       for test in $+; do      \
+               echo "...$$test";       \
+               for conf in $(SGEN_BRIDGE_CONFIGURATIONS); do   \
+                       name=`echo $$conf | cut -d\| -f 2`;     \
+                       params=`echo $$conf | cut -d\| -f 1`;   \
+                       test_name="$${test}|$${name}";  \
+                       if MONO_GC_PARAMS="bridge=2Bridge$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" 'dump-output' $(RUNTIME_ARGS);     \
+                       then \
+                               passed=`expr $${passed} + 1`; \
+                       else \
+                               if [ $$? = 2 ]; then break; fi; \
+                               failed=`expr $${failed} + 1`; \
+                               failed_tests="$${failed_tests} $$test_name"; \
+                       fi \
+               done    \
+       done;   \
+       echo "$${passed} test(s) passed. $${failed} test(s) did not pass."; \
+       if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
+         for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
+
+
+sgen-bridge-tests: sgen-bridge-tests1 sgen-bridge-tests2
+
 sgen-tests: sgen-regular-tests sgen-bridge-tests
 
 AOT_CONFIGURATIONS=    \
index 166a4d1de2c08d3d6f530905e62d409740b177f1..aadf7adf7438f77b1ae5730d66532a7695dffc2f 100644 (file)
@@ -29,12 +29,7 @@ public class Tests {
        public static extern IntPtr mono_test_marshal_return_delegate_2 ();
 
        static int test_0_get_function_pointer_for_delegate () {
-               // This is a 2.0 feature
-               MethodInfo mi = typeof (Marshal).GetMethod ("GetFunctionPointerForDelegate");
-               if (mi == null)
-                       return 0;
-
-               IntPtr fnPtr = (IntPtr)mi.Invoke (null, new object [] { new SimpleDelegate (delegate_test)});
+               IntPtr fnPtr = Marshal.GetFunctionPointerForDelegate (new SimpleDelegate (delegate_test));
 
                if (mono_test_marshal_delegate (fnPtr) != 3)
                        return 1;
@@ -43,28 +38,18 @@ public class Tests {
        }
 
        static int test_0_get_delegate_for_function_pointer () {
-               // This is a 2.0 feature
-               MethodInfo mi = typeof (Marshal).GetMethod ("GetDelegateForFunctionPointer");
-               if (mi == null)
-                       return 0;
-
                IntPtr ptr = mono_test_marshal_return_delegate (new SimpleDelegate (delegate_test));
-               
-               SimpleDelegate d = (SimpleDelegate)mi.Invoke (null, new object [] { ptr, typeof (SimpleDelegate) });
+
+               SimpleDelegate d = (SimpleDelegate)Marshal.GetDelegateForFunctionPointer (ptr, typeof (SimpleDelegate));
 
                return d (5) == 6 ? 0 : 1;
        }
 
        /* Obtain a delegate from a native function pointer */
        static int test_0_get_delegate_for_ftnptr_native () {
-               // This is a 2.0 feature
-               MethodInfo mi = typeof (Marshal).GetMethod ("GetDelegateForFunctionPointer");
-               if (mi == null)
-                       return 0;
-
                IntPtr ptr = mono_test_marshal_return_delegate_2 ();
 
-               SimpleDelegate d = (SimpleDelegate)mi.Invoke (null, new object [] { ptr, typeof (SimpleDelegate) });
+               SimpleDelegate d = (SimpleDelegate)Marshal.GetDelegateForFunctionPointer (ptr, typeof (SimpleDelegate));
 
                return d (5) == 6 ? 0 : 1;
        }
diff --git a/mono/tests/sgen-bridge-xref.cs b/mono/tests/sgen-bridge-xref.cs
new file mode 100644 (file)
index 0000000..8289280
--- /dev/null
@@ -0,0 +1,52 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading;
+
+public class Bridge {
+       public int __test;
+       public string id;
+       public List<object> link = new List<object> ();
+       
+       ~Bridge () {
+       }
+}
+
+class Driver {
+       static WeakReference<Bridge> root, child;
+
+       static void SetupLinks () {
+               var a = new Bridge () { id = "bridge" };
+               var b = new Bridge () { id = "child" };
+               a.link.Add (b);
+               a.__test = 1;
+               b.__test = 0;
+               root = new WeakReference<Bridge> (a, true);
+               child = new WeakReference<Bridge> (b, true);
+       }
+
+       static int Main ()
+       {
+               var t = new Thread (SetupLinks);
+               t.Start ();
+               t.Join ();
+               
+               GC.Collect ();
+               Bridge a, b;
+               a = b = null;
+               Console.WriteLine ("try get A {0}", root.TryGetTarget (out a));
+               Console.WriteLine ("try get B {0}", child.TryGetTarget (out b));
+               Console.WriteLine ("a is null {0}", a == null);
+               Console.WriteLine ("b is null {0}", b == null);
+               if (a == null || b == null)
+                       return 1;
+
+               Console.WriteLine ("a test {0}", a.__test);
+               Console.WriteLine ("b test {0}", b.__test);
+
+               if (a.__test != 1 || b.__test != 3)
+                       return 2;
+
+               return 0;
+       }
+}
\ No newline at end of file
index 774db8a526bd94bd5a44e8d3cbb83b29a265601f..56cfd181116bc82f83a1ed3a6515a7b4be9207d0 100755 (executable)
@@ -35,7 +35,7 @@
 #define HAS_64BITS_ATOMICS 1
 
 /* mingw is missing InterlockedCompareExchange64 () from winbase.h */
-#ifndef HAVE_DECL_INTERLOCKEDCOMPAREEXCHANGE64
+#if HAVE_DECL_INTERLOCKEDCOMPAREEXCHANGE64==0
 static inline gint64 InterlockedCompareExchange64(volatile gint64 *dest, gint64 exch, gint64 comp)
 {
        return __sync_val_compare_and_swap (dest, comp, exch);
index b24739fa686de7d203056aa7670c081f7abaab4f..c339ebced737526b4eed078345d66c4f46d9ae61 100644 (file)
@@ -32,7 +32,6 @@ MPH_UNIX_SOURCE =                             \
        fstab.c                                 \
        grp.c                                   \
        macros.c                                \
-       mac-reachability.c                      \
        nl.c                                    \
        nl.h                                    \
        old-map.c                               \
@@ -116,10 +115,6 @@ libMonoPosixHelper_la_LIBADD =                     \
 libMonoPosixHelper_la_LDFLAGS = -no-undefined -avoid-version
 libMonoSupportW_la_LDFLAGS = -no-undefined -avoid-version
 
-if PLATFORM_DARWIN
-libMonoPosixHelper_la_LDFLAGS += -framework CoreFoundation -framework SystemConfiguration
-endif
-
 libMonoSupportW_la_SOURCES =                   \
                supportw.c                      \
                support-heap.c                  \
diff --git a/support/mac-reachability.c b/support/mac-reachability.c
deleted file mode 100644 (file)
index c2499f5..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-//
-// mac-reachability.c: System.Net.NetworkingInformation.NetworkChange
-// implementation for Mac OS X using SystemConfiguration's
-// NetworkReachability API.
-//
-// Authors:
-//  Aaron Bockover (abock@xamarin.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 HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-int mono_sc_reachability_enabled (void);
-
-#if defined(PLATFORM_MACOSX) || defined(TARGET_IOS)
-
-int
-mono_sc_reachability_enabled (void)
-{
-       return 1;
-}
-
-#include <SystemConfiguration/SCNetworkReachability.h>
-#include <netinet/in.h>
-
-typedef void (*mono_sc_reachability_callback)(int);
-
-typedef struct {
-       SCNetworkReachabilityRef reachability;
-       mono_sc_reachability_callback callback;
-} mono_sc_reachability;
-
-mono_sc_reachability * mono_sc_reachability_new (mono_sc_reachability_callback callback);
-void mono_sc_reachability_free (mono_sc_reachability *reachability);
-int mono_sc_reachability_is_available (mono_sc_reachability *reachability);
-
-static int
-_mono_sc_reachability_is_available (SCNetworkReachabilityFlags flags)
-{
-       return (flags & kSCNetworkFlagsReachable) && (flags & kSCNetworkFlagsConnectionRequired) == 0;
-}
-
-static void
-_mono_sc_reachability_callback (SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *user)
-{
-       mono_sc_reachability *reachability;
-       
-       if (user == NULL) {
-               return;
-       }
-
-       reachability = (mono_sc_reachability *)user;
-       if (reachability->callback == NULL) {
-               return;
-       }
-
-       reachability->callback (_mono_sc_reachability_is_available (flags));
-}
-
-mono_sc_reachability *
-mono_sc_reachability_new (mono_sc_reachability_callback callback)
-{
-       struct sockaddr_in zero;
-       SCNetworkReachabilityRef reachability;
-       SCNetworkReachabilityContext context;
-       mono_sc_reachability *instance;
-
-       if (callback == NULL) {
-               return NULL;
-       }
-
-       bzero (&zero, sizeof (zero));
-       zero.sin_len = sizeof (zero);
-       zero.sin_family = AF_INET;
-
-       reachability = SCNetworkReachabilityCreateWithAddress (NULL, (const struct sockaddr *)&zero);
-       if (reachability == NULL) {
-               return NULL;
-       }
-
-       instance = (mono_sc_reachability *)malloc (sizeof (mono_sc_reachability));
-       instance->reachability = reachability;
-       instance->callback = callback;
-
-       bzero (&context, sizeof (context));
-       context.info = instance;
-
-       if (!SCNetworkReachabilitySetCallback (reachability, _mono_sc_reachability_callback, &context) ||
-               !SCNetworkReachabilityScheduleWithRunLoop (reachability, CFRunLoopGetCurrent (), kCFRunLoopDefaultMode)) {
-               mono_sc_reachability_free (instance);
-               return NULL;
-       }
-
-       return instance;
-}
-
-void
-mono_sc_reachability_free (mono_sc_reachability *reachability)
-{
-       if (reachability != NULL) {
-               if (reachability->reachability != NULL) {
-                       SCNetworkReachabilityUnscheduleFromRunLoop (reachability->reachability,
-                               CFRunLoopGetCurrent (), kCFRunLoopDefaultMode);
-                       CFRelease (reachability->reachability);
-                       reachability->reachability = NULL;
-               }
-
-               reachability->callback = NULL;
-               free (reachability);
-               reachability = NULL;
-       }
-}
-
-int
-mono_sc_reachability_is_available (mono_sc_reachability *reachability)
-{
-       SCNetworkReachabilityFlags flags;
-       return reachability != NULL && reachability->reachability != NULL &&
-               SCNetworkReachabilityGetFlags (reachability->reachability, &flags) &&
-               _mono_sc_reachability_is_available (flags);
-}
-
-#else
-
-int
-mono_sc_reachability_enabled (void)
-{
-       return 0;
-}
-
-#endif