Imported Upstream version 4.8.0.309

Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-11-10 13:04:39 +00:00
parent ee1447783b
commit 94b2861243
4912 changed files with 390737 additions and 49310 deletions

View File

@@ -116,7 +116,7 @@ namespace System {
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern AppDomainSetup getSetup ();
#if NET_2_1
#if MOBILE
internal
#endif
AppDomainSetup SetupInformationNoCopy {
@@ -130,7 +130,7 @@ namespace System {
}
}
#if !NET_2_1
#if !MOBILE
[MonoTODO]
public ApplicationTrust ApplicationTrust {
get { throw new NotImplementedException (); }
@@ -139,7 +139,7 @@ namespace System {
public string BaseDirectory {
get {
string path = SetupInformationNoCopy.ApplicationBase;
#if !NET_2_1
#if !MOBILE
if (SecurityManager.SecurityEnabled && (path != null) && (path.Length > 0)) {
// we cannot divulge local file informations
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, path).Demand ();
@@ -152,7 +152,7 @@ namespace System {
public string RelativeSearchPath {
get {
string path = SetupInformationNoCopy.PrivateBinPath;
#if !NET_2_1
#if !MOBILE
if (SecurityManager.SecurityEnabled && (path != null) && (path.Length > 0)) {
// we cannot divulge local file informations
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, path).Demand ();
@@ -169,7 +169,7 @@ namespace System {
return null;
string path = Path.Combine (setup.DynamicBase, setup.ApplicationName);
#if !NET_2_1
#if !MOBILE
if (SecurityManager.SecurityEnabled && (path != null) && (path.Length > 0)) {
// we cannot divulge local file informations
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, path).Demand ();
@@ -311,7 +311,7 @@ namespace System {
SetupInformationNoCopy.ShadowCopyDirectories = String.Empty;
}
#if !NET_2_1
#if !MOBILE
public ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName)
{
return Activator.CreateComInstanceFrom (assemblyName, typeName);
@@ -1027,7 +1027,7 @@ namespace System {
} else if (info.ConfigurationFile == null)
info.ConfigurationFile = "[I don't have a config file]";
#if !NET_2_1
#if !MOBILE
if (info.AppDomainInitializer != null) {
if (!info.AppDomainInitializer.Method.IsStatic)
throw new ArgumentException ("Non-static methods cannot be invoked as an appdomain initializer");
@@ -1047,7 +1047,7 @@ namespace System {
else
ad._evidence = new Evidence (securityInfo); // copy
#if !NET_2_1
#if !MOBILE
if (info.AppDomainInitializer != null) {
Loader loader = new Loader (
info.AppDomainInitializer.Method.DeclaringType.Assembly.Location);
@@ -1082,7 +1082,7 @@ namespace System {
}
#endif // MONO_FEATURE_MULTIPLE_APPDOMAINS
#if !NET_2_1
#if !MOBILE
[Serializable]
class Loader {
@@ -1133,7 +1133,7 @@ namespace System {
}
#endif // MONO_FEATURE_MULTIPLE_APPDOMAINS
#if !NET_2_1
#if !MOBILE
#if MONO_FEATURE_MULTIPLE_APPDOMAINS
public static AppDomain CreateDomain (string friendlyName, Evidence securityInfo, AppDomainSetup info,
PermissionSet grantSet, params StrongName [] fullTrustAssemblies)
@@ -1217,14 +1217,16 @@ namespace System {
SetData (name, data);
}
#if !NET_2_1
[Obsolete ("Use AppDomainSetup.DynamicBase")]
[SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
public void SetDynamicBase (string path)
{
#if MOBILE
throw new PlatformNotSupportedException ();
#else
SetupInformationNoCopy.DynamicBase = path;
#endif // MOBILE
}
#endif // !NET_2_1
[Obsolete ("AppDomain.GetCurrentThreadId has been deprecated"
+ " because it does not provide a stable Id when managed"
@@ -1286,14 +1288,11 @@ namespace System {
private Assembly DoAssemblyResolve (string name, Assembly requestingAssembly, bool refonly)
{
ResolveEventHandler del;
#if !NET_2_1
if (refonly)
del = ReflectionOnlyAssemblyResolve;
else
del = AssemblyResolve;
#else
del = AssemblyResolve;
#endif
if (del == null)
return null;
@@ -1490,9 +1489,7 @@ namespace System {
}
#endif // MONO_FEATURE_MULTIPLE_APPDOMAINS
#if !MOBILE
public event ResolveEventHandler ReflectionOnlyAssemblyResolve;
#endif
#pragma warning disable 649
#if MOBILE

View File

@@ -36,6 +36,7 @@ using System.IO;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Hosting;
@@ -47,7 +48,7 @@ namespace System
[ClassInterface (ClassInterfaceType.None)]
[ComVisible (true)]
[StructLayout (LayoutKind.Sequential)]
#if NET_2_1
#if MOBILE
public sealed class AppDomainSetup
#else
public sealed class AppDomainSetup : IAppDomainSetup
@@ -139,12 +140,27 @@ namespace System
appBase = appBase.Substring (7);
if (Path.DirectorySeparatorChar != '/')
appBase = appBase.Replace ('/', Path.DirectorySeparatorChar);
if (Environment.IsRunningOnWindows) {
// Under Windows prepend "//" to indicate it's a local file
appBase = "//" + appBase;
}
appBase = Path.GetFullPath (appBase);
if (Path.DirectorySeparatorChar != '/') {
bool isExtendedPath = appBase.StartsWith (@"\\?\", StringComparison.Ordinal);
if (appBase.IndexOf (':', isExtendedPath ? 6 : 2) != -1) {
throw new NotSupportedException ("The given path's format is not supported.");
}
} else {
appBase = Path.GetFullPath (appBase);
}
// validate the path
string dir = Path.GetDirectoryName (appBase);
if ((dir != null) && (dir.LastIndexOfAny (Path.GetInvalidPathChars ()) >= 0)) {
string msg = String.Format (Locale.GetText ("Invalid path characters in path: '{0}'"), appBase);
throw new ArgumentException (msg, "appBase");
}
string fname = Path.GetFileName (appBase);
if ((fname != null) && (fname.LastIndexOfAny (Path.GetInvalidFileNameChars ()) >= 0)) {
string msg = String.Format (Locale.GetText ("Invalid filename characters in path: '{0}'"), appBase);
throw new ArgumentException (msg, "appBase");
}
return appBase;

View File

@@ -29,7 +29,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System.Text;
using System.Runtime.InteropServices;

View File

@@ -31,7 +31,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System;
using System.Text;

View File

@@ -41,7 +41,7 @@ namespace System
{
public static partial class Console
{
#if !NET_2_1
#if !MOBILE
private class WindowsConsole
{
public static bool ctrlHandlerAdded = false;
@@ -100,7 +100,7 @@ namespace System
//
// On Windows, follow the Windows tradition
//
#if NET_2_1
#if MOBILE
// should never happen since Moonlight does not run on windows
inputEncoding = outputEncoding = Encoding.Default;
#else
@@ -134,7 +134,7 @@ namespace System
static void SetupStreams (Encoding inputEncoding, Encoding outputEncoding)
{
#if !NET_2_1
#if !MOBILE
if (!Environment.IsRunningOnWindows && ConsoleDriver.IsConsole) {
stdin = new CStreamReader (OpenStandardInput (0), inputEncoding);
stdout = TextWriter.Synchronized (new CStreamWriter (OpenStandardOutput (0), outputEncoding, true) { AutoFlush = true });
@@ -488,7 +488,7 @@ namespace System
stdout.WriteLine (String.Format (format, args));
}
#if !NET_2_1
#if !MOBILE
public static int Read ()
{
if ((stdin is CStreamReader) && ConsoleDriver.IsConsole) {
@@ -539,7 +539,7 @@ namespace System
}
}
#if !NET_2_1
#if !MOBILE
public static ConsoleColor BackgroundColor {
get { return ConsoleDriver.BackgroundColor; }
set { ConsoleDriver.BackgroundColor = value; }

View File

@@ -27,7 +27,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System.IO;
using System.Runtime.CompilerServices;

View File

@@ -57,7 +57,7 @@ namespace System {
* of icalls, do not require an increment.
*/
#pragma warning disable 169
private const int mono_corlib_version = 149;
private const int mono_corlib_version = 156;
#pragma warning restore 169
[ComVisible (true)]
@@ -322,7 +322,7 @@ namespace System {
return trace.ToString ();
}
}
#if !NET_2_1
/// <summary>
/// Get a fully qualified path to the system directory
/// </summary>
@@ -331,7 +331,7 @@ namespace System {
return GetFolderPath (SpecialFolder.System);
}
}
#endif
/// <summary>
/// Get the number of milliseconds that have elapsed since the system was booted
/// </summary>
@@ -472,7 +472,15 @@ namespace System {
public extern static string[] GetCommandLineArgs ();
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static string internalGetEnvironmentVariable (string variable);
internal extern static string internalGetEnvironmentVariable_native (IntPtr variable);
internal static string internalGetEnvironmentVariable (string variable) {
if (variable == null)
return null;
using (var h = Mono.RuntimeMarshal.MarshalString (variable)) {
return internalGetEnvironmentVariable_native (h.Value);
}
}
/// <summary>
/// Return a string containing the value of the environment
@@ -480,7 +488,7 @@ namespace System {
/// </summary>
public static string GetEnvironmentVariable (string variable)
{
#if !NET_2_1
#if !MOBILE
if (SecurityManager.SecurityEnabled) {
new EnvironmentPermission (EnvironmentPermissionAccess.Read, variable).Demand ();
}
@@ -503,7 +511,7 @@ namespace System {
/// <summary>
/// Return a set of all environment variables and their values
/// </summary>
#if !NET_2_1
#if !MOBILE
public static IDictionary GetEnvironmentVariables ()
{
StringBuilder sb = null;
@@ -565,7 +573,7 @@ namespace System {
else
dir = UnixGetFolderPath (folder, option);
#if !NET_2_1
#if !MOBILE
if ((dir != null) && (dir.Length > 0) && SecurityManager.SecurityEnabled) {
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, dir).Demand ();
}
@@ -917,7 +925,9 @@ namespace System {
[SecurityCritical]
public static void FailFast (string message, Exception exception)
{
throw new NotImplementedException ();
#pragma warning disable 618
throw new ExecutionEngineException (message, exception);
#pragma warning restore
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
@@ -951,7 +961,7 @@ namespace System {
}
#endif
#if !NET_2_1
#if !MOBILE
//
// Used by gacutil.exe
//
@@ -986,6 +996,14 @@ namespace System {
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static int GetPageSize ();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern private static string get_bundled_machine_config ();
internal static string GetBundledMachineConfig ()
{
return get_bundled_machine_config ();
}
static internal bool IsUnix {
get {
int platform = (int) Environment.Platform;

View File

@@ -1,159 +0,0 @@
//
// System.GC.cs
//
// Author:
// Paolo Molaro (lupus@ximian.com)
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
//
//
// 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.Runtime.CompilerServices;
using System.Runtime.ConstrainedExecution;
using System.Security.Permissions;
namespace System
{
public static class GC
{
public extern static int MaxGeneration {
[MethodImplAttribute(MethodImplOptions.InternalCall)]
get;
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
extern static void InternalCollect (int generation);
public static void Collect () {
InternalCollect (MaxGeneration);
}
public static void Collect (int generation) {
if (generation < 0)
throw new ArgumentOutOfRangeException ("generation");
InternalCollect (generation);
}
[MonoDocumentationNote ("mode parameter ignored")]
public static void Collect (int generation, GCCollectionMode mode) {
Collect (generation);
}
[MonoDocumentationNote ("mode and blocking parameters ignored")]
public static void Collect (int generation, GCCollectionMode mode, bool blocking) {
Collect (generation);
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static int GetGeneration (object obj);
public static int GetGeneration (WeakReference wo) {
object obj = wo.Target;
if (obj == null)
throw new ArgumentException ();
return GetGeneration (obj);
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static long GetTotalMemory (bool forceFullCollection);
/* this icall has weird semantics check the docs... */
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static void KeepAlive (object obj);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static void ReRegisterForFinalize (object obj);
[ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static void SuppressFinalize (object obj);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static void WaitForPendingFinalizers ();
[ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static int CollectionCount (int generation);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern static void RecordPressure (long bytesAllocated);
public static void AddMemoryPressure (long bytesAllocated) {
RecordPressure (bytesAllocated);
}
public static void RemoveMemoryPressure (long bytesAllocated) {
RecordPressure (-bytesAllocated);
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
[MonoTODO]
public static GCNotificationStatus WaitForFullGCApproach () {
throw new NotImplementedException ();
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
[MonoTODO]
public static GCNotificationStatus WaitForFullGCApproach (int millisecondsTimeout) {
throw new NotImplementedException ();
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
[MonoTODO]
public static GCNotificationStatus WaitForFullGCComplete () {
throw new NotImplementedException ();
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
[MonoTODO]
public static GCNotificationStatus WaitForFullGCComplete (int millisecondsTimeout) {
throw new NotImplementedException ();
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
public static void RegisterForFullGCNotification (int maxGenerationThreshold, int largeObjectHeapThreshold) {
if (maxGenerationThreshold < 1 || maxGenerationThreshold > 99)
throw new ArgumentOutOfRangeException ("maxGenerationThreshold", maxGenerationThreshold, "maxGenerationThreshold must be between 1 and 99 inclusive");
if (largeObjectHeapThreshold < 1 || largeObjectHeapThreshold > 99)
throw new ArgumentOutOfRangeException ("largeObjectHeapThreshold", largeObjectHeapThreshold, "largeObjectHeapThreshold must be between 1 and 99 inclusive");
throw new NotImplementedException ();
}
[PermissionSetAttribute (SecurityAction.LinkDemand, Name = "FullTrust")]
public static void CancelFullGCNotification () {
throw new NotImplementedException ();
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static void register_ephemeron_array (Ephemeron[] array);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
extern static object get_ephemeron_tombstone ();
internal static readonly object EPHEMERON_TOMBSTONE = get_ephemeron_tombstone ();
}
}

View File

@@ -1,38 +0,0 @@
//
// System.GCCollectionMode.cs
//
//
// 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.
//
// Net 3.5 type
namespace System
{
[Serializable]
public enum GCCollectionMode {
Default = 0,
Forced = 1,
Optimized = 2
}
}

View File

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

View File

@@ -26,7 +26,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System.Runtime.InteropServices;
using System.Text;
namespace System {

View File

@@ -41,7 +41,7 @@ namespace System
[ComVisible (true)]
public static class Nullable {
#if NET_2_1
#if MOBILE
[ComVisible (false)]
#endif
public static int Compare<T> (T? n1, T? n2) where T: struct
@@ -56,7 +56,7 @@ namespace System
return n2.has_value ? -1 : 0;
}
#if NET_2_1
#if MOBILE
[ComVisible (false)]
#endif
public static bool Equals<T> (T? n1, T? n2) where T: struct

View File

@@ -243,5 +243,9 @@ namespace System
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern static bool IsGenericTypeDefinition (RuntimeType type);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern static IntPtr GetGenericParameterInfo (RuntimeType type);
}
}

View File

@@ -33,7 +33,7 @@
// https://github.com/dotnet/corefx
// src/System.Console/src/System/ConsolePal.Unix.cs
//
#if !NET_2_1
#if !MOBILE
//
// Defining this writes the output to console.log

View File

@@ -27,7 +27,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
// These values are taken from 'man 5 terminfo' and /usr/include/term.h.
// They are the indexes for the numeric capabilities in a terminfo file.

View File

@@ -27,7 +27,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System.IO;
using System.Text;
namespace System {

View File

@@ -27,7 +27,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
// These values are taken from 'man 5 terminfo' and /usr/include/term.h.
// They are the indexes for the string capabilities in a terminfo file.

View File

@@ -273,7 +273,7 @@ namespace System
#endif
private AdjustmentRule [] adjustmentRules;
#if !NET_2_1 || MOBILE_STATIC
#if !MOBILE || MOBILE_STATIC
/// <summary>
/// Determine whether windows of not (taken Stephane Delcroix's code)
/// </summary>
@@ -538,7 +538,7 @@ namespace System
//FIXME: this method should check for cached values in systemTimeZones
if (id == null)
throw new ArgumentNullException ("id");
#if !NET_2_1
#if !MOBILE
if (TimeZoneKey != null)
{
if (id == "Coordinated Universal Time")
@@ -568,7 +568,7 @@ namespace System
}
#endif
#if !NET_2_1
#if !MOBILE
private static TimeZoneInfo FromRegistryKey (string id, RegistryKey key)
{
byte [] reg_tzi = (byte []) key.GetValue ("TZI");
@@ -919,7 +919,7 @@ namespace System
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset)
{
throw new NotImplementedException ();
return IsDaylightSavingTime (dateTimeOffset.DateTime);
}
internal DaylightTime GetDaylightChanges (int year)

View File

@@ -54,7 +54,7 @@ namespace System
}
//Constructors
#if NET_2_1
#if MOBILE
protected WeakReference ()
{
}

View File

@@ -26,7 +26,7 @@
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !NET_2_1
#if !MOBILE
using System.Runtime.InteropServices;
using System.Text;
namespace System {