1 //===--- IntegerLiteralSeparatorFixer.h -------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 /// This file declares IntegerLiteralSeparatorFixer that fixes C++ integer
11 /// literal separators.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_CLANG_LIB_FORMAT_INTEGERLITERALSEPARATORFIXER_H
16 #define LLVM_CLANG_LIB_FORMAT_INTEGERLITERALSEPARATORFIXER_H
18 #include "TokenAnalyzer.h"
23 class IntegerLiteralSeparatorFixer
{
25 std::pair
<tooling::Replacements
, unsigned> process(const Environment
&Env
,
26 const FormatStyle
&Style
);
29 bool checkSeparator(const StringRef IntegerLiteral
, int DigitsPerGroup
) const;
30 std::string
format(const StringRef IntegerLiteral
, int DigitsPerGroup
,
31 int DigitCount
, bool RemoveSeparator
) const;
36 } // end namespace format
37 } // end namespace clang