From 6783fd21e06faed5a6e20917286d325e6438c5e2 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 22 Feb 2016 22:13:21 -0600 Subject: [PATCH] Fixed failing tests. --- src/Markup/Perspex.Markup/Data/IndexerNode.cs | 4 ++++ src/Markup/Perspex.Markup/Data/Parsers/ArgumentListParser.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/Markup/Perspex.Markup/Data/IndexerNode.cs b/src/Markup/Perspex.Markup/Data/IndexerNode.cs index 46663074e3..0364689735 100644 --- a/src/Markup/Perspex.Markup/Data/IndexerNode.cs +++ b/src/Markup/Perspex.Markup/Data/IndexerNode.cs @@ -53,6 +53,10 @@ namespace Perspex.Markup.Data private void IndexerPropertyChanged(object sender, PropertyChangedEventArgs e) { var typeInfo = sender.GetType().GetTypeInfo(); + if (typeInfo.GetDeclaredProperty(e.PropertyName) == null) + { + return; + } if (typeInfo.GetDeclaredProperty(e.PropertyName).GetIndexParameters().Any()) { CurrentValue = GetValue(sender); diff --git a/src/Markup/Perspex.Markup/Data/Parsers/ArgumentListParser.cs b/src/Markup/Perspex.Markup/Data/Parsers/ArgumentListParser.cs index 41ceb2ca1e..6e6c3d21fd 100644 --- a/src/Markup/Perspex.Markup/Data/Parsers/ArgumentListParser.cs +++ b/src/Markup/Perspex.Markup/Data/Parsers/ArgumentListParser.cs @@ -32,6 +32,10 @@ namespace Perspex.Markup.Data.Parsers { builder.Append(r.Take()); } + if (builder.Length == 0) + { + throw new ExpressionParseException(r.Position, "Expected indexer argument."); + } result.Add(builder.ToString()); }