|
|
@ -74,17 +74,9 @@ void Scope::DropKids() {
|
|
|
|
kids_.clear();
|
|
|
|
kids_.clear();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<std::string> Scope::GetAllNames(bool recursive) const {
|
|
|
|
std::vector<std::string> Scope::LocalVarNames() const {
|
|
|
|
std::vector<std::string> known_vars(vars_.size());
|
|
|
|
std::vector<std::string> known_vars;
|
|
|
|
|
|
|
|
known_vars.reserve(this->vars_.size());
|
|
|
|
if (recursive) {
|
|
|
|
|
|
|
|
for (auto& kid : kids_) {
|
|
|
|
|
|
|
|
auto kid_vars = kid->GetAllNames();
|
|
|
|
|
|
|
|
for (auto& p : kid_vars) {
|
|
|
|
|
|
|
|
known_vars.emplace_back(p);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for (auto& p : vars_) {
|
|
|
|
for (auto& p : vars_) {
|
|
|
|
known_vars.emplace_back(p.first);
|
|
|
|
known_vars.emplace_back(p.first);
|
|
|
|
}
|
|
|
|
}
|
|
|
|