From 2d964d860cda58adc282647722ca117bf22cbe5b Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Fri, 28 Apr 2017 00:57:44 +0200 Subject: [System.Reflection.DispatchProxy] Move to facades to support _._ nugets --- .../Assembly/AssemblyInfo.cs | 35 +++++++++++++++ .../System.Reflection.DispatchProxy/Makefile | 19 ++++++++ .../System.Reflection.DispatchProxy.dll.sources | 3 ++ .../System.Reflection/DispatchProxy.cs | 50 ++++++++++++++++++++++ mcs/class/Facades/subdirs.make | 2 +- 5 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs create mode 100644 mcs/class/Facades/System.Reflection.DispatchProxy/Makefile create mode 100644 mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources create mode 100644 mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs (limited to 'mcs/class/Facades') diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs b/mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs new file mode 100644 index 00000000000..b31d2d3ec11 --- /dev/null +++ b/mcs/class/Facades/System.Reflection.DispatchProxy/Assembly/AssemblyInfo.cs @@ -0,0 +1,35 @@ +// +// Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +using System; +using System.Reflection; +using System.Runtime.CompilerServices; + +[assembly: AssemblyTitle ("System.Reflection.DispatchProxy.dll")] +[assembly: AssemblyDescription ("System.Reflection.DispatchProxy.dll")] +[assembly: AssemblyDefaultAlias ("System.Reflection.DispatchProxy.dll")] +[assembly: AssemblyCompany ("Xamarin, Inc.")] +[assembly: AssemblyProduct ("Mono Common Language Infrastructure")] +[assembly: AssemblyCopyright ("Copyright (c) 2016 Xamarin Inc. (http://www.xamarin.com)")] +[assembly: AssemblyVersion ("4.0.2.0")] +[assembly: AssemblyInformationalVersion ("4.0.0.0")] +[assembly: AssemblyFileVersion ("4.0.0.0")] diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/Makefile b/mcs/class/Facades/System.Reflection.DispatchProxy/Makefile new file mode 100644 index 00000000000..0dab0689253 --- /dev/null +++ b/mcs/class/Facades/System.Reflection.DispatchProxy/Makefile @@ -0,0 +1,19 @@ +MCS_BUILD_DIR = ../../../build + +thisdir = class/Facades/System.Reflection.DispatchProxy +SUBDIRS = +include $(MCS_BUILD_DIR)/rules.make + +LIBRARY_SUBDIR = Facades +LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades + +LIBRARY = System.Reflection.DispatchProxy.dll + +KEY_FILE = ../../msfinal.pub +SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699 +LIB_REFS = System +LIB_MCS_FLAGS = $(SIGN_FLAGS) /unsafe + +NO_TEST = yes + +include $(MCS_BUILD_DIR)/library.make diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources new file mode 100644 index 00000000000..2da8fa6bf98 --- /dev/null +++ b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection.DispatchProxy.dll.sources @@ -0,0 +1,3 @@ +../../../build/common/MonoTODOAttribute.cs +Assembly/AssemblyInfo.cs +System.Reflection/DispatchProxy.cs diff --git a/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs new file mode 100644 index 00000000000..540e525b425 --- /dev/null +++ b/mcs/class/Facades/System.Reflection.DispatchProxy/System.Reflection/DispatchProxy.cs @@ -0,0 +1,50 @@ +// +// DispatchProxy.cs +// +// Author: +// Alexander Köplinger (alexander.koeplinger@xamarin.com) +// +// (C) 2016 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. +// + +namespace System.Reflection +{ + public abstract class DispatchProxy + { + [MonoTODO] + protected DispatchProxy() + { + throw new NotImplementedException (); + } + + [MonoTODO] + public static T Create () where TProxy : DispatchProxy + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected abstract object Invoke (MethodInfo targetMethod, object[] args); + } +} diff --git a/mcs/class/Facades/subdirs.make b/mcs/class/Facades/subdirs.make index 800e22b891b..b21f1cda474 100644 --- a/mcs/class/Facades/subdirs.make +++ b/mcs/class/Facades/subdirs.make @@ -84,7 +84,7 @@ orbis_SUBDIRS = $(common_DEPS_SUBDIRS) $(netstandard_drawing_SUBDIRS) $(mobile_o orbis_PARALLEL_SUBDIRS = $(common_SUBDIRS) $(mobile_only_SUBDIRS) mobile_only_SUBDIRS = System.Net.Ping System.Runtime.Serialization.Formatters System.Security.Cryptography.Csp System.Security.Cryptography.Pkcs \ -System.Security.Cryptography.Cng System.Runtime.Loader System.Xml.XPath.XmlDocument +System.Security.Cryptography.Cng System.Runtime.Loader System.Xml.XPath.XmlDocument System.Reflection.DispatchProxy mobile_only_DEPS_SUBDIRS = System.Security.Cryptography.OpenSsl -- cgit v1.2.3