#pragma once #include "AST/Node.h" #include "AST/StmtNode.h" /// 模块节点 class ModuleNode final : public Node { public: ~ModuleNode() override = default; explicit ModuleNode(String filename, SharedPtrVector childStmts); virtual bool isEmpty() const; void bindChildrenInversely() override; void accept(const SharedPtr &visitor) override; String filename; SharedPtrVector childStmts; SharedPtr internalScope = nullptr; };