mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-06-20 08:16:31 +00:00
Deindent a few helper functions in dictionaries
No need for it to be an inner function now that it's using methods!
This commit is contained in:
@ -191,7 +191,7 @@ impl<'src> FirstPassRecord<'src> {
|
|||||||
None => return,
|
None => return,
|
||||||
};
|
};
|
||||||
let mut fields = Vec::new();
|
let mut fields = Vec::new();
|
||||||
if !push_members(self, def.identifier.0, &mut fields) {
|
if !self.append_dictionary_members(def.identifier.0, &mut fields) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,20 +199,21 @@ impl<'src> FirstPassRecord<'src> {
|
|||||||
name: rust_ident(&camel_case_ident(def.identifier.0)),
|
name: rust_ident(&camel_case_ident(def.identifier.0)),
|
||||||
fields,
|
fields,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
fn push_members<'src>(
|
fn append_dictionary_members(
|
||||||
data: &FirstPassRecord<'src>,
|
&self,
|
||||||
dict: &'src str,
|
dict: &'src str,
|
||||||
dst: &mut Vec<ast::DictionaryField>,
|
dst: &mut Vec<ast::DictionaryField>,
|
||||||
) -> bool {
|
) -> bool {
|
||||||
let dict_data = &data.dictionaries[&dict];
|
let dict_data = &self.dictionaries[&dict];
|
||||||
let definition = dict_data.definition.unwrap();
|
let definition = dict_data.definition.unwrap();
|
||||||
|
|
||||||
// > The order of the dictionary members on a given dictionary is
|
// > The order of the dictionary members on a given dictionary is
|
||||||
// > such that inherited dictionary members are ordered before
|
// > such that inherited dictionary members are ordered before
|
||||||
// > non-inherited members ...
|
// > non-inherited members ...
|
||||||
if let Some(parent) = &definition.inheritance {
|
if let Some(parent) = &definition.inheritance {
|
||||||
if !push_members(data, parent.identifier.0, dst) {
|
if !self.append_dictionary_members(parent.identifier.0, dst) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,7 +226,7 @@ impl<'src> FirstPassRecord<'src> {
|
|||||||
let members = definition.members.body.iter();
|
let members = definition.members.body.iter();
|
||||||
let partials = dict_data.partials.iter().flat_map(|d| &d.members.body);
|
let partials = dict_data.partials.iter().flat_map(|d| &d.members.body);
|
||||||
for member in members.chain(partials) {
|
for member in members.chain(partials) {
|
||||||
match mkfield(data, member) {
|
match self.dictionary_field(member) {
|
||||||
Some(f) => dst.push(f),
|
Some(f) => dst.push(f),
|
||||||
None => {
|
None => {
|
||||||
warn!(
|
warn!(
|
||||||
@ -251,12 +252,12 @@ impl<'src> FirstPassRecord<'src> {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
fn mkfield<'src>(
|
fn dictionary_field(
|
||||||
data: &FirstPassRecord<'src>,
|
&self,
|
||||||
field: &'src DictionaryMember<'src>,
|
field: &'src DictionaryMember<'src>,
|
||||||
) -> Option<ast::DictionaryField> {
|
) -> Option<ast::DictionaryField> {
|
||||||
// use argument position now as we're just binding setters
|
// use argument position now as we're just binding setters
|
||||||
let ty = field.type_.to_idl_type(data)?.to_syn_type(TypePosition::Argument)?;
|
let ty = field.type_.to_idl_type(self)?.to_syn_type(TypePosition::Argument)?;
|
||||||
|
|
||||||
// Slice types aren't supported because they don't implement
|
// Slice types aren't supported because they don't implement
|
||||||
// `Into<JsValue>`
|
// `Into<JsValue>`
|
||||||
@ -283,7 +284,6 @@ impl<'src> FirstPassRecord<'src> {
|
|||||||
ty,
|
ty,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fn append_ns(
|
fn append_ns(
|
||||||
&'src self,
|
&'src self,
|
||||||
|
Reference in New Issue
Block a user