(qualifier, class_def)
| 13714 | return this._cu.get_type(name); |
| 13715 | } |
| 13716 | importNamedType(qualifier, class_def) { |
| 13717 | const qualified_name = new torch._C.QualifiedName(`${qualifier}.${class_def.name}`); |
| 13718 | if (class_def.bases.length === 0) { |
| 13719 | this.importClass(qualified_name, class_def, false); |
| 13720 | return; |
| 13721 | } |
| 13722 | const superclass_name = class_def.bases[0].id; |
| 13723 | if (superclass_name === 'Module') { |
| 13724 | this.importClass(qualified_name, class_def, true); |
| 13725 | } else if (superclass_name === 'NamedTuple') { |
| 13726 | this.importNamedTuple(qualified_name, class_def); |
| 13727 | } else if (superclass_name === 'Interface') { |
| 13728 | // this._cu.define_interface(qualified_name, class_def, shared_from_this(), is_module=false); |
| 13729 | } else if (superclass_name === 'ModuleInterface') { |
| 13730 | // this._cu.define_interface(qualified_name, class_def, shared_from_this(), is_module=true); |
| 13731 | } else if (superclass_name === 'Enum') { |
| 13732 | this.importEnum(qualified_name, class_def); |
| 13733 | } else { |
| 13734 | throw new python.Error('TorchScript does not support class inheritance.'); |
| 13735 | } |
| 13736 | } |
| 13737 | importClass(qualified_classname, class_def, is_module) { |
| 13738 | if (qualified_classname.prefix().startsWith('__torch__.torch.classes')) { |
| 13739 | return; |
no test coverage detected