4 types derived from Matcher
Microsoft.CodeAnalysis.Workspaces (4)
Matcher.ChoiceMatcher.cs (1)
11
private class ChoiceMatcher :
Matcher
<T>
Matcher.RepeatMatcher.cs (1)
11
private class RepeatMatcher :
Matcher
<T>
Matcher.SequenceMatcher.cs (1)
11
private class SequenceMatcher :
Matcher
<T>
Matcher.SingleMatcher.cs (1)
12
private class SingleMatcher :
Matcher
<T>
44 references to Matcher
Microsoft.CodeAnalysis.Workspaces (44)
AbstractFileBannerFacts.cs (13)
19
private readonly
Matcher
<SyntaxTrivia> _oneOrMoreBlankLines;
24
private readonly
Matcher
<SyntaxTrivia> _bannerMatcher;
29
private readonly
Matcher
<SyntaxTrivia> _fileBannerMatcher;
33
var
whitespace = Matcher.Repeat(
35
var
endOfLine = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsEndOfLineTrivia, "\\n");
36
var
singleBlankLine = Matcher.Sequence(whitespace, endOfLine);
38
var
shebangComment = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsShebangDirectiveTrivia, "#!");
39
var
singleLineComment = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsSingleLineCommentTrivia, "//");
40
var
multiLineComment = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsMultiLineCommentTrivia, "/**/");
41
var
singleLineDocumentationComment = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsSingleLineDocCommentTrivia, "///");
42
var
multiLineDocumentationComment = Matcher.Single<SyntaxTrivia>(this.SyntaxFacts.IsMultiLineDocCommentTrivia, "/** */");
43
var
anyCommentMatcher = Matcher.Choice(shebangComment, singleLineComment, multiLineComment, singleLineDocumentationComment, multiLineDocumentationComment);
45
var
commentLine = Matcher.Sequence(whitespace, anyCommentMatcher, whitespace, endOfLine);
Matcher.ChoiceMatcher.cs (3)
13
private readonly IEnumerable<
Matcher
<T>> _matchers;
15
public ChoiceMatcher(params
Matcher
<T>[] matchers)
21
foreach (
var
matcher in _matchers)
Matcher.cs (14)
14
public static
Matcher
<T> Repeat<T>(
Matcher
<T> matcher)
15
=>
Matcher
<T>.Repeat(matcher);
20
public static
Matcher
<T> OneOrMore<T>(
Matcher
<T> matcher)
21
=>
Matcher
<T>.OneOrMore(matcher);
26
public static
Matcher
<T> Choice<T>(params
Matcher
<T>[] matchers)
27
=>
Matcher
<T>.Choice(matchers);
32
public static
Matcher
<T> Sequence<T>(params
Matcher
<T>[] matchers)
33
=>
Matcher
<T>.Sequence(matchers);
38
public static
Matcher
<T> Single<T>(Func<T, bool> predicate, string description)
39
=>
Matcher
<T>.Single(predicate, description);
Matcher.RepeatMatcher.cs (2)
13
private readonly
Matcher
<T> _matcher;
15
public RepeatMatcher(
Matcher
<T> matcher)
Matcher.SequenceMatcher.cs (3)
13
private readonly
Matcher
<T>[] _matchers;
15
public SequenceMatcher(params
Matcher
<T>[] matchers)
21
foreach (
var
matcher in _matchers)
Matcher`1.cs (9)
22
internal static
Matcher
<T> Repeat(
Matcher
<T> matcher)
25
internal static
Matcher
<T> OneOrMore(
Matcher
<T> matcher)
31
internal static
Matcher
<T> Choice(params
Matcher
<T>[] matchers)
34
internal static
Matcher
<T> Sequence(params
Matcher
<T>[] matchers)
37
internal static
Matcher
<T> Single(Func<T, bool> predicate, string description)