1 //===--- UsingDeclarationsSorter.h ------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 /// 10 /// \file 11 /// This file declares UsingDeclarationsSorter, a TokenAnalyzer that 12 /// sorts consecutive using declarations. 13 /// 14 //===----------------------------------------------------------------------===// 15 16 #ifndef LLVM_CLANG_LIB_FORMAT_USINGDECLARATIONSSORTER_H 17 #define LLVM_CLANG_LIB_FORMAT_USINGDECLARATIONSSORTER_H 18 19 #include "TokenAnalyzer.h" 20 21 namespace clang { 22 namespace format { 23 24 class UsingDeclarationsSorter : public TokenAnalyzer { 25 public: 26 UsingDeclarationsSorter(const Environment &Env, const FormatStyle &Style); 27 28 std::pair<tooling::Replacements, unsigned> 29 analyze(TokenAnnotator &Annotator, 30 SmallVectorImpl<AnnotatedLine *> &AnnotatedLines, 31 FormatTokenLexer &Tokens) override; 32 }; 33 34 } // end namespace format 35 } // end namespace clang 36 37 #endif 38