MCPcopy Create free account
hub / github.com/arcjet/gravity / AnalyzedInterface

Class AnalyzedInterface

cmd/gravity/src/codegen/ir.rs:40–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38///
39#[derive(Debug, Clone)]
40pub 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)]

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected