(cls, row)
| 786 | |
| 787 | @classmethod |
| 788 | def _from_row(cls, row): |
| 789 | filename, funcname, name, kind, data = row |
| 790 | kind = KIND._from_raw(kind) |
| 791 | if kind is not cls.kind: |
| 792 | raise TypeError(f'expected kind {cls.kind.value!r}, got {row!r}') |
| 793 | fileinfo = FileInfo.from_raw(filename) |
| 794 | extra = None |
| 795 | if isinstance(data, str): |
| 796 | data, extra = cls._parse_data(data, fmt='row') |
| 797 | if extra: |
| 798 | return cls(fileinfo, name, data, funcname, _extra=extra) |
| 799 | else: |
| 800 | return cls(fileinfo, name, data, funcname) |
| 801 | |
| 802 | @classmethod |
| 803 | def _resolve_parent(cls, parsed, *, _kind=None): |
no test coverage detected