bool prefixed = false;
unsigned number = 1;
unsigned size_without_number = name.size();
- while(block.variables.count(name))
+ while(1)
{
+ bool unused = true;
+ for(const Block *b=█ (unused && b); b=b->parent)
+ unused = !b->variables.count(name);
+ if(unused)
+ return name;
+
if(!prefixed && !prefix_hint.empty())
{
if(name.front()!='_')
++number;
}
}
-
- return name;
}
} // namespace SL