diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2014-07-08 13:27:52 +0200 |
---|---|---|
committer | Olivier Goffart <ogoffart@woboq.com> | 2014-07-08 16:12:44 +0200 |
commit | 84e189502ac5849d89dedff491b1a5d9c5de793e (patch) | |
tree | 46c5d733409b84830104915c7fd78cf44085c104 /bin | |
parent | d376e95047626983ffd8ecd50028f8614bbf2371 (diff) | |
download | qtbase-84e189502ac5849d89dedff491b1a5d9c5de793e.tar.gz |
syncqt: Fix regexp capturing class names of partial specialisation
Example with this code:
"template <class Key> struct QHashNode<Key, QHashDummyValue> {"
The previous regexp would take "QHashNode<Key," as some keyword,
and "QHashDummyValue>" as the class name. By forbidding '<' in the
keyword, we avoid such mistake
Change-Id: I5d5077b9e5e764e91899bcaef137d99214ea5d63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/syncqt.pl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl index 826d3fc6fa..a394ffac0d 100755 --- a/bin/syncqt.pl +++ b/bin/syncqt.pl @@ -299,7 +299,7 @@ sub classNames { push @symbols, $1; } elsif($definition =~ m/^ *typedef +(.*) +([^ ]*);$/) { push @symbols, $2; - } elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ ]* +)?((?!$post_kw)[^<\s]+) ?(<[^>]*> ?)?\s*(?:$post_kw)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/o) { + } elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ <>]* +)?((?!$post_kw)[^<\s]+) ?(<[^>]*> ?)?\s*(?:$post_kw)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/o) { push @symbols, $4; } elsif($definition =~ m/^ *Q_DECLARE_.*ITERATOR\((.*)\);$/) { push @symbols, "Q" . $1 . "Iterator"; |