Clang: Fix highlighting of instance with member for writable arguments

struct X
{
  int member;
};


void f(int &argument);

void foo()
{
  X x;

  f(x.member);
}

Task-number: QTCREATORBUG-17101
Change-Id: I6746122dbe86d032b3797a01b5f2257846007f94
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Marco Bubke
2016-10-12 12:21:47 +02:00
parent b196368785
commit 03bbd88eb1
2 changed files with 18 additions and 10 deletions

View File

@@ -1049,12 +1049,23 @@ TEST_F(HighlightingMarks, NonConstPointerArgumentAsExpression)
HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument));
}
TEST_F(HighlightingMarks, NonConstPointerArgumentAsMemberOfClass)
TEST_F(HighlightingMarks, NonConstPointerArgumentAsInstanceWithMember)
{
const auto infos = translationUnit.highlightingMarksInRange(sourceRange(525, 46));
infos[1];
ASSERT_THAT(infos[2],
HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument));
}
TEST_F(HighlightingMarks, NonConstPointerArgumentAsMemberOfInstance)
{
const auto infos = translationUnit.highlightingMarksInRange(sourceRange(525, 46));
infos[1];
infos[2];
ASSERT_THAT(infos[4],
HasTwoTypes(HighlightingType::Field, HighlightingType::OutputArgument));
}