diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-12-23 10:21:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-23 10:21:30 +0100 |
commit | c34016dc84a30a351d9323285b68ce6cb02af969 (patch) | |
tree | 1c223684896b460d13a0fe84f4d91926f540f922 /Xamarin.Forms.Build.Tasks | |
parent | b96df000db76ba3490589c37e93224271249bc88 (diff) | |
download | xamarin-forms-c34016dc84a30a351d9323285b68ce6cb02af969.tar.gz xamarin-forms-c34016dc84a30a351d9323285b68ce6cb02af969.tar.bz2 xamarin-forms-c34016dc84a30a351d9323285b68ce6cb02af969.zip |
Xamlc compile data triggers (#648)
* [Xaml] DataTrigger and PropertyCondition no longer use a ServiceProvider
* [XamlC] avoid generating ServiceProvider for unused ProvideValue
* fix tests
Diffstat (limited to 'Xamarin.Forms.Build.Tasks')
3 files changed, 19 insertions, 1 deletions
diff --git a/Xamarin.Forms.Build.Tasks/CompiledValueProviders/PassthroughValueProvider.cs b/Xamarin.Forms.Build.Tasks/CompiledValueProviders/PassthroughValueProvider.cs new file mode 100644 index 00000000..b3d59f98 --- /dev/null +++ b/Xamarin.Forms.Build.Tasks/CompiledValueProviders/PassthroughValueProvider.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; + +using Mono.Cecil; +using Mono.Cecil.Cil; + +using Xamarin.Forms.Xaml; +using Xamarin.Forms.Build.Tasks; + +namespace Xamarin.Forms.Core.XamlC +{ + class PassthroughValueProvider : ICompiledValueProvider + { + public IEnumerable<Instruction> ProvideValue(VariableDefinitionReference vardefref, ModuleDefinition module, BaseNode node, ILContext context) + { + yield break; + } + } +}
\ No newline at end of file diff --git a/Xamarin.Forms.Build.Tasks/CompiledValueProviders/TriggerValueProvider.cs b/Xamarin.Forms.Build.Tasks/CompiledValueProviders/TriggerValueProvider.cs index c2875c7c..6a0ca822 100644 --- a/Xamarin.Forms.Build.Tasks/CompiledValueProviders/TriggerValueProvider.cs +++ b/Xamarin.Forms.Build.Tasks/CompiledValueProviders/TriggerValueProvider.cs @@ -8,7 +8,6 @@ using Xamarin.Forms.Build.Tasks; namespace Xamarin.Forms.Core.XamlC { - class TriggerValueProvider : ICompiledValueProvider { public IEnumerable<Instruction> ProvideValue(VariableDefinitionReference vardefref, ModuleDefinition module, BaseNode node, ILContext context) diff --git a/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj b/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj index ac7d6f13..21c51688 100644 --- a/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj +++ b/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj @@ -108,6 +108,7 @@ <Compile Include="CompiledValueProviders\SetterValueProvider.cs" /> <Compile Include="CompiledValueProviders\ICompiledValueProvider.cs" /> <Compile Include="CompiledValueProviders\TriggerValueProvider.cs" /> + <Compile Include="CompiledValueProviders\PassthroughValueProvider.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Target Name="AfterBuild"> |