[SyntaxColoring] Not coloring 'keywords' appearing in API argument names as actual keywords; they are legal names. rdar://25129880

This commit is contained in:
Xi Ge
2016-03-14 17:30:38 -07:00
parent 20f7175234
commit b74bd730a6
2 changed files with 13 additions and 3 deletions

View File

@@ -821,9 +821,13 @@ bool ModelASTWalker::walkToDeclPre(Decl *D) {
SyntaxStructureNode SN;
SN.Dcl = D;
SN.Kind = SyntaxStructureKind::Parameter;
if (!PD->getArgumentName().empty())
SN.NameRange = CharSourceRange(PD->getSourceRange().Start,
PD->getArgumentName().getLength());
if (!PD->getArgumentName().empty()) {
SourceLoc ArgStart = PD->getSourceRange().Start;
SN.NameRange = CharSourceRange(ArgStart, PD->getArgumentName().getLength());
passTokenNodesUntil(ArgStart, PassNodesBehavior::ExcludeNodeAtLocation);
const_cast<SyntaxNode&>(TokenNodes.front()).Kind = SyntaxNodeKind::
Identifier;
}
SN.Range = charSourceRangeFromSourceRange(SM, PD->getSourceRange());
SN.Attrs = PD->getAttrs();
SN.TypeRange = charSourceRangeFromSourceRange(SM,