public ParseResult <IIntermediateModifier> Parse(string stat) { var(successfullyParsed, remaining, innerResult) = _innerParser.Parse(stat); IIntermediateModifier result; if (successfullyParsed) { _groups = innerResult.RegexGroups; var context = CreateContext(""); result = _modifierResolver.Resolve(innerResult.Modifier, context); } else { result = innerResult?.Modifier; } return(successfullyParsed, remaining, result); }
public StringParseResult <IIntermediateModifier> Parse(CoreParserParameter parameter) { var(successfullyParsed, remaining, innerResult) = _innerParser.Parse(parameter); IIntermediateModifier result; if (successfullyParsed) { var groups = innerResult.RegexGroups; var context = CreateContext(groups, ""); result = _modifierResolver.Resolve(innerResult.Modifier, context); } else { result = innerResult?.Modifier; } return(successfullyParsed, remaining, result); }