#pragma once #include "BfElementVisitor.h" #include "BfSystem.h" NS_BF_BEGIN class BfResolvePassData; class BfNamespaceVisitor : public BfStructuralVisitor { public: BfSystem* mSystem; BfResolvePassData* mResolvePassData; BfAtomComposite mNamespace; public: BfNamespaceVisitor() { mSystem = NULL; mResolvePassData = NULL; } virtual void Visit(BfUsingDirective* usingDirective) override; virtual void Visit(BfUsingModDirective* usingDirective) override; virtual void Visit(BfNamespaceDeclaration* namespaceDeclaration) override; virtual void Visit(BfBlock* block) override; virtual void Visit(BfRootNode* rootNode) override; }; NS_BF_END