From 8a6bb0ffa1d9242a4b0168cdbd42e364091517e5 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Thu, 10 Nov 2022 12:37:52 -0500 Subject: [PATCH] Move OnExtensionType and fix netstandard error --- .../AvaloniaXamlIlOptionMarkupExtensionTransformer.cs | 4 ++-- .../Transformers/AvaloniaXamlIlWellKnownTypes.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs index b01901d7a2..b88ec3122a 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlOptionMarkupExtensionTransformer.cs @@ -55,7 +55,7 @@ internal class AvaloniaXamlIlOptionMarkupExtensionTransformer : IXamlAstTransfor var shouldRemoveProp = false; var onObjs = extProp.Values.OfType() - .Where(o => o.Type.GetClrType().GetFqn() == AvaloniaXamlIlWellKnownTypes.OnFqn).ToArray(); + .Where(o => o.Type.GetClrType() == context.GetAvaloniaTypes().OnExtensionType).ToArray(); if (onObjs.Any()) { shouldRemoveProp = true; @@ -284,7 +284,7 @@ internal class AvaloniaXamlIlOptionMarkupExtensionTransformer : IXamlAstTransfor var types = Branches.Select(b => b.Value.Type); if (DefaultNode?.Type is { } type) { - types = types.Append(type); + types = types.Concat(new [] { type }); } return types.Select(t => t.GetClrType()).ToArray().GetCommonBaseClass(); } diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs index 8a1ba7c3bc..c3e0223de4 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs @@ -9,8 +9,6 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers { class AvaloniaXamlIlWellKnownTypes { - public const string OnFqn = "Avalonia.Markup.Xaml:Avalonia.Markup.Xaml.MarkupExtensions.On"; - public IXamlType RuntimeHelpers { get; } public IXamlType AvaloniaObject { get; } public IXamlType IAvaloniaObject { get; } @@ -34,6 +32,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers public IXamlType DataTypeAttribute { get; } public IXamlType MarkupExtensionOptionAttribute { get; } public IXamlType MarkupExtensionDefaultOptionAttribute { get; } + public IXamlType OnExtensionType { get; } public IXamlType UnsetValueType { get; } public IXamlType StyledElement { get; } public IXamlType IStyledElement { get; } @@ -134,6 +133,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers DataTypeAttribute = cfg.TypeSystem.GetType("Avalonia.Metadata.DataTypeAttribute"); MarkupExtensionOptionAttribute = cfg.TypeSystem.GetType("Avalonia.Metadata.MarkupExtensionOptionAttribute"); MarkupExtensionDefaultOptionAttribute = cfg.TypeSystem.GetType("Avalonia.Metadata.MarkupExtensionDefaultOptionAttribute"); + OnExtensionType = cfg.TypeSystem.GetType("Avalonia.Markup.Xaml.MarkupExtensions.On"); AvaloniaObjectBindMethod = AvaloniaObjectExtensions.FindMethod("Bind", IDisposable, false, IAvaloniaObject, AvaloniaProperty, IBinding, cfg.WellKnownTypes.Object);