| // 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_ |