diff options
Diffstat (limited to 'Xamarin.Forms.Build.Tasks')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/CompiledMarkupExtensions/NullExtension.cs | 18 | ||||
-rw-r--r-- | Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/Xamarin.Forms.Build.Tasks/CompiledMarkupExtensions/NullExtension.cs b/Xamarin.Forms.Build.Tasks/CompiledMarkupExtensions/NullExtension.cs new file mode 100644 index 00000000..6701dacc --- /dev/null +++ b/Xamarin.Forms.Build.Tasks/CompiledMarkupExtensions/NullExtension.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using Mono.Cecil; +using Mono.Cecil.Cil; +using Xamarin.Forms.Xaml; + +namespace Xamarin.Forms.Build.Tasks +{ + class NullExtension : ICompiledMarkupExtension + { + + public IEnumerable<Instruction> ProvideValue(IElementNode node, ModuleDefinition module, ILContext context, out TypeReference typeRef) + { + typeRef = module.TypeSystem.Object; + return new[] { Instruction.Create(OpCodes.Ldnull) }; + } + } +}
\ No newline at end of file diff --git a/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj b/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj index 0175a4b8..880fa0c3 100644 --- a/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj +++ b/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj @@ -111,6 +111,7 @@ <Compile Include="CompiledValueProviders\PassthroughValueProvider.cs" /> <Compile Include="CompiledConverters\ListStringTypeConverter.cs" /> <Compile Include="CompiledMarkupExtensions\TypeExtension.cs" /> + <Compile Include="CompiledMarkupExtensions\NullExtension.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Target Name="AfterBuild"> |