blob: 10bf8cf11271569797e65b15042c21a7e5842bf7 [file] [log] [blame]
// Part of the Crubit project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// Standalone AST -> IR conversion functions, which can be used independently
// of ast_visitor.
//
// This allows us to, for example, perform a subset of the work of ast_visitor
// inside of a ClangMR or other tool.
#ifndef CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_
#define CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_
#include "rs_bindings_from_cc/ir.h"
#include "clang/AST/Decl.h"
#include "clang/Basic/Specifiers.h"
namespace crubit {
AccessSpecifier TranslateAccessSpecifier(clang::AccessSpecifier access);
SpecialMemberFunc GetCopyCtorSpecialMemberFunc(
const clang::RecordDecl& record_decl);
SpecialMemberFunc GetMoveCtorSpecialMemberFunc(
const clang::RecordDecl& record_decl);
SpecialMemberFunc GetDestructorSpecialMemberFunc(
const clang::RecordDecl& record_decl);
} // namespace crubit
#endif // CRUBIT_RS_BINDINGS_FROM_CC_AST_CONVERT_H_