diff options
Diffstat (limited to 'lib/Format/NamespaceEndCommentsFixer.cpp')
| -rw-r--r-- | lib/Format/NamespaceEndCommentsFixer.cpp | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Format/NamespaceEndCommentsFixer.cpp b/lib/Format/NamespaceEndCommentsFixer.cpp index 85b70b8c0a768..df99bb2e13819 100644 --- a/lib/Format/NamespaceEndCommentsFixer.cpp +++ b/lib/Format/NamespaceEndCommentsFixer.cpp @@ -118,6 +118,12 @@ getNamespaceToken(const AnnotatedLine *line,      return nullptr;    assert(StartLineIndex < AnnotatedLines.size());    const FormatToken *NamespaceTok = AnnotatedLines[StartLineIndex]->First; +  if (NamespaceTok->is(tok::l_brace)) { +    // "namespace" keyword can be on the line preceding '{', e.g. in styles +    // where BraceWrapping.AfterNamespace is true. +    if (StartLineIndex > 0) +      NamespaceTok = AnnotatedLines[StartLineIndex - 1]->First; +  }    // Detect "(inline)? namespace" in the beginning of a line.    if (NamespaceTok->is(tok::kw_inline))      NamespaceTok = NamespaceTok->getNextNonComment(); @@ -131,7 +137,7 @@ NamespaceEndCommentsFixer::NamespaceEndCommentsFixer(const Environment &Env,                                                       const FormatStyle &Style)      : TokenAnalyzer(Env, Style) {} -tooling::Replacements NamespaceEndCommentsFixer::analyze( +std::pair<tooling::Replacements, unsigned> NamespaceEndCommentsFixer::analyze(      TokenAnnotator &Annotator, SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,      FormatTokenLexer &Tokens) {    const SourceManager &SourceMgr = Env.getSourceManager(); @@ -200,7 +206,7 @@ tooling::Replacements NamespaceEndCommentsFixer::analyze(      }      StartLineIndex = SIZE_MAX;    } -  return Fixes; +  return {Fixes, 0};  }  } // namespace format  | 
