| // 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 |
| |
| #ifndef CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_INSTANTIATIONS_H_ |
| #define CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_INSTANTIATIONS_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include "absl/status/statusor.h" |
| #include "absl/types/span.h" |
| |
| namespace crubit { |
| |
| // Parses Rust source files given their filenames and returns a vector with all |
| // C++ class template instantiations requested by calls to the `cc_template!` |
| // macro. |
| absl::StatusOr<std::vector<std::string>> CollectInstantiations( |
| absl::Span<const std::string> rust_sources); |
| |
| } // namespace crubit |
| |
| #endif // CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_INSTANTIATIONS_H_ |