blob: c19ef5852e81540709efa776d5ac07c77efba298 [file] [log] [blame]
Devin Jeanpierred3f959f2021-10-27 18:47:50 +00001// Part of the Crubit project, under the Apache License v2.0 with LLVM
2// Exceptions. See /LICENSE for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5// Standalone AST -> IR conversion functions, which can be used independently
6// of ast_visitor.
7//
8// This allows us to, for example, perform a subset of the work of ast_visitor
9// inside of a ClangMR or other tool.
Dmitri Gribenkoe4e77d02022-03-17 14:09:39 +000010#ifndef CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_
11#define CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_
Devin Jeanpierred3f959f2021-10-27 18:47:50 +000012
13#include "rs_bindings_from_cc/ir.h"
Lukasz Anforowiczcec7a8a2022-04-27 10:24:51 -070014#include "clang/AST/Decl.h"
Devin Jeanpierred3f959f2021-10-27 18:47:50 +000015
Marcel Hlopkof15e8ce2022-04-08 08:46:09 -070016namespace crubit {
Devin Jeanpierred3f959f2021-10-27 18:47:50 +000017
Devin Jeanpierred3f959f2021-10-27 18:47:50 +000018SpecialMemberFunc GetCopyCtorSpecialMemberFunc(
19 const clang::RecordDecl& record_decl);
20
21SpecialMemberFunc GetMoveCtorSpecialMemberFunc(
22 const clang::RecordDecl& record_decl);
23
24SpecialMemberFunc GetDestructorSpecialMemberFunc(
25 const clang::RecordDecl& record_decl);
26
Marcel Hlopkof15e8ce2022-04-08 08:46:09 -070027} // namespace crubit
Devin Jeanpierred3f959f2021-10-27 18:47:50 +000028
Dmitri Gribenkoe4e77d02022-03-17 14:09:39 +000029#endif // CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_