diff options
author | Dmitry Ashkadov <[email protected]> | 2014-11-13 22:18:53 +0300 |
---|---|---|
committer | Orgad Shaneh <[email protected]> | 2016-06-22 17:47:59 +0000 |
commit | 43075f5fb165e764f11abd35c4cc06cbda969a20 (patch) | |
tree | ec7a69d1a1a4d72bb7d3d0a9eb2d342b7afcc650 /src/libs/cplusplus | |
parent | c0f3094866923f27692e654f94cd55546f5c87d5 (diff) |
C++: Add support of ref-qualifier for functions.
Now the ref-qualifier (& or &&) of the function declaration
is propagated to GUI. For example, 'Refactor' -> 'Add Definition'
preserves the ref-qualifier.
Change-Id: I8ac4e1cad4e44985e94230aabbd9858a7e929fee
Reviewed-by: Nikolai Kosjar <[email protected]>
Reviewed-by: Orgad Shaneh <[email protected]>
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r-- | src/libs/cplusplus/CppRewriter.cpp | 1 | ||||
-rw-r--r-- | src/libs/cplusplus/TypePrettyPrinter.cpp | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index 4a7325a6c48..1ce9cc2dfa7 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -135,6 +135,7 @@ public: funTy->copy(type); funTy->setConst(type->isConst()); funTy->setVolatile(type->isVolatile()); + funTy->setRefQualifier(type->refQualifier()); funTy->setName(rewrite->rewriteName(type->name())); diff --git a/src/libs/cplusplus/TypePrettyPrinter.cpp b/src/libs/cplusplus/TypePrettyPrinter.cpp index 282deb830e2..e3693f17a05 100644 --- a/src/libs/cplusplus/TypePrettyPrinter.cpp +++ b/src/libs/cplusplus/TypePrettyPrinter.cpp @@ -454,6 +454,17 @@ void TypePrettyPrinter::visit(Function *type) appendSpace(); _text += QLatin1String("volatile"); } + + // add ref-qualifier + if (type->refQualifier() != Function::NoRefQualifier) { + if (!_overview->starBindFlags.testFlag(Overview::BindToLeftSpecifier) + || (!type->isConst() && !type->isVolatile())) { + appendSpace(); + } + _text += type->refQualifier() == Function::LvalueRefQualifier + ? QLatin1String("&") + : QLatin1String("&&"); + } } } |