Returns an unused symbol (and keeps track of it being used).
(self)
| 282 | return self._child_entities[:] |
| 283 | |
| 284 | def pop(self): |
| 285 | """Returns an unused symbol (and keeps track of it being used).""" |
| 286 | allowed = (_ALLOWED_SYMBOLS |
| 287 | .difference(self._relation_symbols) |
| 288 | .difference(self._self_symbols) |
| 289 | .difference(self._child_symbols)) |
| 290 | if not allowed: |
| 291 | raise ValueError('Ran out of symbols') |
| 292 | symbol = random.choice(list(allowed)) |
| 293 | self._self_symbols.add(symbol) |
| 294 | return symbol |
| 295 | |
| 296 | def mark_used(self, symbol): |
| 297 | """Marks a given symbol as used.""" |
no outgoing calls
no test coverage detected