30 virtual void handle(
Tree &symbols, std::shared_ptr<::mlir::ModuleOp> module, ::mlir::Operation *op) = 0;
33 extern std::vector<std::shared_ptr<Adapter>>
Adapters;
39 Adapters.push_back(std::make_shared<T>());
An adapter for each dialect in module. one adapter should match to one dialect, and vice versa....
virtual ~Adapter()=default
virtual void handle(Tree &symbols, std::shared_ptr<::mlir::ModuleOp > module, ::mlir::Operation *op)=0
A tree struct for symbol tree. It's just a simple wrapper for root node.
std::vector< std::shared_ptr< Adapter > > Adapters