Browse Source

Do not crash

property-path
Nikita Tsukanov 7 years ago
parent
commit
6f158f4634
  1. 2
      src/Avalonia.Base/Utilities/KeywordParser.cs
  2. 3
      src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AvaloniaXamlIlPropertyPathTransformer.cs

2
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;

3
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<AvaloniaXamlIlTargetTypeMetadataNode>()

Loading…
Cancel
Save