From 2982540d4fd7342cf5fe3a501273481f2416bf91 Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Fri, 28 Nov 2025 11:19:04 +0000 Subject: [PATCH] fix some query error and print out more detailed exceptions in query parser (#20170) --- .../Transformers/AvaloniaXamlIlQueryTransformer.cs | 2 +- .../Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlQueryTransformer.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlQueryTransformer.cs index f376934e16..2a057e81c1 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlQueryTransformer.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlQueryTransformer.cs @@ -97,7 +97,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers } catch (Exception e) { - throw new XamlParseException("Unable to parse query: " + e.Message, node); + throw new XamlParseException("Unable to parse query: " + e, node); } var query = Create(parsed); diff --git a/src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs b/src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs index 7573646651..0c34fa4637 100644 --- a/src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs +++ b/src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs @@ -84,7 +84,7 @@ namespace Avalonia.Markup.Parsers if (identifier.SequenceEqual(MinWidthKeyword.AsSpan()) || identifier.SequenceEqual(MaxWidthKeyword.AsSpan()) || identifier.SequenceEqual(WidthKeyword.AsSpan())) { if (!r.TakeIf(':')) - throw new ExpressionParseException(r.Position, "Expected ':' after 'orientation'."); + throw new ExpressionParseException(r.Position, $"Expected ':' after '{identifier}'."); double val = ParseDecimal(ref r); var syntax = new WidthSyntax() @@ -101,7 +101,7 @@ namespace Avalonia.Markup.Parsers if (identifier.SequenceEqual(MinHeightKeyword.AsSpan()) || identifier.SequenceEqual(MaxHeightKeyword.AsSpan()) || identifier.SequenceEqual(HeightKeyword.AsSpan())) { if (!r.TakeIf(':')) - throw new ExpressionParseException(r.Position, "Expected ':' after 'orientation'."); + throw new ExpressionParseException(r.Position, $"Expected ':' after '{identifier}'."); double val = ParseDecimal(ref r); var syntax = new HeightSyntax()