From 0fc6302e6ecb309e57b2e3ccfac6764370b856d2 Mon Sep 17 00:00:00 2001 From: jbevain Date: Mon, 1 Feb 2010 13:25:52 +0000 Subject: [PATCH] 2010-02-01 Jb Evain * MarkStep.cs: SoapHeader can either take a field or a property. git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@150633 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- tools/linker/ChangeLog | 4 ++++ tools/linker/Mono.Linker.Steps/MarkStep.cs | 21 ++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tools/linker/ChangeLog b/tools/linker/ChangeLog index b1119eaa6d..a91370619b 100644 --- a/tools/linker/ChangeLog +++ b/tools/linker/ChangeLog @@ -1,3 +1,7 @@ +2010-02-01 Jb Evain + + * MarkStep.cs: SoapHeader can either take a field or a property. + 2010-01-20 Rolf Bjarne Kvinge * Makefile: Fetch Mono.Cecil.dll from whatever profile we happen to be diff --git a/tools/linker/Mono.Linker.Steps/MarkStep.cs b/tools/linker/Mono.Linker.Steps/MarkStep.cs index 3ac2e26005..f341931641 100644 --- a/tools/linker/Mono.Linker.Steps/MarkStep.cs +++ b/tools/linker/Mono.Linker.Steps/MarkStep.cs @@ -472,11 +472,12 @@ namespace Mono.Linker.Steps { void MarkSoapHeader (MethodDefinition method, CustomAttribute attribute) { - string field_name; - if (!TryGetStringArgument (attribute, out field_name)) + string member_name; + if (!TryGetStringArgument (attribute, out member_name)) return; - MarkNamedField (method.DeclaringType, field_name); + MarkNamedField (method.DeclaringType, member_name); + MarkNamedProperty (method.DeclaringType, member_name); } void MarkNamedField (TypeDefinition type, string field_name) @@ -492,6 +493,20 @@ namespace Mono.Linker.Steps { } } + void MarkNamedProperty (TypeDefinition type, string property_name) + { + if (!type.HasProperties) + return; + + foreach (PropertyDefinition property in type.Properties) { + if (property.Name != property_name) + continue; + + MarkMethod (property.GetMethod); + MarkMethod (property.SetMethod); + } + } + void MarkGenericParameterProvider (IGenericParameterProvider provider) { if (!provider.HasGenericParameters) -- 2.11.4.GIT