Files
revng-revng/include/revng/Model/Processing.h
Alessandro Di Federico a353e00ac1 Introduce model passes
2022-01-31 16:28:14 +01:00

26 lines
687 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include <set>
#include "llvm/Support/ManagedStatic.h"
#include "revng/Model/Binary.h"
namespace model {
/// Given \p Types, drop all the types and DynamicFunctions depending on it
///
/// Sometimes you createe a set of placeholder types in the model, but they end
/// up being invalid. In that case, they, and all the types depending on them,
/// need to be dropped.
///
/// \return the number of dropped types
unsigned dropTypesDependingOnTypes(TupleTree<model::Binary> &Binary,
const std::set<const model::Type *> &Types);
} // namespace model