summaryrefslogtreecommitdiff
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-10-15 10:53:47 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-10-15 10:53:47 +0900
commit021ee4c58494575f9f4eaedeba447a18b22ca4c1 (patch)
treeccfb8882ae8b747de576c4afc79e5cb2ebda5a11 /src/util.cpp
parente36082fe64c84e4461802ec71428d5676a2c91e4 (diff)
downloaddoxygen-021ee4c58494575f9f4eaedeba447a18b22ca4c1.tar.gz
doxygen-021ee4c58494575f9f4eaedeba447a18b22ca4c1.tar.bz2
doxygen-021ee4c58494575f9f4eaedeba447a18b22ca4c1.zip
Imported Upstream version 1.8.13upstream/1.8.13
Diffstat (limited to 'src/util.cpp')
-rw-r--r--[-rwxr-xr-x]src/util.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 3593c9d..0d45758 100755..100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -329,7 +329,8 @@ int guessSection(const char *name)
n.right(4)==".ipp" ||
n.right(4)==".i++" ||
n.right(4)==".inl" ||
- n.right(4)==".xml"
+ n.right(4)==".xml" ||
+ n.right(4)==".sql"
) return Entry::SOURCE_SEC;
if (n.right(2)==".h" || // header
n.right(3)==".hh" ||
@@ -2268,6 +2269,8 @@ QCString argListToString(ArgumentList *al,bool useCanonicalType,bool showDefVals
result+=")";
if (al->constSpecifier) result+=" const";
if (al->volatileSpecifier) result+=" volatile";
+ if (al->refQualifier==RefQualifierLValue) result+=" &";
+ else if (al->refQualifier==RefQualifierRValue) result+=" &&";
if (!al->trailingReturnType.isEmpty()) result+=" -> "+al->trailingReturnType;
if (al->pureSpecifier) result+=" =0";
return removeRedundantWhiteSpace(result);
@@ -3362,6 +3365,12 @@ bool matchArguments(ArgumentList *srcAl,ArgumentList *dstAl,
}
}
+ if (srcAl->refQualifier != dstAl->refQualifier)
+ {
+ NOMATCH
+ return FALSE; // one member is has a different ref-qualifier than the other
+ }
+
// so far the argument list could match, so we need to compare the types of
// all arguments.
ArgumentListIterator srcAli(*srcAl),dstAli(*dstAl);
@@ -3795,6 +3804,12 @@ bool matchArguments2(Definition *srcScope,FileDef *srcFileScope,ArgumentList *sr
}
}
+ if (srcAl->refQualifier != dstAl->refQualifier)
+ {
+ NOMATCH
+ return FALSE; // one member is has a different ref-qualifier than the other
+ }
+
// so far the argument list could match, so we need to compare the types of
// all arguments.
ArgumentListIterator srcAli(*srcAl),dstAli(*dstAl);
@@ -6133,7 +6148,7 @@ QCString normalizeNonTemplateArgumentsInString(
p++;
QCString result = name.left(p);
- static QRegExp re("[a-z_A-Z\\x80-\\xFF][a-z_A-Z0-9\\x80-\\xFF]*");
+ static QRegExp re("[a-z:_A-Z\\x80-\\xFF][a-z:_A-Z0-9\\x80-\\xFF]*");
int l,i;
// for each identifier in the template part (e.g. B<T> -> T)
while ((i=re.match(name,p,&l))!=-1)
@@ -7047,6 +7062,7 @@ g_lang2extMap[] =
{ "fortranfixed", "fortranfixed", SrcLangExt_Fortran },
{ "vhdl", "vhdl", SrcLangExt_VHDL },
{ "xml", "xml", SrcLangExt_XML },
+ { "sql", "sql", SrcLangExt_SQL },
{ "tcl", "tcl", SrcLangExt_Tcl },
{ "md", "md", SrcLangExt_Markdown },
{ 0, 0, (SrcLangExt)0 }
@@ -7150,6 +7166,7 @@ void initDefaultExtensionMapping()
void addCodeOnlyMappings()
{
updateLanguageMapping(".xml", "xml");
+ updateLanguageMapping(".sql", "sql");
}
SrcLangExt getLanguageFromFileName(const QCString fileName)
@@ -8173,6 +8190,7 @@ QCString langToString(SrcLangExt lang)
case SrcLangExt_Fortran: return "Fortran";
case SrcLangExt_VHDL: return "VHDL";
case SrcLangExt_XML: return "XML";
+ case SrcLangExt_SQL: return "SQL";
case SrcLangExt_Tcl: return "Tcl";
case SrcLangExt_Markdown: return "Markdown";
}