Returns (class_name, method_name) when export matches `__class_ _ `, else None. */
(export: &str)
| 76 | |
| 77 | /* Returns (class_name, method_name) when export matches `__class_<Name>_<method>`, else None. */ |
| 78 | fn parse_class_export(export: &str) -> Option<(&str, &str)> { |
| 79 | let rest = export.strip_prefix("__class_")?; |
| 80 | let sep = rest.find('_')?; |
| 81 | let (class_name, method_part) = rest.split_at(sep); |
| 82 | if class_name.is_empty() { return None; } |
| 83 | let method = &method_part[1..]; |
| 84 | if method.is_empty() { return None; } |
| 85 | Some((class_name, method)) |
| 86 | } |
| 87 | |
| 88 | /* Host-injected trait; resolve called once per import statement. &mut self allows internal caching. */ |
| 89 | pub trait Resolver { |
no test coverage detected