mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
20 lines
619 B
Plaintext
20 lines
619 B
Plaintext
import csharp
|
|
|
|
private string childPatterns(ListPatternExpr e) {
|
|
result = concat(string child, int n | child = e.getPattern(n).toString() | child, ", " order by n)
|
|
}
|
|
|
|
query predicate listPattern(ListPatternExpr pattern, string children) {
|
|
pattern.getFile().getStem() = "ListPattern" and
|
|
children = childPatterns(pattern)
|
|
}
|
|
|
|
query predicate slicePattern(SlicePatternExpr pattern, string s) {
|
|
pattern.getFile().getStem() = "ListPattern" and
|
|
exists(string child |
|
|
if exists(pattern.getPattern()) then child = pattern.getPattern().toString() else child = ""
|
|
|
|
|
s = pattern.toString() + ":" + child
|
|
)
|
|
}
|