[PATCH] D51036: clang-format: Fix formatting C++ namespaces with preceding 'inline' or 'export' specifier
    Marco Elver via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Mon Aug 27 04:42:54 PDT 2018
    
    
  
melver added inline comments.
================
Comment at: lib/Format/Format.cpp:1312
       auto &Line = *AnnotatedLines[i];
       if (Line.startsWith(tok::kw_namespace) ||
+          Line.startsWith(tok::kw_inline, tok::kw_namespace) ||
----------------
owenpan wrote:
> sammccall wrote:
> > these 3 startswith checks appear 4 times now, you could pull out a helper function `startsWithNamespace` in FormatToken.h or something like that.
> > Up to you.
> I missed it. Good catch!
Added startsWithNamespace to TokenAnnotator.h.
================
Comment at: unittests/Format/FormatTest.cpp:7582
                Style);
+  verifyFormat("export namespace Foo\n"
+               "{};",
----------------
sammccall wrote:
> you may want to add tests for other modules TS syntax (e.g. non-namespace export decls).
> It seems this works well today, but without tests it could regress.
I've added a couple for 'export class' with access specifiers. Otherwise, any other additions should probably be in future non-namespace related patches.
Repository:
  rC Clang
https://reviews.llvm.org/D51036
    
    
More information about the cfe-commits
mailing list