MCPcopy Create free account
hub / github.com/bytecodealliance/wit-bindgen / record_lower

Method record_lower

crates/rust/src/bindgen.rs:99–123  ·  view source on GitHub ↗
(
        &mut self,
        id: TypeId,
        record: &Record,
        operand: &str,
        results: &mut Vec<String>,
    )

Source from the content-addressed store, hash-verified

97 }
98
99 fn record_lower(
100 &mut self,
101 id: TypeId,
102 record: &Record,
103 operand: &str,
104 results: &mut Vec<String>,
105 ) {
106 let tmp = self.tmp();
107 self.push_str("let ");
108 let name = self.typename_lower(id);
109 self.push_str(&name);
110 self.push_str("{ ");
111 for field in record.fields.iter() {
112 let name = to_rust_ident(&field.name);
113 let arg = format!("{name}{tmp}");
114 self.push_str(&name);
115 self.push_str(":");
116 self.push_str(&arg);
117 self.push_str(", ");
118 results.push(arg);
119 }
120 self.push_str("} = ");
121 self.push_str(operand);
122 self.push_str(";\n");
123 }
124
125 fn record_lift(
126 &mut self,

Callers 1

emitMethod · 0.80

Calls 6

to_rust_identFunction · 0.85
typename_lowerMethod · 0.80
tmpMethod · 0.45
push_strMethod · 0.45
iterMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected