Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/ast-grep/rules/cmhasliteralsuffix-char.yml
5064 views
1
---
2
id: cmhasliteralsuffix-char
3
language: Cpp
4
severity: warning
5
message: "`cmHasLiteralSuffix` with a one-char suffix search should use `cmHasSuffix`"
6
rule:
7
pattern: cmHasLiteralSuffix($HAYSTACK, $NEEDLE)
8
constraints:
9
NEEDLE:
10
regex: '^"(.|\\.)"$'
11
transform:
12
NEEDLE_CHANGE_QUOTE:
13
replace:
14
source: $NEEDLE
15
replace: '(^"|"$)'
16
by: "'"
17
NEEDLE_ESCAPE_SINGLE_QUOTE:
18
replace:
19
source: $NEEDLE_CHANGE_QUOTE
20
replace: "'''"
21
by: "'\\''"
22
NEEDLE_OUT:
23
replace:
24
source: $NEEDLE_ESCAPE_SINGLE_QUOTE
25
replace: '\\"'
26
by: '"'
27
fix: cmHasSuffix($HAYSTACK, $NEEDLE_OUT)
28
29