| 61 | /// Method signature for an interface |
| 62 | #[derive(Debug, Clone)] |
| 63 | pub struct InterfaceMethod { |
| 64 | /// The name of the interface method. |
| 65 | pub name: String, |
| 66 | /// The Go identifier of the interface method. |
| 67 | /// |
| 68 | /// E.g. the `Log` in `func (l *Logger) Log(ctx context.Context, message string)` |
| 69 | pub go_method_name: GoIdentifier, |
| 70 | /// The parameters of the interface method. |
| 71 | pub parameters: Vec<Parameter>, |
| 72 | /// The return type of the interface method. |
| 73 | /// |
| 74 | /// This stores both the WIT type and the Go type. |
| 75 | pub return_type: Option<WitReturn>, |
| 76 | /// Raw WIT function, used to generate the body of the interface method. |
| 77 | pub wit_function: Function, |
| 78 | } |
| 79 | |
| 80 | /// A parameter of an interface method. |
| 81 | #[derive(Debug, Clone)] |
nothing calls this directly
no outgoing calls
no test coverage detected