Merge "header-checker: Remove dead code from IRReader"
This commit is contained in:
@@ -49,6 +49,10 @@ class IRReader {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public:
|
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)
|
IRReader(const std::set<std::string> *exported_headers)
|
||||||
: module_(new ModuleIR(exported_headers)) {}
|
: module_(new ModuleIR(exported_headers)) {}
|
||||||
|
|
||||||
@@ -64,28 +68,9 @@ class IRReader {
|
|||||||
return std::move(module_);
|
return std::move(module_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Merge(IRReader &&addend) {
|
void MergeGraphs(const 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_));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
MergeStatus MergeReferencingTypeInternalAndUpdateParent(
|
MergeStatus MergeReferencingTypeInternalAndUpdateParent(
|
||||||
const IRReader &addend, const T *addend_node,
|
const IRReader &addend, const T *addend_node,
|
||||||
@@ -177,8 +162,6 @@ class IRReader {
|
|||||||
const FunctionIR *addend_node, const IRReader &addend,
|
const FunctionIR *addend_node, const IRReader &addend,
|
||||||
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
|
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
|
||||||
|
|
||||||
void MergeGraphs(const IRReader &addend);
|
|
||||||
|
|
||||||
void UpdateIRReaderTypeGraph(
|
void UpdateIRReaderTypeGraph(
|
||||||
const TypeIR *addend_node, const std::string &added_type_id,
|
const TypeIR *addend_node, const std::string &added_type_id,
|
||||||
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
|
AbiElementMap<MergeStatus> *local_to_global_type_id_map);
|
||||||
@@ -193,17 +176,7 @@ class IRReader {
|
|||||||
|
|
||||||
std::string AllocateNewTypeId();
|
std::string AllocateNewTypeId();
|
||||||
|
|
||||||
static std::unique_ptr<IRReader> CreateIRReader(
|
|
||||||
TextFormatIR text_format,
|
|
||||||
const std::set<std::string> *exported_headers = nullptr);
|
|
||||||
|
|
||||||
protected:
|
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_;
|
std::unique_ptr<ModuleIR> module_;
|
||||||
|
|
||||||
uint64_t max_type_id_ = 0;
|
uint64_t max_type_id_ = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user