aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-19 14:19:55 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-09-21 09:19:24 +0000
commit67b4ed2c16fecae7efbdcb9aadfbff8434333230 (patch)
tree2e183abe35a260cd36e38997ea384555f0929ed8
parentddecba2421d9f64c00e6ee22faf24364de1cb179 (diff)
snippets_translate: Handle more qualifiers
Use a set instead of regexps. Change-Id: If9c05fffd4f5ebb880d21cd24fafc0be5698ee66 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 2a3c2d88940e44c658e1a54e9834765683c127ff) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--tools/snippets_translate/converter.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/tools/snippets_translate/converter.py b/tools/snippets_translate/converter.py
index a0650b3af..1de3fd051 100644
--- a/tools/snippets_translate/converter.py
+++ b/tools/snippets_translate/converter.py
@@ -61,8 +61,6 @@ ELSE_REPLACEMENT_PATTERN = re.compile(r"}? *else *{?")
CLASS_PATTERN = re.compile(r"^ *class ")
STRUCT_PATTERN = re.compile(r"^ *struct ")
DELETE_PATTERN = re.compile(r"^ *delete ")
-PUBLIC_PATTERN = re.compile(r"^public:$")
-PRIVATE_PATTERN = re.compile(r"^private:$")
VAR1_PATTERN = re.compile(r"^[a-zA-Z0-9]+(<.*?>)? [\w\*\&]+(\(.*?\))? ?(?!.*=|:).*$")
VAR2_PATTERN = re.compile(r"^[a-zA-Z0-9]+(<.*?>)? [\w]+::[\w\*\&]+\(.*\)$")
VAR3_PATTERN = re.compile(r"^[a-zA-Z0-9]+(<.*?>)? [\w\*]+ *= *[\w\.\"\']*(\(.*?\))?")
@@ -75,6 +73,10 @@ ITERATOR_PATTERN = re.compile(r"(std::)?[\w]+<[\w]+>::(const_)?iterator")
SCOPE_PATTERN = re.compile(r"[\w]+::")
+QUALIFIERS = {"public:", "protected:", "private:", "public slots:",
+ "protected slots:", "private slots:", "signals:"}
+
+
def snippet_translate(x):
## Cases which are not C++
@@ -251,13 +253,9 @@ def snippet_translate(x):
if DELETE_PATTERN.search(x):
return x.replace("delete", "del")
- # 'public:'
- if PUBLIC_PATTERN.search(xs):
- return x.replace("public:", "# public")
-
- # 'private:'
- if PRIVATE_PATTERN.search(xs):
- return x.replace("private:", "# private")
+ # 'public:', etc
+ if xs in QUALIFIERS:
+ return f"# {x}".replace(":", "")
# For expressions like: `Type var`
# which does not contain a `= something` on the right side