X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/17fac686375c2823d22415e32e5b7e63bbfe7c54..c4231c6faf4e1b4650b075c641b0bb8c053739e4:/src/check.h diff --git a/src/check.h b/src/check.h index 4e52ccd..091b646 100644 --- a/src/check.h +++ b/src/check.h @@ -4,8 +4,7 @@ bool checkStmt( const Stmt & s, - std::vector structs, - std::vector funcs, + std::vector namespaces, std::vector vars) { return true; @@ -13,14 +12,14 @@ bool checkStmt( bool checkFunction( const Function & f, - std::vector structs, - std::vector funcs, + std::vector namespaces, std::vector vars) { vars.insert(vars.end(), f.parameters.begin(), f.parameters.end()); vars.insert(vars.end(), f.body.variables.begin(), f.body.variables.end()); - for (auto s : f.body.statements) { - if (!checkStmt(s, structs, funcs, vars)) + for (auto s : f.body.statements) + { + if (!checkStmt(s, namespaces, vars)) return false; } return true; @@ -28,16 +27,19 @@ bool checkFunction( bool checkProgram(const Program & p) { - for (auto f : p.functions) { - if (!checkFunction(f, p.structs, p.functions, p.variables)) + for (auto f : p.functions) + { + if (!checkFunction(f, p.namespaces, p.variables)) return false; } - for (auto s : p.structs) { + for (auto s : p.structs) + { std::vector vars = p.variables; for (auto v : s.members) vars.push_back(v); - for (auto f : s.methods) { - if (!checkFunction(f, p.structs, p.functions, vars)) + for (auto f : s.methods) + { + if (!checkFunction(f, p.namespaces, vars)) return false; } }