diff options
Diffstat (limited to 'src/util.cpp')
-rwxr-xr-x | src/util.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util.cpp b/src/util.cpp index 3593c9d..6f7703b 100755 --- a/src/util.cpp +++ b/src/util.cpp @@ -2268,6 +2268,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 +3364,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 +3803,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); |