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

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWes Haggard <weshaggard@users.noreply.github.com>2017-06-08 04:14:13 +0300
committerDan Moseley <danmose@microsoft.com>2017-06-08 04:14:13 +0300
commitca49bfbfd64351fddba56f2141b90841b8561eb7 (patch)
treee73821a0d7bc98ba1a8467d909ef29c0e0a020ca /src/System.Runtime.InteropServices
parent271ea583e8419c86ba5e14680f6dd83383919918 (diff)
Manually build mscorlib shim to allow for internal type forwards & Adding TypeForwardFrom to serialiazable types (#20697)
* Manually build mscorlib shim to allow for internal type forwards * prepare tests for netfx->core deserialization changes * update netfx serialized data * change hash updater so it doesn't use hard-coded path * Code cleanup for binary serialization * Changed ListT to ArrayList in CookieCoolection for cross serialization * Merge * Changed observablecollection typeforwards that already had typeforwards on netfx * Adding ValueTuple blobs for netfx471 * Add internal types which need to be forwarded * Pull mscorlib shim in along with windows.winmd To build UAP refs and libs we need an mscorlib shim. So for the build we pull one in from packages and it will get overwritten when we build the final one as part of our shim builds * Removed not needed typeforward and added description * Remved typeforwards from nested types * Fixed generic type syntax * Updated coreclr version, ifdefed imports for netcoreapp * disable netfx serialization for now * Merge error fixed * Update blobs after coreclr changes * Adding ValueTuple manual typeforwards * Renamed serialization variables for SortedSet * Disabling TreeSet<,> serialization support (for now) * Exception internal data storage typeforward added * Fix type conflict for mscorlib shim in uapaot configuration * Split the runtime and ref mscorlib shim We need to build the ref mscorlib shim only against the reference assemblies so we still build in shims.proj. However the runtime mscorlib shim needs to have access to internals so we build it against the runtime implementation using a manual project.
Diffstat (limited to 'src/System.Runtime.InteropServices')
-rw-r--r--src/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj3
-rw-r--r--src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Attributes.cs13
-rw-r--r--src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/ComEventInterfaceAttribute.cs24
3 files changed, 26 insertions, 14 deletions
diff --git a/src/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj b/src/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj
index 5825b2d597..fab1983a37 100644
--- a/src/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj
+++ b/src/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj
@@ -22,6 +22,7 @@
<Compile Include="System\Runtime\CompilerServices\Attributes.cs" />
<Compile Include="System\Runtime\InteropServices\Attributes.cs" />
<Compile Include="System\Runtime\InteropServices\ComAwareEventInfo.cs" />
+ <Compile Include="System\Runtime\InteropServices\ComEventInterfaceAttribute.cs" Condition="'$(TargetGroup)' != 'uapaot'" />
<Compile Include="System\Runtime\InteropServices\DefaultParameterValueAttribute.cs" />
<Compile Include="System\Runtime\InteropServices\HandleCollector.cs" />
<Compile Include="System\Runtime\InteropServices\RuntimeEnvironment.cs" />
@@ -50,7 +51,7 @@
<ReferenceFromRuntime Include="System.Private.Interop" />
<ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj">
<TargetGroup>uapaot</TargetGroup>
- </ProjectReference>
+ </ProjectReference>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>
diff --git a/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Attributes.cs b/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Attributes.cs
index eadd2de0d6..af989d0742 100644
--- a/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Attributes.cs
+++ b/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Attributes.cs
@@ -48,19 +48,6 @@ namespace System.Runtime.InteropServices
{
}
- [AttributeUsage(AttributeTargets.Interface, Inherited = false)]
- public sealed class ComEventInterfaceAttribute : Attribute
- {
- public ComEventInterfaceAttribute(Type SourceInterface, Type EventProvider)
- {
- this.SourceInterface = SourceInterface;
- this.EventProvider = EventProvider;
- }
-
- public Type SourceInterface { get; }
- public Type EventProvider { get; }
- }
-
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
public sealed class ComRegisterFunctionAttribute : Attribute
{
diff --git a/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/ComEventInterfaceAttribute.cs b/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/ComEventInterfaceAttribute.cs
new file mode 100644
index 0000000000..7cb6fb951e
--- /dev/null
+++ b/src/System.Runtime.InteropServices/src/System/Runtime/InteropServices/ComEventInterfaceAttribute.cs
@@ -0,0 +1,24 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+
+namespace System.Runtime.InteropServices
+{
+ [AttributeUsage(AttributeTargets.Interface, Inherited = false)]
+ public sealed class ComEventInterfaceAttribute : Attribute
+ {
+ internal Type _SourceInterface;
+ internal Type _EventProvider;
+
+ public ComEventInterfaceAttribute(Type SourceInterface, Type EventProvider)
+ {
+ _SourceInterface = SourceInterface;
+ _EventProvider = EventProvider;
+ }
+
+ public Type SourceInterface { get { return _SourceInterface; } }
+ public Type EventProvider { get { return _EventProvider; } }
+ }
+} \ No newline at end of file