Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-25Fix typos (#18585)Maher Jendoubi
* Contributing: fix typos * fixed encoding and other typos * fixed encoding and spotted other typos * Update TransformationRules.cs
2020-01-09[corlib] Switch to CharUnicodeInfo from corefx (#18305)Marek Safar
* [corlib] Switch to CharUnicodeInfo from corefx * [csproj] Update project files Co-authored-by: monojenkins <jo.shields+jenkins@xamarin.com>
2020-01-02Cleanup a few dependencies to reduce wasm bcl sizeMarek Safar
2019-12-13Relax faultcode parsing for Soap11 message errors. (#18154)Steve Pfister
* Relax faultcode parsing for Soap11 message errors. The mono implementation was reading the faultcode content as an XmlQualifiedName, which applied the rule where you could not start a name with a number. This caused interoperability problems with the .net framework because their parsing just looks for <namespace>:<name>, where name can be any string. Example: <faultcode>s:1</faultcode> On mono, a soap response that contains a fault code name of 1 will throw an error. If you run the same code on the .net framework, it will not. Fixes https://github.com/mono/mono/issues/12995 * [csproj] Update project files
2019-12-11[corlib] Rename internal LogLevel enum to avoid conflict with Android ↵Alexander Köplinger
LogLevel (#18124) After https://github.com/mono/mono/pull/18040 we now have InternalsVisibleTo for the Mono.Android assembly. This exposed the internal LogLevel enum in BCLDebug which causes an issue when consumed in XA: ``` Java.Lang/Object.cs(119,18): error CS0104: 'LogLevel' is an ambiguous reference between 'Android.Runtime.LogLevel' and 'System.LogLevel' ``` To fix this we rename the internal enum in corlib since it's not really used.
2019-12-11Sockets: Foo_internal to Foo_icall and ves_icall_Foo_internal to ↵Jay Krell
ves_icall_Foo. (#18017) The first is to avoid requiring the signature matching in icall resolution. The second is just to shorten names.
2019-12-04[Wasm] Enable system nunit tests on ci (#17716)Maxim Lipnin
* [wasm][nunit tests] Enable nunit tests for System on CI * [wasm][nunit tests] Exclude failing MonoTests.System.Net.Mail.SmtpClientTest tests * Fix test suit name * [wasm][nunit tests] Exclude MonoTests.System.Net.HttpListenerPrefixCollectionTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.HttpListenerTest nunit tests * [wasm][nunit tests] Exclude MonoTests.System.Net.NetworkInformation.NetworkInterfaceTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.Sockets.UdpClientTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.ComponentModel.PropertyDescriptorCollectionTests nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Collections.Specialized.NameValueCollectionTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Collections.Concurrent.ConcurrentBagTests nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.ComponentModel.BackgroundWorkerTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.NetworkInformation.IPInterfacePropertiesTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.ComponentModel.EventDescriptorCollectionTests nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.ComponentModel.AsyncOperationManagerTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.HttpListenerRequestTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.ServicePointTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.Sockets.TcpListenerTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.WebClientTestAsync nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.WebProxyTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.WebRequestTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Security.Cryptography.X509Certificates.X509Certificate2CollectionTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Timers.TimerTest nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Net.HttpListenerTest.PropertiesWhenClosedSet3 test * [wasm][nunit tests] Increase timeout for System nunit tests * [wasm][nunit tests] Exclude failing MonoTests.System.Security.Cryptography.X509Certificates.X509Certificate2CollectionTest.Find_FindByIssuerName test * [wasm][nunit tests] Remove PNSE expectation in MonoTests.System.Net.Mail.SmtpClientTest tests * [wasm][nunit tests] Remove PNSE expectation in MonoTests.System.Net.HttpListenerPrefixCollectionTest nunit tests * [wasm][nunit tests] Remove PNSE expectation in MonoTests.System.Net.HttpListenerTest nunit tests * Increase CI timeout for System.Core nunit tests * [wasm][nunit tests] Remove PNSE expectation in MonoTests.System.Net.Sockets.UdpClientTest nunit tests * [wasm][nunit tests] Update NetworkInterface class to throw PNSE * [wasm][nunit tests] Ignore failing MonoTests.System.ComponentModel.PropertyDescriptorCollectionTests nunit tests * [wasm][nunit tests] Ignore failing MonoTests.System.Collections.Specialized.NameValueCollectionTest nunit tests * [wasm][nunit tests] Adjust the use of Ignore attribute * [wasm][nunit tests] Categorize failing MonoTests.System.Collections.Concurrent.ConcurrentBagTests nunit tests * [wasm][nunit tests] Categorize failing MonoTests.System.ComponentModel.BackgroundWorkerTest nunit tests * [wasm][nunit tests] Categorize failing MonoTests.System.Net.NetworkInformation.IPInterfacePropertiesTest nunit tests * [wasm][nunit tests] Ignore failing MonoTests.System.Net.NetworkInformation.IPInterfacePropertiesTest nunit tests * [wasm][nunit tests] Remove the category for passing MonoTests.System.Net.HttpListenerRequestTest nunit tests * [wasm][nunit tests] Exclude failing part of MonoTests.System.Net.ServicePointTest.DnsRefreshTimeout test * [wasm][nunit tests] Remove PNSE expectation in failing MonoTests.System.Net.Sockets.TcpListenerTest nunit tests. * [wasm][nunit tests] Exclude failing MonoTests.System.Net.WebProxyTest nunit tests due to libc issue * [wasm][nunit tests] Remove PNSE expectation in MonoTests.System.Net.WebRequestTest.DefaultWebProxy test * [wasm][nunit tests] Exclude failing MonoTests.System.Security.Cryptography.X509Certificates.X509Certificate2CollectionTest nunit tests due to compare info issue
2019-11-25Fix BinaryReader on BE (#17893)Calvin Buckley
Fix BinaryReader on BE The ints passed into the int array ctor needed to be endian swapped. Interestingly, the BinaryWriter implementation currently being used (not refsrc AFAIK) does this on write just fine. Fixes ReadDecimal test on AIX, and adds another test to ensure that Write(decimal) can be read back by ReadDecimal in case.
2019-11-01[threadpool] cache processor count (#17642)Bernhard Urban-Forster
On top of https://github.com/mono/corefx/pull/369 this improves the execution time of `System.Core-xunit` on Linux/ARM64 by 2x, so from: ```console $ make -C mcs/class/System.Core run-xunit-test [...] === TEST EXECUTION SUMMARY === net_4_x_System.Core_xunit-test Total: 48774, Errors: 0, Failed: 0, Skipped: 6, Time: 131.143s ``` to ```console $ make -C mcs/class/System.Core run-xunit-test [...] === TEST EXECUTION SUMMARY === net_4_x_System.Core_xunit-test Total: 48774, Errors: 0, Failed: 0, Skipped: 6, Time: 74.636s ``` This is only relevant for non-netcore. The CoreCLR folks just recently fixed something similar (thanks to Marek sharing this link): https://github.com/dotnet/coreclr/pull/27543
2019-10-25[wasm][bcl] Fix `System.Diagnostics.Trace.TraceError` crash. (#17509)Kenneth Pouncey
* Fix `System.Diagnostics.Trace.TraceError` crash. - WASM does not have access to the command line arguments through the browser so the length is 0 causing index out of range error. - The zero index of the command line arguments is what decides the `AppName` so under WASM the AppName will be blanks. * Address review comments * Remove #ifdef for WASM only. - Addresses review note. - As per channel discussion some embedding scenarios might be the same.
2019-10-17[corlib] Mark YieldAwaitable struct readonly (#17386)mlirAlexander Köplinger
* [corlib] Mark YieldAwaitable struct readonly Make it consistent with .NET Standard/Core which makes future API Compat runs report one less difference. * Bump API snapshot submodule
2019-10-16[System] Add reflection dependency trackingMarek Safar
for built-in type converters
2019-10-03[System.Runtime.Serialization] Make reflection calls linker friendly (#17165)Marek Safar
* [System.Runtime.Serialization] Make reflection calls linker friendly Fixes #12586 * [csproj] Update project files
2019-09-23Restore Previous ExecutionContext Capture Behavior (#16945)Steve Pfister
Restores previous ExecutionContext Capture behavior where we were copying a new SynchronizationContext as opposed to a reference to the existing one. The old behavior caused SynchronizationContextAwaitTaskContinuations to not post to a SynchronizationContext. Fixes https://github.com/mono/mono/issues/16759 Reverts a fix for https://github.com/mono/mono/issues/12421
2019-09-16Fix infrequent hangs in test-runner. (#16793)Johan Lorensson
* Fix infrequent hangs in test-runner. test-runner has been plagued with very infrequent hangs causing long timeouts on CI. Turns out that there is a race in AsyncStreamReader used by Process class for handling stdout/stderr when closing down process. Since AsyncStreamReader::Dispose didn't make sure no pending async read requests were still in flight before closing the stream and underlying handle, it led to a race condition deadlocking the complete process, hanging test-runner. A similar race has also been observed but instead of causing a deadlock, it could also manifest as an System.ObjectDisposedException when doing EndRead while another thread is disposing the underlying stream. Hitting that race didn't deadlock the process but failed to complete invoke of test-runner. Fix is to better protect the async callback and the thread doing the dispose call. In order to make sure we don't close underlying handle while still having async reads in flight, fix also checks async result for completion and if not completed when trying to dispose AsyncStreamReader it will try to cancel outstanding pending IO and wait for completion before closing the stream. Since the issue has only been seen on Windows, the fix will try to cancel pending IO and wait for completion before closing stream on Windows. On other platforms, old behavior will be preserved, meaning that the implementation will still be vunarable to race between pending reads and close of stream, but since problem has not been observed on other platforms and since there is no good way of cancel outstanding blocking reads, old behavior is kept. At some point in future we should look into replacing the implementation of AsyncStreamReader and use cancelation tokens, but since we don't have all corefx support around cancelation in Mono BCL, that currently won't solve the issue, meaning that we need to bring in more classes. Since the problem also occur in test-runner using the build BCL profile, even more needs to be added to that profile in order to get similar support. But due to the infrequency of the problem and that it has only been observed on Windows, the isolated fix seems more reasonable. * Build error fix. * Review feedback. * Fix type cast not working on linux builds. * Adjust icall naming in icall-def.h.
2019-09-10[wasm] test cleanup (#15727)Larry Ewing
* [wasm] stop excluding test_0_large_nullable_invoke on wasm * [wasm] remove wasm exclusion from test_0_simple_double_casts * Add category MultiThreaded to more of the concurrent collection tests * Add more MultiThreaded annotations to HttpListener2Test * Add category MultiThreaded to HttpWebRequestTest * [wasm] flag more tests that are taking down the runtime * [wasm] force sockets to throw PNSE in the ctor for now * [wasm] enable corlib interpreter tests * [wasm] Increase timeout for corlib tests * try to fix wasm-cross-win-release-configure on macos
2019-08-08Fixed RuntimeType.GetConstructorCandidates("") to return 0 elements. (#16054)Steve Pfister
https://github.com/mono/mono/issues/16010 The current behavior for GetConstructorCandidates when the name is null, "", or "*" is to return the set of constructors for the type. For "", .NET Core and .NET Framework return 0 elements. This PR adds a check for "" to match that behavior.
2019-08-06`SocketAsyncEventArgs` cleanups and preparations for the real thing. (#16001)Martin Baulig
Cleaning up the `SocketAsyncEventArgs` class and preparing it for it's eventual adaption from CoreFX. There are a few instance fields and property accessors with `internal` visibility, which the CoreFX version does not have. Replaced these with accessor methods. The `PolicyRestricted` property and it's related `SocketAsyncEventArgs (bool)` constructor is not used anywhere and the CoreFX version has a constructor with the same signature, but different semantics. In the CoreFX version, `Complete ()` does not call `DoComplete (this)` - renamed it into `Complete_internal ()` to avoid any ambiguities and help the transitioning.
2019-08-02Use `MultipleConnectAsync` from CoreFX. (#15972)Martin Baulig
* Use `MultipleConnectAsync` from CoreFX. * [csproj] Update project files
2019-08-02Fix compiler warnings in System.dll. (#15971)Martin Baulig
* Merge the `System.Diagnostics/ProcessStartInfo.cs` part into the referencesource file to avoid CS0282. * Remove duplicate `using`. * Fix unreachable code warning that got introduced in my last PR.
2019-08-01Fix `Socket.ConnectAsync(SocketAsyncEventArgs)` behavior. (#15947)Martin Baulig
We need to clearly distinguish between synchronous and asynchronous completions and avoid any ambiguities and race conditions when it comes to error handling. On synchronous completion, we must not invoke the async completion delegate. In `System.Net.Sockets/Socket.cs`, the internal `BeginSConnect()` and `BeginMConnect()` now return a `bool` indicating whether or not an async operation is pending. If any error happens prior to starting the async operation, then we shall call `SocketAsyncResult.Complete(..., true)` and return `false`. And since this is a synchronous completion, it's `AsyncCallback` will not be invoked. In `referencesource/System/net/System/Net/Sockets/_MultipleConnectAsync.cs`, I compared the entire file against the CoreFX version and then copied the `AttemptConnection()` method from their implementation to adapt their behavior. The difference is that on synchronous completion, the `InternalConnectCallback(null, args)` should be invoked.
2019-07-27[WIP] [runtime] Convert WindowsIdentity.GetRoles () icall to coop. (#15849)Zoltan Varga
* [runtime] Convert WindowsIdentity.GetRoles () icall to coop. * [runtime] Replace some Buffer icalls with Unsafe methods. * Fix the windows build.
2019-07-12[jit] Fix the devirt of EqualityComparer<byte>. (#15644)Zoltan Varga
* [jit] Fix the devirt of EqualityComparer<byte>. * Add a test. * Fix the tests.
2019-06-12Fix some warning related to nullability of reference typesMaxim Lipnin
2019-06-11Fix Japan's new era fallback isn't reflected in Mono (#14896)Acid Chicken (硫酸鶏)
* Fix Japan's new era fallback isn't reflected in Mono refs: <https://github.com/dotnet/coreclr/pull/23614> * Fix array length * Fix MonoTests.System.Globalization.CalendarTest * Fix MonoTests.System.Globalization.EastAsianLunisolarCalendarTest * Fix era index refs: 1715e1d0e738ce95382ba372c24502967002a2f0 * Amend fixing refs: 05af6e6f75fcea76e3d9e9f2f95f0caedb753aa7
2019-06-07Switch Hashtables to Dictionary in the encoding classes so Hashtable can be ↵Zoltan Varga
linked out. (#14774)
2019-06-06Make `CalendarData` more linker friendly.Martin Baulig
See https://github.com/mono/corefx/pull/298 for a description of the technique that we're using here to make it more linker friendly.
2019-06-05Reflect recent NS2.1 changes (#14679)Egor Bogatov
Due to few recent updates to dotnet/standard (NETStandard 2.1) we had 40 apicompat issues. Mostly copy-pasted from dotnet/corefx. Didn't implement Cryptography stuff yet. Checked all profiles. Implements #14609
2019-05-30[corlib]: Move sre dependency into their own method in `System.RuntimeType`. ↵Martin Baulig
(#14698) * [corlib]: Move sre dependency into their own method in `System.RuntimeType`. Move call to `TypeBuilderInstantiation.MakeGenericType` into a new `System.RuntimeType.MakeTypeBuilderInstantiation` method to allow the linker to remove it. Requires linker PR https://github.com/mono/linker/pull/590. * Bump linker. * Bump cecil as well. * Fix the build. * Really fix the build. * Bump API snapshot submodule * [csproj] Update project files
2019-05-29[System.Private.CoreLib] Remove unused members and further cleanupsMarek Safar
2019-05-28[mscorlib] Ensure monotouch[_runtime] API are identical (#14665)Sebastien Pouliot
* [mscorlib] Ensure monotouch[_runtime] API are identical Ensure the API surface for `mscorlib.Core.dll` is identical between the `monotouch` and `monotouch_runtime` (used for REPL and the interpreter). This ensure code compiled against one will be fine when building against the other (e.g. avoiding linker errors). In practice this means: 1. Expose the API needed for `System.Reflection.Emit` in XI - throwing `PlatformNotSupportedException` **by default**; or - calling the mono runtime when the interpreter is enabled; 2. Do not expose additional, not supported, API (e.g. COM related) - `monotouch_runtime` configuration was built without `FULL_AOT_RUNTIME` and that brings some other stuff that is not AOT related Follow up to #14606 Existing diff Removed methods: ```csharp public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access); public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence); public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir); public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes, Security.SecurityContextSource securityContextSource); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized); [Obsolete ("Declarative security for assembly level is no longer enforced")] public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes); ``` Removed methods: ```csharp public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions); public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized); ``` Added constructor: ```csharp public AssemblyBuilder (); ``` Removed properties: ```csharp public override string CodeBase { get; } public override System.Reflection.MethodInfo EntryPoint { get; } public override string EscapedCodeBase { get; } public override System.Security.Policy.Evidence Evidence { get; } public override string FullName { get; } public override bool GlobalAssemblyCache { get; } public override string ImageRuntimeVersion { get; } public override bool IsDynamic { get; } public override string Location { get; } public override System.Reflection.Module ManifestModule { get; } public override bool ReflectionOnly { get; } ``` Removed methods: ```csharp public void AddResourceFile (string name, string fileName); public void AddResourceFile (string name, string fileName, System.Reflection.ResourceAttributes attribute); public ModuleBuilder DefineDynamicModule (string name, bool emitSymbolInfo); public ModuleBuilder DefineDynamicModule (string name, string fileName); public ModuleBuilder DefineDynamicModule (string name, string fileName, bool emitSymbolInfo); public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName); public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName, System.Reflection.ResourceAttributes attribute); public void DefineUnmanagedResource (byte[] resource); public void DefineUnmanagedResource (string resourceFileName); public void DefineVersionInfoResource (); public void DefineVersionInfoResource (string product, string productVersion, string company, string copyright, string trademark); public override bool Equals (object obj); public override object[] GetCustomAttributes (bool inherit); public override object[] GetCustomAttributes (System.Type attributeType, bool inherit); public override System.Type[] GetExportedTypes (); public override System.IO.FileStream GetFile (string name); public override System.IO.FileStream[] GetFiles (bool getResourceModules); public override int GetHashCode (); public override System.Reflection.Module[] GetLoadedModules (bool getResourceModules); public override System.Reflection.ManifestResourceInfo GetManifestResourceInfo (string resourceName); public override string[] GetManifestResourceNames (); public override System.IO.Stream GetManifestResourceStream (string name); public override System.IO.Stream GetManifestResourceStream (System.Type type, string name); public override System.Reflection.Module GetModule (string name); public override System.Reflection.Module[] GetModules (bool getResourceModules); public override System.Reflection.AssemblyName GetName (bool copiedName); public override System.Reflection.AssemblyName[] GetReferencedAssemblies (); public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture); public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture, System.Version version); public override System.Type GetType (string name, bool throwOnError, bool ignoreCase); public override bool IsDefined (System.Type attributeType, bool inherit); public void Save (string assemblyFileName); public void Save (string assemblyFileName, System.Reflection.PortableExecutableKinds portableExecutableKind, System.Reflection.ImageFileMachine imageFileMachine); public void SetEntryPoint (System.Reflection.MethodInfo entryMethod, PEFileKinds fileKind); public override string ToString (); ``` Added constructor: ```csharp public ConstructorBuilder (); ``` Removed properties: ```csharp public override System.Reflection.CallingConventions CallingConvention { get; } public override System.Reflection.Module Module { get; } [Obsolete] public System.Type ReturnType { get; } ``` Removed methods: ```csharp public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset); public void SetSymCustomAttribute (string name, byte[] data); public override string ToString (); ``` Removed property: ```csharp public override System.Reflection.Module Module { get; } ``` Added property: ```csharp public override System.Reflection.MethodImplAttributes MethodImplementationFlags { get; } ``` Removed methods: ```csharp public override System.Delegate CreateDelegate (System.Type delegateType); public override System.Delegate CreateDelegate (System.Type delegateType, object target); public override string ToString (); ``` Added properties: ```csharp public override bool IsByRefLike { get; } public override bool IsSZArray { get; } public override bool IsVariableBoundArray { get; } ``` Removed method: ```csharp public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo); ``` Added constructor: ```csharp public EventBuilder (); ``` Removed properties: ```csharp public override int MetadataToken { get; } public override System.Reflection.Module Module { get; } ``` Removed method: ```csharp [Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")] public void SetMarshal (UnmanagedMarshal unmanagedMarshal); ``` Added properties: ```csharp public override bool IsByRefLike { get; } public override bool IsConstructedGenericType { get; } public override bool IsSZArray { get; } public override bool IsTypeDefinition { get; } public override bool IsVariableBoundArray { get; } ``` Removed methods: ```csharp public override System.Type[] GetGenericParameterConstraints (); public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo); public override bool IsInstanceOfType (object o); ``` Modified properties: ```diff -public virtual int ILOffset { get; } +public int ILOffset { get; } ``` Removed method: ```csharp public virtual void MarkSequencePoint (System.Diagnostics.SymbolStore.ISymbolDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn); ``` Added property: ```csharp public override bool IsConstructedGenericMethod { get; } ``` Removed methods: ```csharp public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset); [Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")] public void SetMarshal (UnmanagedMarshal unmanagedMarshal); public void SetSymCustomAttribute (string name, byte[] data); ``` Removed properties: ```csharp public override int MetadataToken { get; } public override System.Guid ModuleVersionId { get; } public override string ScopeName { get; } ``` Removed methods: ```csharp public System.Diagnostics.SymbolStore.ISymbolDocumentWriter DefineDocument (string url, System.Guid language, System.Guid languageVendor, System.Guid documentType); public void DefineManifestResource (string name, System.IO.Stream stream, System.Reflection.ResourceAttributes attribute); public System.Resources.IResourceWriter DefineResource (string name, string description); public System.Resources.IResourceWriter DefineResource (string name, string description, System.Reflection.ResourceAttributes attribute); public void DefineUnmanagedResource (byte[] resource); public void DefineUnmanagedResource (string resourceFileName); public override object[] GetCustomAttributes (bool inherit); public override object[] GetCustomAttributes (System.Type attributeType, bool inherit); public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr); public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingFlags); protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers); public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingFlags); public System.Diagnostics.SymbolStore.ISymbolWriter GetSymWriter (); public override System.Type GetType (string className); public override System.Type GetType (string className, bool ignoreCase); public override System.Type GetType (string className, bool throwOnError, bool ignoreCase); public override System.Type[] GetTypes (); public override bool IsDefined (System.Type attributeType, bool inherit); public override bool IsResource (); public override System.Reflection.FieldInfo ResolveField (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments); public override System.Reflection.MemberInfo ResolveMember (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments); public override System.Reflection.MethodBase ResolveMethod (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments); public override byte[] ResolveSignature (int metadataToken); public override string ResolveString (int metadataToken); public override System.Type ResolveType (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments); public void SetSymCustomAttribute (string name, byte[] data); ``` Modified properties: ```diff -public virtual int Attributes { get; } +public int Attributes { get; } -public virtual string Name { get; } +public string Name { get; } -public virtual int Position { get; } +public int Position { get; } ``` Removed method: ```csharp [Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")] public virtual void SetMarshal (UnmanagedMarshal unmanagedMarshal); ``` Removed interface: ```csharp System.Runtime.InteropServices._SignatureHelper ``` Removed methods: ```csharp public override bool Equals (object obj); public override int GetHashCode (); public override string ToString (); ``` Removed property: ```csharp public override bool ContainsGenericParameters { get; } ``` Added properties: ```csharp public override bool IsByRefLike { get; } public override bool IsSZArray { get; } public override bool IsSecurityCritical { get; } public override bool IsSecuritySafeCritical { get; } public override bool IsSecurityTransparent { get; } public override bool IsVariableBoundArray { get; } ``` Removed methods: ```csharp public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset); public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo); protected override bool IsValueTypeImpl (); ``` Removed methods: ```csharp public static object GetActiveObject (string progID); public static IntPtr GetComInterfaceForObjectInContext (object o, System.Type t); public static int GetComSlotForMethodInfo (System.Reflection.MemberInfo m); public static int GetEndComSlot (System.Type t); public static IntPtr GetExceptionPointers (); public static IntPtr GetIDispatchForObjectInContext (object o); public static IntPtr GetITypeInfoForType (System.Type t); public static IntPtr GetIUnknownForObjectInContext (object o); [Obsolete ("This method has been deprecated")] public static IntPtr GetManagedThunkForUnmanagedMethodPtr (IntPtr pfnMethodToWrap, IntPtr pbSignature, int cbSignature); public static System.Reflection.MemberInfo GetMethodInfoForComSlot (System.Type t, int slot, ref ComMemberType memberType); [Obsolete ("This method has been deprecated")] public static System.Threading.Thread GetThreadFromFiberCookie (int cookie); public static System.Type GetTypeForITypeInfo (IntPtr piTypeInfo); [Obsolete] public static string GetTypeInfoName (UCOMITypeInfo pTI); public static System.Guid GetTypeLibGuid (ComTypes.ITypeLib typelib); [Obsolete] public static System.Guid GetTypeLibGuid (UCOMITypeLib pTLB); public static System.Guid GetTypeLibGuidForAssembly (System.Reflection.Assembly asm); public static int GetTypeLibLcid (ComTypes.ITypeLib typelib); [Obsolete] public static int GetTypeLibLcid (UCOMITypeLib pTLB); public static string GetTypeLibName (ComTypes.ITypeLib typelib); [Obsolete] public static string GetTypeLibName (UCOMITypeLib pTLB); public static void GetTypeLibVersionForAssembly (System.Reflection.Assembly inputAssembly, out int majorVersion, out int minorVersion); [Obsolete ("This method has been deprecated")] public static IntPtr GetUnmanagedThunkForManagedMethodPtr (IntPtr pfnMethodToWrap, IntPtr pbSignature, int cbSignature); public static bool IsTypeVisibleFromCom (System.Type t); public static int NumParamBytes (System.Reflection.MethodInfo m); [Obsolete] public static void ReleaseThreadCache (); ``` * [csproj] Update project files * Bump API snapshot submodule
2019-05-21Removing some remoting and multi-appdomain APIs on wasm and the AOT test ↵Martin Baulig
profiles. Build / profile changes: ------------------------ * `build/profiles/testing_aot_common.make`: define `DISABLE_REMOTING = yes` and `NO_MULTIPLE_APPDOMAINS = yes`. * `mcs/class/corlib/Makefile`: check `DISABLE_REMOTING` when setting `REFERENCE_SOURCES_FLAGS` (and don't define `FEATURE_REMOTING`, `MONO_COM` and `FEATURE_COMINTEROP`). * added new `testing_aot_common_corlib.dll.exclude.sources`. Several types in the `System.Runtime.Remoting.Messaging` namespace are used by the runtime in non-remoting scenarios, so those need to be preserved. For all other remoting namespaces, we only need a few stripped down stub versions of the some of the types; those have been added to a new `legacy` directory, so we can wildcard-exclude all the files here. * added new `testing_aot_common_corlib.dll.sources`; this currently only contains `legacy/*.cs` to list above mentioned stub versions. * added new `testing_aot_common_corlib_test.dll.exclude.sources` as a common test excludes file. API Changes (conditional to `DISABLE_REMOTING`): ------------------------------------------------ * `mcs/class/corlib/legacy/`: add stub-versions for some of the remoting-related classes that are used by the runtime (so we can't completely remove those types): - `System.MarshalByRefObject`. - `System.Runtime.Remoting.IRemotingTypeInfo`. - `System.Runtime.Remoting.ObjectHandle`. - `System.Runtime.Remoting.RemotingServices`. - `System.Runtime.Remoting.Activation.ActivationServices`. - `System.Runtime.Remoting.Contexts.Context`. - `System.Runtime.Remoting.Messaging.ILogicalThreadAffinative`. - `System.Runtime.Remoting.Messaging.LogicalCallContext`. - `System.Runtime.Remoting.Proxies.TransparentProxy`. - `System.Runtime.Remoting.Proxies.RealProxy`. some of these have fields that need to be preserved; these are marked with appropriate `#region` pragmas. All changes below are conditional to `DISABLE_REMOTING`. * `System.Runtime.Remoting.Messaging.AsyncResult`: this class is used by some of the async code, so we can't completely remove it. However, we can remove the `MonoMethodMessage call_message` field when `DISABLE_REMOTING`. * `System.Runtime.Remoting.Messaging.MonoMethodMessage`: this class is also used by some runtime code and thus needs to be preserved. However, when `DISABLE_REMOTING` is defined, then we make some changes to it: - remove all iterfaces (`IMethodCallMessage`, `IMethodReturnMessage`, and `IInternalMessage`). - `Properties` throws `PlatformNotSupportedException`. * `System.Runtime.InteropServices.Marshal`: disable some COM-related code. * `System.Threading.Thread`: remove `CurrentContext` property. * `System.Threading.ExecutionContext`: adjust conditional logic; don't define `FEATURE_REMOTING` if `DISABLE_REMOTING`. * `System.Activator`: add `DISABLE_REMOTING` to the existing `#if FEATURE_REMOTING || MOBILE_LEGACY` conditional in this class. * `System.AppDomain`: since we only have one domain, `DefaultDomain` will always return the root domain; comment out the call to `RemotingServices.GetDomainProxy` as well as some internal methods. * `System.__ComObject`: stub out on `DISABLE_REMOTING` as well as `!FULL_AOT_RUNTIME`. * `System.Runtime.Serialization.Formatters.Binary.BinaryFormatter`: adjust `IFormatter` versus `IRemotingFormatter` interface logic to use the former when `DISABLE_REMOTING`. * `System.Runtime.Serialization.Formatters.Binary.BinaryObjectReader`: adjust existing `#if FEATURE_REMOTING || MOBILE_LEGACY` conditional to add `DISABLE_REMOTING` to it. * `System.Diagnostics.CorrelationManager`: comment out some `CallContext.LogicalGetData()` and `CallContext.LogicalSetData`. * `System.Diagnostics.TraceEventCache`: likewise. Test changes: ------------- * `mono/tests/Makefile.am`: conditionally disable some remoting tests. * `corlib/Test/System.Runtime.Serialization/SerializationTest.cs`: conditionally disable all tests requiring remoting. * `corlib/Test/System/ActivatorTest.cs`: same; trying to preserve as much as possible in this test. * added some `DISABLE_REMOTING` and `DISABLE_SECURITY` conditionals to some of the tests.
2019-05-16[monodroid] Introduce 'win32 host' BCL build (#14424)Alexis Christoforides
* [monodroid] Introduce 'win32 host' BCL build * [sdks] Add _bcl_$(1)_BUILD_FLAGS variable to BclTemplate build step Allows Android SDK on Windows to pass PROFILE_PLATFORM=win32 * [sdks] Pass _bcl_$(1)_BUILD_FLAGS when building the tests, too * Copy test source exclusion files from the general monodroid profile Apparently we don't fall back to the general exclusion sources for tests if the platorm-specific exclusion file does not exist. * Also add win32 copies of the nunit exclude files: files=$(find . -name "monodroid*_test*exclude.sources") for file in $files do name=$(basename $file) pushd $(dirname $file) cp $name win32_$name git add win32_$name popd done * [csproj] Update project files
2019-05-10Add a few `DISABLE_SECURITY` conditionals. (#14300)Martin Baulig
* Add a few `DISABLE_SECURITY` conditionals. * [csproj] Update project files * Fix tests.
2019-05-03Add a few `RuntimeFeature.IsDynamicCodeSupported` conditionals. (#14284)Martin Baulig
* Add a few `RuntimeFeature.IsDynamicCodeSupported` conditionals. * Update RuntimeMethodInfo.cs
2019-05-02Move three trivial threadpool icalls to callers. (#14296)Jay Krell
ves_icall_System_Threading_ThreadPool_PostQueuedCompletionStatus ves_icall_System_Threading_ThreadPool_BindIOCompletionCallbackNative ves_icall_System_Threading_ThreadPool_IsThreadPoolHosted
2019-04-16[netcore] Fix WaitHandle.SignalAndWait (#13809)Egor Bogatov
* fix failing tests * Add build-corefx-test-for- rule * Update WaitHandle.cs * fix S.T.T.rsp file * fix build * bump corlib version * handle new errors in old mono * Update w32handle.c
2019-04-12Remove #if-def for TypedReference.MakeTypedReference readonly restrictionMaxim Lipnin
2019-04-10Add conditionals allowing some calenders to be disabled. (#13730)Martin Baulig
Add `GlobalizationMode.Invariant` conditionals to some calendar code. This allows the Japanese, Taiwan and Hebrew calendars to be disabled.
2019-03-28[wasm] Fix System.DllNotFoundException: libcKenneth Pouncey
Fixes issue: https://github.com/mono/mono/issues/12871
2019-03-25[netcore] Add System.Reflection.Emit support. (#13613)Zoltan Varga
2019-03-21[netcore] Implement missing bits in ThreadPool (#13566)Egor Bogatov
* implement missing bits in ThreadPool * remove [SecurityCritical]
2019-03-17Adapt shared EnumMarek Safar
2019-03-13[netcore] Test fixes.Zoltan Varga
* EqualityComparer.cs: Add LastIndexOf (). * RuntimeAssembly.cs: Implement CreateAssemblyName (). * AssemblyLoadContext.cs: Handle windows paths. Add DoAssemblyResolve () method. * Array.cs: Add/fix error handling. Implement LastIndexOf ()/GetRawArrayData (). * Attribute.cs: Implement. * Buffer.cs: Add/fix error handling. * DefaultBinder.cs: Implement. * RuntimeType.cs: Implement HasSameMetadataDefinitionAs (). * RuntimeEventInfo.cs: Ditto. * RuntimeFieldInfo.cs: Ditto. * RuntimeMethodInfo.cs: Ditto. * RuntimePropertyInfo.cs: Ditto. * MonoCustomAttrs.cs: Add eror handling. Implement inheritance support for parameters. * gc.cs: Fix error handling. * rttype.cs: Fix handling of null namespaces.
2019-03-11[netcore] Ongoing work. (#13391)Zoltan Varga
* [runtime] Add a few new m_class inline functions. * [netcore] Implement Array.IndexOf (). * [netcore] Implement RuntimeHelpers.PrepareMethod (). * Add error checks to RuntimeHelpers.GetUninitializedObject (). * Fix some type attributes. * Fix some TypedReference special cases.
2019-03-09[netcore] Ongoing work. (#13357)Zoltan Varga
* [netcore] Implement MethodBody using internal Runtime* classes. Use the mono version for ModuleHandle. * [netcore] Reflection fixes. * Address review comments. * [netcore] Implement RuntimeHelpers:GetUninitializedObject (). * [netcore] Implement the Type::GetMethod () overload which has a genericParameterCount parameter. * [netcore] Implement Thread.OptimalMaxSpinWaitsPerSpinIteration. * Revert a change to fix a test failure. * [netcore] Implement Marshal:GetExceptionForHRInternal (). * [netcore] Implement GC:GetSegmentSize (). * [runtime] Allow pointer type members in typed references.
2019-03-07* System.Data.Linq now points to reference sourceSteve Pfister
* Created SR and Strings helpers as refsrc resources are missing / incomplete * Moved existing tests into the Test folder * Moved old DBLinq code into tools/sqlmetal as there are no other alternatives.
2019-03-06[netcore] Implement DependentHandle using the existing ephemeron code.Zoltan Varga
2019-03-06NS2.1 Sync new changes, mobile profiles (#13198)Egor Bogatov
* Add RuntimeHelpers.GetSubArray. Add missing types to NS's TypeForwarders.cs * more NS2.1 changes * ios changes * Update Decimal (it's now readonly struct) * fix mcs * add ROMC.cs * Fix tests, finish monodroid profile * Make SRE-not-supported NS2.1 compatible * Make monotouch_tv and watch NS2.1 compatible * make some SRE types more NS21 compatible (non-abstract now) * bump corefx * More NS21 fixes * bump coreclr acceptance tests * Bump API snapshot submodule * [csproj] Update project files
2019-03-04[System.Private.CoreLib] Implement more APIsMarek Safar