Get variables in-scope on the line number. This includes all local variables as-well-as outer-scope variables :rtype: list[Variable]
(self, line_number=None)
| 356 | self.first_group().nodes = [n for n in self.first_group().nodes if n != self] |
| 357 | |
| 358 | def get_variables(self, line_number=None): |
| 359 | """ |
| 360 | Get variables in-scope on the line number. |
| 361 | This includes all local variables as-well-as outer-scope variables |
| 362 | :rtype: list[Variable] |
| 363 | """ |
| 364 | if line_number is None: |
| 365 | ret = list(self.variables) |
| 366 | else: |
| 367 | # TODO variables should be sorted by scope before line_number |
| 368 | ret = list([v for v in self.variables if v.line_number <= line_number]) |
| 369 | if any(v.line_number for v in ret): |
| 370 | ret.sort(key=lambda v: v.line_number, reverse=True) |
| 371 | |
| 372 | parent = self.parent |
| 373 | while parent: |
| 374 | ret += parent.get_variables() |
| 375 | parent = parent.parent |
| 376 | return ret |
| 377 | |
| 378 | def resolve_variables(self, file_groups): |
| 379 | """ |
no outgoing calls
no test coverage detected