Imported Upstream version 5.20.0.180

Former-commit-id: ff953ca879339fe1e1211f7220f563e1342e66cb
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-02-04 20:11:37 +00:00
parent 0e2d47d1c8
commit 0510252385
3360 changed files with 83827 additions and 39243 deletions

View File

@@ -230,7 +230,7 @@
</type>
<!-- reflection.c mono_get_reflection_missing_object -->
<type fullname="System.Missing" preserve="fields" />
<type fullname="System.Reflection.Missing" preserve="fields" />
<type fullname="System.MarshalByRefObject" preserve="fields" feature="remoting" />
@@ -322,9 +322,6 @@
<method signature="System.Void .ctor()" />
</type>
<!-- reflection.c: mono_get_reflection_missing_object -->
<type fullname="System.Reflection.Missing" preserve="field" />
<!-- domain.c: mono_defaults.argumenthandle_class -->
<type fullname="System.RuntimeArgumentHandle" preserve="fields" />
@@ -472,10 +469,7 @@
<!-- icalls - but (at least parts of them) are used thru interfaces at runtime and cannot be linked out -->
<type fullname="System.Globalization.DateTimeFormatInfo" preserve="fields" />
<type fullname="System.Globalization.CompareInfo" preserve="fields" />
<type fullname="System.Globalization.CultureInfo" preserve="fields">
<!-- icall.c: fill_reflection_assembly_name (assert) and ves_icall_System_Reflection_Assembly_GetReferencedAssemblies (assert) -->
<method name="CreateCulture" />
</type>
<type fullname="System.Globalization.CultureInfo" preserve="fields" />
<type fullname="System.Globalization.NumberFormatInfo" preserve="fields" />
<type fullname="System.Globalization.RegionInfo" preserve="fields" />
<type fullname="System.Globalization.SortKey" preserve="fields" />
@@ -554,11 +548,6 @@
<type fullname="System.Reflection.MonoEvent" preserve="fields" />
<type fullname="System.Reflection.MonoEventInfo" preserve="fields" />
<type fullname="System.Reflection.MonoField" preserve="fields" />
<!-- reflection.c: mono_method_get_object uses both MonoGeneric[C]Method / will crash for ves_icall_Type_GetConstructors_internal -->
<type fullname="System.Reflection.MonoGenericMethod" preserve="fields" />
<type fullname="System.Reflection.MonoGenericCMethod" preserve="fields" />
<type fullname="System.Reflection.MonoMethod" preserve="fields" />
<type fullname="System.Reflection.MonoMethodInfo" preserve="fields" />
<type fullname="System.Reflection.MonoPropertyInfo" preserve="fields" />
@@ -743,7 +732,7 @@
</type>
<!-- object.c: mono_object_new_specific_checked -->
<type fullname="System.Runtime.Remoting.Activation.ActivationServices" >
<type fullname="System.Runtime.Remoting.Activation.ActivationServices" feature="remoting">
<method name="CreateProxyForType"/>
</type>
@@ -753,9 +742,6 @@
<method signature="System.Void .ctor(System.String)" />
</type>
<!-- domain.c: mono_defaults.runtimesecurityframe_class -->
<type fullname="System.Security.RuntimeSecurityFrame" preserve="fields" />
<!-- domain.c: mono_defaults.executioncontext_class -->
<type fullname="System.Threading.ExecutionContext">
<!-- security-manager.c: mono_get_context_capture_method (can likely be removed) -->

View File

@@ -43,6 +43,7 @@ RESX_RESOURCE_STRING = \
../../../external/corefx/src/System.Net.Requests/src/Resources/Strings.resx \
../../../external/corefx/src/System.Net.Http/src/Resources/Strings.resx \
../../../external/corefx/src/System.Numerics.Vectors/src/Resources/Strings.resx \
../../../external/corefx/src/System.Reflection.TypeExtensions/src/Resources/Strings.resx \
../../../external/corefx/src/System.Runtime.Extensions/src/Resources/Strings.resx \
../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/Resources/Strings.resx \
../../../external/corefx/src/System.Runtime.Numerics/src/Resources/Strings.resx \
@@ -55,8 +56,8 @@ RESX_RESOURCE_STRING = \
../../../external/corefx/src/System.Threading.Tasks.Parallel/src/Resources/Strings.resx \
../../../external/corefx/src/System.ObjectModel/src/Resources/Strings.resx \
../../../external/corert/src/System.Private.CoreLib/src/Resources/Strings.resx \
../../../external/corefx/src/System.Private.Uri/src/Resources/Strings.resx
../../../external/corefx/src/System.Private.Uri/src/Resources/Strings.resx \
../../../external/corefx/src/Microsoft.Win32.Registry/src/Resources/Strings.resx
LIBRARY_COMPILE = $(BOOT_COMPILE)
LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
@@ -70,6 +71,8 @@ RESOURCE_STRINGS = ../referencesource/mscorlib/mscorlib.txt
MODULE_DEPS = $(IL_REPLACE)
endif
MODULE_DEPS += LinkerDescriptor/mscorlib.xml
RESOURCE_FILES = \
resources/charinfo.nlp \
resources/collation.core.bin \
@@ -122,7 +125,7 @@ ifdef MONO_FEATURE_APPLE_X509
LIB_MCS_FLAGS += -d:MONO_FEATURE_APPLE_X509
endif
COREFX_FLAGS := -d:BIT64
COREFX_FLAGS := -d:BIT64,REGISTRY_ASSEMBLY
WARNING_ABOUT_DISABLED_WARNING=1635
LOCAL_MCS_FLAGS = -unsafe -nostdlib -nowarn:612,618,3001,3002,3003,$(WARNING_ABOUT_DISABLED_WARNING) -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC $(REFERENCE_SOURCES_FLAGS) $(COREFX_FLAGS)
@@ -132,6 +135,7 @@ TEST_LIB_REFS = System.Core System
XTEST_LIB_REFS = System System.Core Facades/System.Threading.Tasks Facades/System.Text.RegularExpressions System.Numerics System.Runtime.CompilerServices.Unsafe
XTEST_LIB_FLAGS = -d:netcoreapp -publicsign -keyfile:../mono.snk
XTEST_MCS_FLAGS = -resource:../../../external/corefx/src/System.Reflection/tests/Resources/ResourceTextFile.txt,ResourceTextFile.txt
ifndef AOT_FRIENDLY_PROFILE
ifneq ($(PROFILE),testing_aot_hybrid)
@@ -171,6 +175,13 @@ CommonCrypto/%.g.cs:
endif
EXTRA_DISTFILES = \
Test/resources/culture-*.cs \
$(RESOURCE_FILES) \
$(TEST_RESOURCE_FILES) \
$(TEST_RESOURCES:.resources=.resx) \
LinkerDescriptor/mscorlib_test.xml
TEST_RESOURCE_FILES = \
Test/resources/MyResources.resources \
Test/resources/MyResources.de.resources \
Test/resources/Empty.resources \
@@ -179,11 +190,9 @@ EXTRA_DISTFILES = \
Test/resources/StreamTest.ja.resources \
Test/resources/bug81759.resources \
Test/resources/415628.bin \
Test/resources/Fergie.GED \
Test/resources/culture-*.cs \
$(RESOURCE_FILES) \
$(TEST_RESOURCES:.resources=.resx) \
LinkerDescriptor/mscorlib_test.xml
Test/resources/Fergie.GED
TEST_MCS_FLAGS += $(foreach r, $(TEST_RESOURCE_FILES), -resource:$(r),$(r))
TEST_RESX_RESOURCES = \
Test/resources/Resources.resources
@@ -192,7 +201,7 @@ TEST_RESX_RESOURCES_SATELITE = \
Test/resources/Resources.es-ES.resources \
Test/resources/Resources.nn-NO.resources
CLEAN_FILES += $(TEST_RESX_RESOURCES) $(IL_REPLACE)
CLEAN_FILES += $(TEST_RESX_RESOURCES) $(TEST_RESX_RESOURCES_SATELITE) $(IL_REPLACE)
include $(topdir)/build/library.make
@@ -204,7 +213,7 @@ TEST_RESOURCES = $(TEST_RESX_RESOURCES) $(TEST_RESX_RESOURCES_SATELITE)
satellite_assembly1 = $(test_lib_dir)/es-ES/$(patsubst %.dll,%.resources.dll,$(test_lib))
satellite_assembly2 = $(test_lib_dir)/nn-NO/$(patsubst %.dll,%.resources.dll,$(test_lib))
$(test_lib_output): $(TEST_RESOURCES) $(satellite_assembly1) $(satellite_assembly2) | $(test_lib_dir)
$(test_lib_output): $(TEST_RESOURCES) $(satellite_assembly1) $(satellite_assembly2) $(test_lib_dir)
$(satellite_assembly1): Test/resources/culture-es-ES.cs Test/resources/Resources.es-ES.resources
@mkdir -p $(dir $@)

View File

@@ -1,51 +0,0 @@
//
// Microsoft.Win32.RegistryHive.cs
//
// Author:
// Alexandre Pigolkine (pigolkine@gmx.de)
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Runtime.InteropServices;
namespace Microsoft.Win32
{
[Serializable]
[ComVisible (true)]
public enum RegistryHive
{
ClassesRoot = -2147483648,
CurrentConfig = -2147483643,
CurrentUser = -2147483647,
DynData = -2147483642,
LocalMachine = -2147483646,
PerformanceData = -2147483644,
Users = -2147483645
}
}

View File

@@ -1,38 +0,0 @@
//
// Microsoft.Win32.RegistryKeyPermissionCheck.cs
//
// Author:
// Dick Porter (dick@ximian.com)
//
// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace Microsoft.Win32
{
public enum RegistryKeyPermissionCheck
{
Default = 0,
ReadSubTree = 1,
ReadWriteSubTree = 2,
}
}

View File

@@ -1,37 +0,0 @@
//
// Microsoft.Win32.RegistryOptions.cs
//
// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace Microsoft.Win32 {
[Flags]
[Serializable]
public enum RegistryOptions {
None,
Volatile
}
}

View File

@@ -1,44 +0,0 @@
//
// Microsoft.Win32.RegistryValueKind.cs
//
//
//
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace Microsoft.Win32
{
[ComVisible (true)]
public enum RegistryValueKind {
Unknown,
String,
ExpandString,
Binary,
DWord,
MultiString = 7,
QWord = 11,
None = -1
}
}

View File

@@ -1,39 +0,0 @@
//
// Microsoft.Win32.RegistryValueOptions.cs
//
// Author:
// Gert Driesen (drieseng@users.sourceforge.net)
//
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace Microsoft.Win32
{
[Flags]
public enum RegistryValueOptions {
None,
DoNotExpandEnvironmentNames,
}
}

View File

@@ -1,37 +0,0 @@
//
// Microsoft.Win32.RegistryView.cs
//
// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace Microsoft.Win32 {
[Serializable]
public enum RegistryView {
Default,
Registry64 = 0x100,
Registry32 = 0x200
}
}

View File

@@ -1030,4 +1030,3 @@ namespace Microsoft.Win32 {
}
#endif // MOBILE

View File

@@ -23,10 +23,10 @@
// LIABILITY, WHETHER IN AN ACTION 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;
#if !(MONOTOUCH || MONODROID)
using System.Reflection;
#endif
using System.Runtime.CompilerServices;
namespace Mono
{
@@ -45,13 +45,9 @@ namespace Mono
if (systemDependency != null)
return systemDependency;
// Not using `MOBILE` as a conditional here because we want to use this on full-aot.
#if !(MONOTOUCH || MONODROID)
// On Mobile, we initializes this during system startup.
systemDependency = ReflectionLoad ();
#endif
if (systemDependency == null)
throw new PlatformNotSupportedException ("Cannot get `ISystemDependencyProvider`.");
throw new PlatformNotSupportedException ($"Cannot find '{TypeName}' dependency");
return systemDependency;
}
@@ -67,22 +63,21 @@ namespace Mono
}
}
#if !(MONOTOUCH || MONODROID)
const string TypeName = "Mono.SystemDependencyProvider, " + Consts.AssemblySystem;
const string TypeName = "Mono.SystemDependencyProvider, System";
[PreserveDependency ("get_Instance()", "Mono.SystemDependencyProvider", "System")]
static ISystemDependencyProvider ReflectionLoad ()
{
var type = Type.GetType (TypeName);
if (type == null)
return null;
var prop = type.GetProperty ("Instance", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public);
var prop = type.GetProperty ("Instance", BindingFlags.Static | BindingFlags.Public | BindingFlags.DeclaredOnly);
if (prop == null)
return null;
return (ISystemDependencyProvider)prop.GetValue (null);
return (ISystemDependencyProvider) prop.GetValue (null);
}
#endif
static object locker = new object ();
static ISystemDependencyProvider systemDependency;

View File

@@ -0,0 +1,86 @@
//
// MonoNativePlatform.cs
//
// Author:
// Martin Baulig <mabaul@microsoft.com>
//
// Copyright (c) 2018 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.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Mono
{
/*
* The purpose of this class is to be used by test such as for instance
* the xamarin-macios test suite to examine and test the Mono.Native
* library.
*/
static class MonoNativePlatform
{
[DllImport ("System.Native")]
extern static int mono_native_get_platform_type ();
public static MonoNativePlatformType GetPlatformType ()
{
return (MonoNativePlatformType)mono_native_get_platform_type ();
}
/*
* Test Suite Use Only.
*/
[MethodImpl (MethodImplOptions.InternalCall)]
extern static int IncrementInternalCounter ();
[DllImport ("System.Native")]
extern static int mono_native_is_initialized ();
[DllImport ("System.Native")]
extern static int mono_native_initialize ();
/*
* This method is called by the xamarin-macios test suite
* to register the `IncrementInternalCounter` icall.
*
* It ensures that the native library can call
* `mono_add_internal_call_with_flags` and the mtouch and mmp
* tools can correctly deal with it.
*/
public static void Initialize ()
{
mono_native_initialize ();
}
public static bool IsInitialized ()
{
return mono_native_is_initialized () != 0;
}
/*
* Test Suite Use Only.
*/
internal static int TestInternalCounter ()
{
// Atomically increments internal counter, for testing purposes only.
return IncrementInternalCounter ();
}
}
}

View File

@@ -1,10 +1,10 @@
//
// DecoupledTask.cs
// MonoNativePlatformType.cs
//
// Authors:
// Marek Safar <marek.safar@gmail.com>
// Author:
// Martin Baulig <mabaul@microsoft.com>
//
// Copyright 2013 Xamarin Inc (http://www.xamarin.com).
// Copyright (c) 2018 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
@@ -23,51 +23,27 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//
using System;
namespace System.Threading.Tasks
namespace Mono
{
//
// A proxy used to break direct dependency to TPL mostly useful for
// mobile profile
//
interface IDecoupledTask
// Keep in sync with mono/native/mono-native-platform-type.h
[Flags]
enum MonoNativePlatformType
{
bool IsCompleted { get; }
MONO_NATIVE_PLATFORM_TYPE_UNKNOWN = 0,
MONO_NATIVE_PLATFORM_TYPE_MACOS = 1,
MONO_NATIVE_PLATFORM_TYPE_IOS = 2,
MONO_NATIVE_PLATFORM_TYPE_LINUX = 3,
MONO_NATIVE_PLATFORM_TYPE_IPHONE = 0x100,
MONO_NATIVE_PLATFORM_TYPE_TV = 0x200,
MONO_NATIVE_PLATFORM_TYPE_WATCH = 0x400,
MONO_NATIVE_PLATFORM_TYPE_COMPAT = 0x1000,
MONO_NATIVE_PLATFORM_TYPE_UNIFIED = 0x2000,
MONO_NATIVE_PLATFORM_TYPE_SIMULATOR = 0x4000,
MONO_NATIVE_PLATFORM_TYPE_DEVICE = 0x8000
}
sealed class DecoupledTask : IDecoupledTask
{
public DecoupledTask (Task task)
{
this.Task = task;
}
public bool IsCompleted {
get {
return Task.IsCompleted;
}
}
public Task Task { get; private set; }
}
sealed class DecoupledTask<T> : IDecoupledTask
{
public DecoupledTask (Task<T> task)
{
this.Task = task;
}
public bool IsCompleted {
get {
return Task.IsCompleted;
}
}
public Task<T> Task { get; private set; }
}
}

View File

@@ -148,7 +148,7 @@ namespace Mono {
}
// All must be set except for configDir_str
static void EnableMicrosoftTelemetry (string appBundleID_str, string appSignature_str, string appVersion_str, string merpGUIPath_str, string eventType_str, string appPath_str)
static void EnableMicrosoftTelemetry (string appBundleID_str, string appSignature_str, string appVersion_str, string merpGUIPath_str, string eventType_str, string appPath_str, string configDir_str)
{
if (RuntimeInformation.IsOSPlatform (OSPlatform.OSX)) {
using (var appBundleID_chars = RuntimeMarshal.MarshalString (appBundleID_str))
@@ -157,14 +157,14 @@ namespace Mono {
using (var merpGUIPath_chars = RuntimeMarshal.MarshalString (merpGUIPath_str))
using (var eventType_chars = RuntimeMarshal.MarshalString (eventType_str))
using (var appPath_chars = RuntimeMarshal.MarshalString (appPath_str))
using (var configDir_chars = RuntimeMarshal.MarshalString (configDir_str))
{
EnableMicrosoftTelemetry_internal (appBundleID_chars.Value, appSignature_chars.Value, appVersion_chars.Value, merpGUIPath_chars.Value, eventType_chars.Value, appPath_chars.Value, IntPtr.Zero);
EnableMicrosoftTelemetry_internal (appBundleID_chars.Value, appSignature_chars.Value, appVersion_chars.Value, merpGUIPath_chars.Value, eventType_chars.Value, appPath_chars.Value, configDir_chars.Value);
}
} else {
throw new PlatformNotSupportedException("Merp support is currently only supported on OSX.");
}
}
#endif
[MethodImplAttribute (MethodImplOptions.InternalCall)]

View File

@@ -472,13 +472,13 @@ namespace System
static extern Type MakeGenericType (Type gt, Type [] types);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern IntPtr GetMethodsByName_native (IntPtr namePtr, BindingFlags bindingAttr, bool ignoreCase);
internal extern IntPtr GetMethodsByName_native (IntPtr namePtr, BindingFlags bindingAttr, MemberListType listType);
internal RuntimeMethodInfo[] GetMethodsByName (string name, BindingFlags bindingAttr, bool ignoreCase, RuntimeType reflectedType)
internal RuntimeMethodInfo[] GetMethodsByName (string name, BindingFlags bindingAttr, MemberListType listType, RuntimeType reflectedType)
{
var refh = new RuntimeTypeHandle (reflectedType);
using (var namePtr = new Mono.SafeStringMarshal (name))
using (var h = new Mono.SafeGPtrArrayHandle (GetMethodsByName_native (namePtr.Value, bindingAttr, ignoreCase))) {
using (var h = new Mono.SafeGPtrArrayHandle (GetMethodsByName_native (namePtr.Value, bindingAttr, listType))) {
var n = h.Length;
var a = new RuntimeMethodInfo [n];
for (int i = 0; i < n; i++) {
@@ -490,7 +490,7 @@ namespace System
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern IntPtr GetPropertiesByName_native (IntPtr name, BindingFlags bindingAttr, bool icase);
extern IntPtr GetPropertiesByName_native (IntPtr name, BindingFlags bindingAttr, MemberListType listType);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern IntPtr GetConstructors_native (BindingFlags bindingAttr);
@@ -509,16 +509,16 @@ namespace System
}
}
RuntimePropertyInfo[] GetPropertiesByName (string name, BindingFlags bindingAttr, bool icase, RuntimeType reflectedType)
RuntimePropertyInfo[] GetPropertiesByName (string name, BindingFlags bindingAttr, MemberListType listType, RuntimeType reflectedType)
{
var refh = new RuntimeTypeHandle (reflectedType);
using (var namePtr = new Mono.SafeStringMarshal (name))
using (var h = new Mono.SafeGPtrArrayHandle (GetPropertiesByName_native (namePtr.Value, bindingAttr, icase))) {
using (var h = new Mono.SafeGPtrArrayHandle (GetPropertiesByName_native (namePtr.Value, bindingAttr, listType))) {
var n = h.Length;
var a = new RuntimePropertyInfo [n];
for (int i = 0; i < n; i++) {
var ph = new Mono.RuntimePropertyHandle (h[i]);
a[i] = (RuntimePropertyInfo) PropertyInfo.GetPropertyFromHandle (ph, refh);
a[i] = (RuntimePropertyInfo) MonoProperty.GetPropertyFromHandle (ph, refh);
}
return a;
}
@@ -592,8 +592,10 @@ namespace System
{
AssemblyName assemblyname = new AssemblyName ();
assemblyname.Name = "GetTypeFromCLSIDDummyAssembly";
clsid_assemblybuilder = AppDomain.CurrentDomain.DefineDynamicAssembly (
assemblyname, AssemblyBuilderAccess.Run);
/* Dynamically created assembly is marked internal to corlib to allow
__ComObject access for dynamic types. */
clsid_assemblybuilder = new AssemblyBuilder (assemblyname, null,
AssemblyBuilderAccess.Run, true);
}
ModuleBuilder modulebuilder = clsid_assemblybuilder.DefineDynamicModule (
clsid.ToString ());
@@ -671,16 +673,16 @@ namespace System
extern int GetGenericParameterPosition ();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern IntPtr GetEvents_native (IntPtr name, BindingFlags bindingAttr);
extern IntPtr GetEvents_native (IntPtr name, BindingFlags bindingAttr, MemberListType listType);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern IntPtr GetFields_native (IntPtr name, BindingFlags bindingAttr);
extern IntPtr GetFields_native (IntPtr name, BindingFlags bindingAttr, MemberListType listType);
RuntimeFieldInfo[] GetFields_internal (string name, BindingFlags bindingAttr, RuntimeType reflectedType)
RuntimeFieldInfo[] GetFields_internal (string name, BindingFlags bindingAttr, MemberListType listType, RuntimeType reflectedType)
{
var refh = new RuntimeTypeHandle (reflectedType);
using (var namePtr = new Mono.SafeStringMarshal (name))
using (var h = new Mono.SafeGPtrArrayHandle (GetFields_native (namePtr.Value, bindingAttr))) {
using (var h = new Mono.SafeGPtrArrayHandle (GetFields_native (namePtr.Value, bindingAttr, listType))) {
int n = h.Length;
var a = new RuntimeFieldInfo[n];
for (int i = 0; i < n; i++) {
@@ -691,11 +693,11 @@ namespace System
}
}
RuntimeEventInfo[] GetEvents_internal (string name, BindingFlags bindingAttr, RuntimeType reflectedType)
RuntimeEventInfo[] GetEvents_internal (string name, BindingFlags bindingAttr, MemberListType listType, RuntimeType reflectedType)
{
var refh = new RuntimeTypeHandle (reflectedType);
using (var namePtr = new Mono.SafeStringMarshal (name))
using (var h = new Mono.SafeGPtrArrayHandle (GetEvents_native (namePtr.Value, bindingAttr))) {
using (var h = new Mono.SafeGPtrArrayHandle (GetEvents_native (namePtr.Value, bindingAttr, listType))) {
int n = h.Length;
var a = new RuntimeEventInfo[n];
for (int i = 0; i < n; i++) {
@@ -710,15 +712,15 @@ namespace System
public extern override Type[] GetInterfaces();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern IntPtr GetNestedTypes_native (IntPtr name, BindingFlags bindingAttr);
extern IntPtr GetNestedTypes_native (IntPtr name, BindingFlags bindingAttr, MemberListType listType);
RuntimeType[] GetNestedTypes_internal (string displayName, BindingFlags bindingAttr)
RuntimeType[] GetNestedTypes_internal (string displayName, BindingFlags bindingAttr, MemberListType listType)
{
string internalName = null;
if (displayName != null)
internalName = TypeIdentifiers.FromDisplay (displayName).InternalName;
using (var namePtr = new Mono.SafeStringMarshal (internalName))
using (var h = new Mono.SafeGPtrArrayHandle (GetNestedTypes_native (namePtr.Value, bindingAttr))) {
using (var h = new Mono.SafeGPtrArrayHandle (GetNestedTypes_native (namePtr.Value, bindingAttr, listType))) {
int n = h.Length;
var a = new RuntimeType [n];
for (int i = 0; i < n; i++) {
@@ -798,6 +800,8 @@ namespace System
}
}
public sealed override bool HasSameMetadataDefinitionAs (MemberInfo other) => HasSameMetadataDefinitionAsCore<RuntimeType> (other);
public override bool IsSZArray {
get {
// TODO: intrinsic
@@ -824,6 +828,5 @@ namespace System
return RuntimeTypeHandle.IsSubclassOf (this, rtType);
}
}
}

View File

@@ -1,47 +0,0 @@
// AssemblyHashAlgorithm.cs
//
// This code was automatically generated from
// ECMA CLI XML Library Specification.
// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
// Created: Wed, 5 Sep 2001 06:38:03 UTC
// Source file: all.xml
// URL: http://devresource.hp.com/devresource/Docs/TechPapers/CSharp/all.xml
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
// Copyright (C) 2004,2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.Configuration.Assemblies {
[Serializable]
[ComVisible (true)]
public enum AssemblyHashAlgorithm {
None = 0,
MD5 = 32771,
SHA1 = 32772,
SHA256 = 32780,
SHA384 = 32781,
SHA512 = 32782,
}
}

View File

@@ -1,44 +0,0 @@
// AssemblyVersionCompatibility.cs
//
// This code was automatically generated from
// ECMA CLI XML Library Specification.
// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
// Created: Wed, 5 Sep 2001 06:38:13 UTC
// Source file: all.xml
// URL: http://devresource.hp.com/devresource/Docs/TechPapers/CSharp/all.xml
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
// Copyright (C) 2004, 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.Configuration.Assemblies {
[Serializable]
[ComVisible (true)]
public enum AssemblyVersionCompatibility {
SameMachine = 1,
SameProcess = 2,
SameDomain = 3
}
}

View File

@@ -185,8 +185,10 @@ namespace System.Diagnostics {
return frames;
var accum = new List<StackFrame> ();
foreach (var t in captured_traces)
accum.AddRange(t.GetFrames ());
foreach (var t in captured_traces) {
for (int i = 0; i < t.FrameCount; i++)
accum.Add (t.GetFrame (i));
}
accum.AddRange (frames);
return accum.ToArray ();

View File

@@ -1,41 +0,0 @@
//
// System.IO.IsolatedStorage.INormalizeForIsolatedStorage
//
// author:
// Duco Fijma (duco@lorentz.xs4all.nl)
//
// (c) 2002 Duco Fijma
// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.IO.IsolatedStorage {
[ComVisible (true)]
public interface INormalizeForIsolatedStorage {
object Normalize ();
}
}

View File

@@ -1,53 +0,0 @@
// IsolatedStorageScope.cs
//
// This code was automatically generated from
// ECMA CLI XML Library Specification.
// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
// Created: Wed, 5 Sep 2001 06:41:21 UTC
// Source file: all.xml
// URL: http://devresource.hp.com/devresource/Docs/TechPapers/CSharp/all.xml
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.IO.IsolatedStorage {
[Flags]
[ComVisible (true)]
[Serializable]
public enum IsolatedStorageScope {
None = 0,
User = 1,
Domain = 2,
Assembly = 4,
// Documented in "C# In A Nutshell"
Roaming = 8,
Machine = 16,
Application = 32
}
}

View File

@@ -1,41 +0,0 @@
//
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace System.IO {
[ComVisible (true)]
[Serializable]
public enum DriveType {
CDRom = 5,
Fixed = 3,
Network = 4,
NoRootDirectory = 1,
Ram = 6,
Removable = 2,
Unknown = 0
}
}

Some files were not shown because too many files have changed in this diff Show More