blob: 1b4598c58c9d411787da6a886664b83ea0abb1e5 [file] [log] [blame] [edit]
// 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
// This file contains shared functions that consume annotations, do various
// checks, and return the annotation or some derived value. Annotations should
// be defined in support/annotations.h
#ifndef THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_ANNOTATIONS_CONSUMER_H_
#define THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_ANNOTATIONS_CONSUMER_H_
#include <optional>
#include "rs_bindings_from_cc/ir.h"
#include "clang/AST/DeclBase.h"
namespace crubit {
// Returns the `crubit_rust_name` annotation as an unqualified identifier for
// the given declaration, if present.
std::optional<UnqualifiedIdentifier> CrubitRustName(const clang::Decl& decl);
} // namespace crubit
#endif // THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_ANNOTATIONS_CONSUMER_H_