public override bool Create(CharacterClassBuilder builder, out IMatch?match) { var result = expr.Create(builder, out match); if (result) { match = match !.Invert(); } return(result); }
public sealed override bool Create(CharacterClassBuilder builder, out IMatch?match) { var result = left.Create(builder, out var leftMatch); if (result) { result = right.Create(builder, out var rightMatch); match = result ? Create(leftMatch !, rightMatch !) : null; } else { match = null; } return(result); }
public sealed override void LogMissing(CharacterClassBuilder builder) { left.LogMissing(builder); right.LogMissing(builder); }
public override void LogMissing(CharacterClassBuilder builder) => builder.LogMissing(name);
public virtual void LogMissing(CharacterClassBuilder builder) { }
public override bool Create(CharacterClassBuilder builder, out IMatch?match) => builder.TryFind(name, out match);
public abstract bool Create(CharacterClassBuilder builder, out IMatch?match);
public override bool Create(CharacterClassBuilder builder, out IMatch?match) { match = new SingleChar(ch); return(true); }
public override bool Create(CharacterClassBuilder builder, out IMatch?match) { match = charClass; return(true); }
public override void LogMissing(CharacterClassBuilder builder) => expr.LogMissing(builder);