| 38 | /// |
| 39 | #[derive(Debug, Clone)] |
| 40 | pub struct AnalyzedInterface { |
| 41 | /// The name of the interface. |
| 42 | pub name: String, |
| 43 | pub methods: Vec<InterfaceMethod>, |
| 44 | pub types: Vec<AnalyzedType>, |
| 45 | |
| 46 | /// The Go interface type name (e.g., "ITestWorldLogger") |
| 47 | /// |
| 48 | /// E.g. the `ILogger` in `type ILogger interface { ... }`. |
| 49 | pub go_interface_name: GoIdentifier, |
| 50 | /// The parameter name this instance of the interface will have in the factory constructor. |
| 51 | /// |
| 52 | /// E.g. the `logger` in `NewLoggerFactory(ctx context.Context, logger ILogger)` |
| 53 | pub constructor_param_name: GoIdentifier, |
| 54 | /// The module name for the wazero host module builder. |
| 55 | /// Used as the argument to `wazeroRuntime.NewHostModuleBuilder`. |
| 56 | /// |
| 57 | /// E.g. the `argjet:basic/logger` in `wazeroRuntime.NewHostModuleBuilder("argjet:basic/logger")` |
| 58 | pub wazero_module_name: String, |
| 59 | } |
| 60 | |
| 61 | /// Method signature for an interface |
| 62 | #[derive(Debug, Clone)] |
nothing calls this directly
no outgoing calls
no test coverage detected