|
if (slice.IsEmpty) |
|
{ |
|
return false; |
|
} |
This should throw an exception instead of returning false. At this point there's nothing in the Slice, and the parser is moving to the next InlineParser -> InterpolationTagParser
which fails on
|
while (slice[index].IsWhitespace()) |
With IndexOutOfBounds Exception. While this indeed throws an exception, it doesn't throw it on the correct place.
If the intention is to support Parsers before the InterpolationTagParser with the ParserPipeline, then in that, if condition, the slice's start position should be reverted to its original, before returning false.
Stubble/src/Stubble.Core/Parser/TokenParsers/PartialTagParser.cs
Lines 59 to 62 in 7e5bab6
This should throw an exception instead of returning false. At this point there's nothing in the Slice, and the parser is moving to the next InlineParser ->
InterpolationTagParserwhich fails on
Stubble/src/Stubble.Core/Parser/TokenParsers/InterpolationTagParser.cs
Line 30 in 7e5bab6
With IndexOutOfBounds Exception. While this indeed throws an exception, it doesn't throw it on the correct place.
If the intention is to support Parsers before the InterpolationTagParser with the ParserPipeline, then in that, if condition, the slice's start position should be reverted to its original, before returning false.