blob: e78d8eae7e76a8095ab3041a5a3c6ad4d1ba887b [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
#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_