From 6f158f463459c72731e6e382b5f9a043353c6002 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 14 Jun 2019 14:51:53 +0300 Subject: [PATCH] Do not crash --- src/Avalonia.Base/Utilities/KeywordParser.cs | 2 ++ .../Transformers/AvaloniaXamlIlPropertyPathTransformer.cs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Base/Utilities/KeywordParser.cs b/src/Avalonia.Base/Utilities/KeywordParser.cs index 34e1ea6f8e..16ef95f5f4 100644 --- a/src/Avalonia.Base/Utilities/KeywordParser.cs +++ b/src/Avalonia.Base/Utilities/KeywordParser.cs @@ -17,6 +17,8 @@ namespace Avalonia.Utilities var ws = r.PeekWhitespace(); var chars = r.TryPeek(ws.Length + keyword.Length); + if (chars.IsEmpty) + return -1; if (SpanEquals(chars.Slice(ws.Length), keyword.AsSpan())) return chars.Length; return -1; diff --git a/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AvaloniaXamlIlPropertyPathTransformer.cs b/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AvaloniaXamlIlPropertyPathTransformer.cs index 99ba264214..1d2a4ea50b 100644 --- a/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AvaloniaXamlIlPropertyPathTransformer.cs +++ b/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AvaloniaXamlIlPropertyPathTransformer.cs @@ -17,7 +17,8 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers if (node is XamlIlAstXamlPropertyValueNode pv && pv.Values.Count == 1 && pv.Values[0] is XamlIlAstTextNode text - && pv.Property.GetClrProperty().Getter.ReturnType.Equals(context.GetAvaloniaTypes().PropertyPath) + && pv.Property.GetClrProperty().Getter?.ReturnType + .Equals(context.GetAvaloniaTypes().PropertyPath) == true ) { var parentScope = context.ParentNodes().OfType()