summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-10-09 17:15:29 (GMT)
committerGitHub <noreply@github.com>2019-10-09 17:15:29 (GMT)
commit61b1b96e454ce94414e242c3d61d7bf6400269f8 (patch)
tree6db42213244dabd61433aa206e97ca52fe9d7c71
parent24b30300000cc14798cb7665a50094df7c1668e3 (diff)
parent148162e48b8337fafffc61e5a1b5cdf86077d6ac (diff)
downloadDoxygen-61b1b96e454ce94414e242c3d61d7bf6400269f8.zip
Doxygen-61b1b96e454ce94414e242c3d61d7bf6400269f8.tar.gz
Doxygen-61b1b96e454ce94414e242c3d61d7bf6400269f8.tar.bz2
Merge pull request #7303 from albert-github/feature/issue_7302
issue 7302: Parsing of template args in single-quotes is incorrect.
-rw-r--r--src/scanner.l15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l
index d8062e7..2310479 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -751,6 +751,8 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
%x GCopyCurly
%x SkipUnionSwitch
%x Specialization
+%x SpecializationSingleQuote
+%x SpecializationDoubleQuote
%x FuncPtrInit
%x FuncFunc
%x FuncFuncEnd
@@ -6145,6 +6147,19 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
<Specialization>"typename"{BN}+ { lineCount(); }
<Specialization>"(" { *specName += *yytext; roundCount++; }
<Specialization>")" { *specName += *yytext; roundCount--; }
+
+<Specialization>"\\\\" { *specName += *yytext;}
+<Specialization>"\\'" { *specName += *yytext;}
+<Specialization>"\\\"" { *specName += *yytext;}
+<Specialization>"'" { *specName += *yytext;BEGIN(SpecializationSingleQuote);}
+<Specialization>"\"" { *specName += *yytext;BEGIN(SpecializationDoubleQuote);}
+<SpecializationSingleQuote,SpecializationDoubleQuote>"\\\\" { *specName += *yytext;}
+<SpecializationSingleQuote>"\\'" { *specName += *yytext;}
+<SpecializationSingleQuote>"'" { *specName += *yytext; BEGIN(Specialization);}
+<SpecializationDoubleQuote>"\\\"" { *specName += *yytext;}
+<SpecializationDoubleQuote>"\"" { *specName += *yytext; BEGIN(Specialization);}
+<SpecializationSingleQuote,SpecializationDoubleQuote>. { *specName += *yytext;}
+
<Specialization>. {
*specName += *yytext;
}