[Flang] remove whole-archive option for AIX linker (#76039)
[llvm-project.git] / clang-tools-extra / clang-reorder-fields / ReorderFieldsAction.h
blobcc450ed784652678af0b19e7a4eda59f31d9af3d
1 //===-- tools/extra/clang-reorder-fields/ReorderFieldsAction.h -*- C++ -*-===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 ///
9 /// \file
10 /// This file contains the declarations of the ReorderFieldsAction class and
11 /// the FieldPosition struct.
12 ///
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_REORDER_FIELDS_ACTION_H
16 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_REORDER_FIELDS_ACTION_H
18 #include "clang/Tooling/Refactoring.h"
20 namespace clang {
21 class ASTConsumer;
23 namespace reorder_fields {
25 class ReorderFieldsAction {
26 llvm::StringRef RecordName;
27 llvm::ArrayRef<std::string> DesiredFieldsOrder;
28 std::map<std::string, tooling::Replacements> &Replacements;
30 public:
31 ReorderFieldsAction(
32 llvm::StringRef RecordName,
33 llvm::ArrayRef<std::string> DesiredFieldsOrder,
34 std::map<std::string, tooling::Replacements> &Replacements)
35 : RecordName(RecordName), DesiredFieldsOrder(DesiredFieldsOrder),
36 Replacements(Replacements) {}
38 ReorderFieldsAction(const ReorderFieldsAction &) = delete;
39 ReorderFieldsAction &operator=(const ReorderFieldsAction &) = delete;
41 std::unique_ptr<ASTConsumer> newASTConsumer();
43 } // namespace reorder_fields
44 } // namespace clang
46 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_REORDER_FIELDS_ACTION_H