diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-09-08 20:51:01 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-09-08 11:51:01 -0700 |
commit | 1f84a4955c93544192f44ba6af5d3593554dc116 (patch) | |
tree | cb5006606a772b01fcc3b16cf33c9fd537833a19 /Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs | |
parent | 3b7d798fdda51a669683ed7d5c3770ebf3adfa77 (diff) | |
download | xamarin-forms-1f84a4955c93544192f44ba6af5d3593554dc116.tar.gz xamarin-forms-1f84a4955c93544192f44ba6af5d3593554dc116.tar.bz2 xamarin-forms-1f84a4955c93544192f44ba6af5d3593554dc116.zip |
[XamlC] replace the runtime type check by compiletime (#334)
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs b/Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs index 25efa439..95a93393 100644 --- a/Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs +++ b/Xamarin.Forms.Build.Tasks/SetResourcesVisitor.cs @@ -57,7 +57,7 @@ namespace Xamarin.Forms.Build.Tasks return; if (propertyName.LocalName != "MergedWith") return; - SetPropertiesVisitor.SetPropertyValue(Context.Variables[(IElementNode)parentNode], propertyName, node, Context, node); + Context.IL.Append(SetPropertiesVisitor.SetPropertyValue(Context.Variables[(IElementNode)parentNode], propertyName, node, Context, node)); } public void Visit(MarkupNode node, INode parentNode) @@ -118,10 +118,10 @@ namespace Xamarin.Forms.Build.Tasks Context.Variables[node] = vardef; } - // IL_0013: ldloc.0 - // IL_0014: ldstr "key" - // IL_0019: ldstr "foo" - // IL_001e: callvirt instance void class [Xamarin.Forms.Core]Xamarin.Forms.ResourceDictionary::Add(string, object) +// IL_0013: ldloc.0 +// IL_0014: ldstr "key" +// IL_0019: ldstr "foo" +// IL_001e: callvirt instance void class [Xamarin.Forms.Core]Xamarin.Forms.ResourceDictionary::Add(string, object) Context.IL.Emit(OpCodes.Ldloc, parentVar); Context.IL.Emit(OpCodes.Ldstr, (node.Properties[XmlName.xKey] as ValueNode).Value as string); var varDef = Context.Variables[node]; @@ -143,7 +143,7 @@ namespace Xamarin.Forms.Build.Tasks (propertyName.LocalName == "Resources" || propertyName.LocalName.EndsWith(".Resources", StringComparison.Ordinal)) && (Context.Variables[node].VariableType.FullName == "Xamarin.Forms.ResourceDictionary" || Context.Variables[node].VariableType.Resolve().BaseType.FullName == "Xamarin.Forms.ResourceDictionary")) - SetPropertiesVisitor.SetPropertyValue(Context.Variables[(IElementNode)parentNode], propertyName, node, Context, node); + Context.IL.Append(SetPropertiesVisitor.SetPropertyValue(Context.Variables[(IElementNode)parentNode], propertyName, node, Context, node)); } public void Visit(RootNode node, INode parentNode) |