Skip to content

Commit 743c1b3

Browse files
author
Jonathan Peppers
committed
XamlTypeResolver - removed unnecessary delegate
Its memory was showing up in profiler
1 parent d77fd8f commit 743c1b3

File tree

1 file changed

+3
-17
lines changed

1 file changed

+3
-17
lines changed

Diff for: Xamarin.Forms.Xaml/XamlServiceProvider.cs

+3-17
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ internal XamlServiceProvider(INode node, HydratationContext context)
1919
IRootObjectProvider = new XamlRootObjectProvider(context.RootElement);
2020
if (node != null)
2121
{
22-
IXamlTypeResolver = new XamlTypeResolver(node.NamespaceResolver, XamlParser.GetElementType,
23-
context.RootElement.GetType().GetTypeInfo().Assembly);
22+
IXamlTypeResolver = new XamlTypeResolver(node.NamespaceResolver, context.RootElement.GetType().GetTypeInfo().Assembly);
2423

2524
var enode = node;
2625
while (enode != null && !(enode is IElementNode))
@@ -171,25 +170,15 @@ object IProvideValueTarget.TargetProperty
171170
public class XamlTypeResolver : IXamlTypeResolver
172171
{
173172
readonly Assembly currentAssembly;
174-
readonly GetTypeFromXmlName getTypeFromXmlName;
175173
readonly IXmlNamespaceResolver namespaceResolver;
176174

177-
public XamlTypeResolver(IXmlNamespaceResolver namespaceResolver, Assembly currentAssembly)
178-
: this(namespaceResolver, XamlParser.GetElementType, currentAssembly)
179-
{
180-
}
181-
182-
internal XamlTypeResolver(IXmlNamespaceResolver namespaceResolver, GetTypeFromXmlName getTypeFromXmlName,
183-
Assembly currentAssembly)
175+
internal XamlTypeResolver(IXmlNamespaceResolver namespaceResolver, Assembly currentAssembly)
184176
{
185177
this.currentAssembly = currentAssembly;
186178
if (namespaceResolver == null)
187179
throw new ArgumentNullException();
188-
if (getTypeFromXmlName == null)
189-
throw new ArgumentNullException();
190180

191181
this.namespaceResolver = namespaceResolver;
192-
this.getTypeFromXmlName = getTypeFromXmlName;
193182
}
194183

195184
Type IXamlTypeResolver.Resolve(string qualifiedTypeName, IServiceProvider serviceProvider)
@@ -242,11 +231,8 @@ Type Resolve(string qualifiedTypeName, IServiceProvider serviceProvider, out Xam
242231
return null;
243232
}
244233

245-
return getTypeFromXmlName(new XmlType(namespaceuri, name, null), xmlLineInfo, currentAssembly, out exception);
234+
return XamlParser.GetElementType(new XmlType(namespaceuri, name, null), xmlLineInfo, currentAssembly, out exception);
246235
}
247-
248-
internal delegate Type GetTypeFromXmlName(
249-
XmlType xmlType, IXmlLineInfo xmlInfo, Assembly currentAssembly, out XamlParseException exception);
250236
}
251237

252238
internal class XamlRootObjectProvider : IRootObjectProvider

0 commit comments

Comments
 (0)