reserveName method
Returns a unique version of name
, which will not produce a collision within
the context of this query
.
Implementation
String reserveName(String name) {
if (parent != null) {
return parent!.reserveName(name);
}
// var n = _names[name] ??= 0;
// _names[name]++;
var n = 0;
var nn = _names[name];
if (nn != null) {
n = nn;
nn++;
_names[name] = nn;
} else {
_names[name] = 0; //1;
}
return n == 0 ? name : '$name$n';
}