virtual bool refersToGlobal(const std::string &name) { if (isCompilerCreatedName(name)) return false; //assert(name[0] != '#' && "should test this"); return true; }
VarScopeType getScopeTypeOfName(InternedString name) override { if (isCompilerCreatedName(name)) return VarScopeType::FAST; else if (forced_globals.find(name) != forced_globals.end()) return VarScopeType::GLOBAL; else return VarScopeType::NAME; }
virtual bool refersToGlobal(const std::string &name) { // HAX if (isCompilerCreatedName(name)) return false; if (usage->forced_globals.count(name)) return true; return usage->written.count(name) == 0 && usage->got_from_closure.count(name) == 0; }
virtual bool saveInClosure(const std::string name) { // HAX if (isCompilerCreatedName(name)) return false; return usage->referenced_from_nested.count(name) != 0; }
virtual bool refersToClosure(const std::string name) { // HAX if (isCompilerCreatedName(name)) return false; return usage->got_from_closure.count(name) != 0; }
VarScopeType getScopeTypeOfName(InternedString name) override { if (isCompilerCreatedName(name)) return VarScopeType::FAST; else return VarScopeType::GLOBAL; }