+ using TraversingVisitor::visit;
+};
+
+class BlockResolver: private TraversingVisitor
+{
+public:
+ void apply(Stage &s) { visit(s.content); }
+
+private:
+ virtual void visit(Block &);
+ virtual void visit(InterfaceBlock &);
+ using TraversingVisitor::visit;