pub struct IR {
pub ir_version: String,
pub ir_backend: String,
pub ir_hash: Option<String>,
pub ir_metadata: Option<GenerationMetadata>,
pub ir_types: HashMap<String, TypeDef>,
pub ir_methods: HashMap<String, MethodDef>,
pub ir_plugins: HashMap<String, Vec<String>>,
}Expand description
Top-level IR structure (matches Synapse output)
Fields§
§ir_version: StringIR format version
ir_backend: StringBackend name (e.g., “substrate”, “plexus”)
ir_hash: Option<String>Plexus hash for versioning (optional, computed from schema tree)
ir_metadata: Option<GenerationMetadata>Generation toolchain metadata
ir_types: HashMap<String, TypeDef>Named type definitions (structs, enums, aliases)
ir_methods: HashMap<String, MethodDef>Method definitions keyed by full path (e.g., “cone.chat”)
ir_plugins: HashMap<String, Vec<String>>Plugin -> method names mapping
Trait Implementations§
Source§impl<'de> Deserialize<'de> for IR
impl<'de> Deserialize<'de> for IR
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for IR
impl RefUnwindSafe for IR
impl Send for IR
impl Sync for IR
impl Unpin for IR
impl UnsafeUnpin for IR
impl UnwindSafe for IR
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more