Browse Source

Fix OnPlatform-like extensions with a single input parameter

pull/9760/head
Max Katz 4 years ago
parent
commit
9f633b8411
  1. 1
      src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs
  2. 2
      tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/OptionsMarkupExtensionTests.cs

1
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs

@ -366,6 +366,7 @@ internal class AvaloniaXamlIlOptionMarkupExtensionTransformer : IXamlAstTransfor
foreach (var branch in ExtensionNodeContainer.Branches)
{
var next = codeGen.DefineLabel();
codeGen.Emit(OpCodes.Nop);
if (branch.HasContext)
{
codeGen.Ldloc(context.ContextLocal);

2
tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/OptionsMarkupExtensionTests.cs

@ -434,7 +434,7 @@ public class OptionsMarkupExtensionTests : XamlTestBase
<TextBlock xmlns='https://github.com/avaloniaui'
xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.MarkupExtensions;assembly=Avalonia.Markup.Xaml.UnitTests'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
Text='{local:OptionsMarkupExtensionNoServiceProvider OptionB=""Im Option 2""}' />";
Text='{local:OptionsMarkupExtensionNoServiceProvider OptionB=""Im Option 2"", OptionA=""Im Option 1""}' />";
var textBlock = (TextBlock)AvaloniaRuntimeXamlLoader.Load(xaml);

Loading…
Cancel
Save