forked from qt-creator/qt-creator
Clang: Show all tokens of a getter as output argument
f(x.get()); -> x.get() should be shown as a output argument Task-number: QTCREATORBUG-18591 Change-Id: I99f5637660bcd0a889338ebfa6737d79de226f87 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -60,6 +60,8 @@ using testing::IsNull;
|
||||
using testing::NotNull;
|
||||
using testing::Gt;
|
||||
using testing::Contains;
|
||||
using testing::ElementsAre;
|
||||
using testing::_;
|
||||
using testing::EndsWith;
|
||||
using testing::AllOf;
|
||||
using testing::Not;
|
||||
@@ -96,6 +98,14 @@ MATCHER_P2(HasTwoTypes, firstType, secondType,
|
||||
return arg.hasMainType(firstType) && arg.hasMixinType(secondType);
|
||||
}
|
||||
|
||||
MATCHER_P(HasMixin, firstType,
|
||||
std::string(negation ? "isn't " : "is ")
|
||||
+ PrintToString(firstType)
|
||||
)
|
||||
{
|
||||
return arg.hasMixinType(firstType);
|
||||
}
|
||||
|
||||
struct Data {
|
||||
Data()
|
||||
{
|
||||
@@ -1021,6 +1031,23 @@ TEST_F(HighlightingMarks, ConstPointerArgument)
|
||||
HasOnlyType(HighlightingType::LocalVariable));
|
||||
}
|
||||
|
||||
TEST_F(HighlightingMarks, NonConstPointerGetterAsArgument)
|
||||
{
|
||||
const auto infos = translationUnit.highlightingMarksInRange(sourceRange(580, 41));
|
||||
|
||||
ASSERT_THAT(infos,
|
||||
ElementsAre(_,
|
||||
_,
|
||||
HasMixin(HighlightingType::OutputArgument),
|
||||
HasMixin(HighlightingType::OutputArgument),
|
||||
HasMixin(HighlightingType::OutputArgument),
|
||||
HasMixin(HighlightingType::OutputArgument),
|
||||
HasMixin(HighlightingType::OutputArgument),
|
||||
_,
|
||||
_,
|
||||
_));
|
||||
}
|
||||
|
||||
TEST_F(HighlightingMarks, NonConstReferenceArgumentCallInsideCall)
|
||||
{
|
||||
const auto infos = translationUnit.highlightingMarksInRange(sourceRange(501, 64));
|
||||
|
||||
Reference in New Issue
Block a user