private static Selector ParseRawSiblingSelector(string[] parts, int start, int stop, string filePath)
{
if (parts.Length != 2)
{
Current.RecordError(ErrorType.Parser, Position.Create(start, stop, filePath), "Sibling selectors can only have 2 components");
throw new StoppedParsingException();
}
Selector older, younger;
if (parts[0].Trim().IsNullOrEmpty())
{
older = null;
}
else
{
older = ParseRawSelector(parts[0], start, stop, filePath);
}
younger = ParseRawSelector(parts[1], start, stop, filePath);
return new AdjacentSiblingSelector(older, younger, start, stop, filePath);
}