Build a Native ImportKind from resolved bindings/classes/consts. */
(bindings: &[crate::modules::packages::NativeBinding], classes: &[crate::modules::packages::NativeClass], consts: &[crate::modules::packages::NativeBinding])
| 165 | |
| 166 | /* Build a Native ImportKind from resolved bindings/classes/consts. */ |
| 167 | fn native_import_kind(bindings: &[crate::modules::packages::NativeBinding], classes: &[crate::modules::packages::NativeClass], consts: &[crate::modules::packages::NativeBinding]) -> ImportKind { |
| 168 | ImportKind::Native { |
| 169 | funcs: bindings.iter().map(binding_to_extern).collect(), |
| 170 | classes: classes.iter().map(|c| NativeClassEntry { |
| 171 | name: c.name.clone(), |
| 172 | methods: c.methods.iter().map(binding_to_extern).collect(), |
| 173 | }).collect(), |
| 174 | consts: consts.iter().map(binding_to_extern).collect(), |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | /* Emit `LoadModule + LoadAttr(name) + StoreName(alias)`: bind a module attribute under `alias`. */ |
| 179 | fn bind_module_attr(&mut self, import_idx: u16, name: &str, alias: &str) { |