(obj, mapping)
| 58 | |
| 59 | |
| 60 | def _apply_params(obj, mapping): |
| 61 | if isinstance(obj, typing.TypeVar): |
| 62 | return mapping.get(obj, obj) |
| 63 | |
| 64 | try: |
| 65 | parameters = tuple(obj.__parameters__) |
| 66 | except Exception: |
| 67 | # Not parameterized or __parameters__ is invalid, ignore |
| 68 | return obj |
| 69 | |
| 70 | if not parameters: |
| 71 | # Not parametrized |
| 72 | return obj |
| 73 | |
| 74 | # Parametrized |
| 75 | args = tuple(mapping.get(p, p) for p in parameters) |
| 76 | return obj[args] |
| 77 | |
| 78 | |
| 79 | def _get_class_mro_and_typevar_mappings(obj): |
no test coverage detected
searching dependent graphs…