Merge "header-checker: Remove dead code from IRReader"

This commit is contained in:
Logan Chien
2019-05-02 15:47:55 +00:00
committed by Gerrit Code Review

View File

@@ -49,6 +49,10 @@ class IRReader {
};
public:
static std::unique_ptr<IRReader> CreateIRReader(
TextFormatIR text_format,
const std::set<std::string> *exported_headers = nullptr);
IRReader(const std::set<std::string> *exported_headers)
: module_(new ModuleIR(exported_headers)) {}
@@ -64,28 +68,9 @@ class IRReader {
return std::move(module_);
}
void Merge(IRReader &&addend) {
MergeElements(&module_->functions_, std::move(addend.module_->functions_));
MergeElements(&module_->global_variables_,
std::move(addend.module_->global_variables_));
MergeElements(&module_->record_types_,
std::move(addend.module_->record_types_));
MergeElements(&module_->enum_types_,
std::move(addend.module_->enum_types_));
MergeElements(&module_->pointer_types_,
std::move(addend.module_->pointer_types_));
MergeElements(&module_->lvalue_reference_types_,
std::move(addend.module_->lvalue_reference_types_));
MergeElements(&module_->rvalue_reference_types_,
std::move(addend.module_->rvalue_reference_types_));
MergeElements(&module_->array_types_,
std::move(addend.module_->array_types_));
MergeElements(&module_->builtin_types_,
std::move(addend.module_->builtin_types_));
MergeElements(&module_->qualified_types_,
std::move(addend.module_->qualified_types_));
}
void MergeGraphs(const IRReader &addend);
private:
template <typename T>
MergeStatus MergeReferencingTypeInternalAndUpdateParent(
const IRReader &addend, const T *addend_node,
@@ -177,8 +162,6 @@ class IRReader {
const FunctionIR *addend_node, const IRReader &addend,
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
void MergeGraphs(const IRReader &addend);
void UpdateIRReaderTypeGraph(
const TypeIR *addend_node, const std::string &added_type_id,
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
@@ -193,17 +176,7 @@ class IRReader {
std::string AllocateNewTypeId();
static std::unique_ptr<IRReader> CreateIRReader(
TextFormatIR text_format,
const std::set<std::string> *exported_headers = nullptr);
protected:
template <typename Augend, typename Addend>
inline void MergeElements(Augend *augend, Addend &&addend) {
augend->insert(std::make_move_iterator(addend.begin()),
std::make_move_iterator(addend.end()));
}
std::unique_ptr<ModuleIR> module_;
uint64_t max_type_id_ = 0;