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:
Alex Crichton
2018-08-29 10:40:17 -07:00
parent 4f76a00024
commit 6cf3b90e63

View File

@ -191,7 +191,7 @@ impl<'src> FirstPassRecord<'src> {
None => return,
};
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
}
@ -199,20 +199,21 @@ impl<'src> FirstPassRecord<'src> {
name: rust_ident(&camel_case_ident(def.identifier.0)),
fields,
});
}
fn push_members<'src>(
data: &FirstPassRecord<'src>,
fn append_dictionary_members(
&self,
dict: &'src str,
dst: &mut Vec<ast::DictionaryField>,
) -> bool {
let dict_data = &data.dictionaries[&dict];
let dict_data = &self.dictionaries[&dict];
let definition = dict_data.definition.unwrap();
// > The order of the dictionary members on a given dictionary is
// > such that inherited dictionary members are ordered before
// > non-inherited members ...
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
}
}
@ -225,7 +226,7 @@ impl<'src> FirstPassRecord<'src> {
let members = definition.members.body.iter();
let partials = dict_data.partials.iter().flat_map(|d| &d.members.body);
for member in members.chain(partials) {
match mkfield(data, member) {
match self.dictionary_field(member) {
Some(f) => dst.push(f),
None => {
warn!(
@ -251,12 +252,12 @@ impl<'src> FirstPassRecord<'src> {
return true
}
fn mkfield<'src>(
data: &FirstPassRecord<'src>,
fn dictionary_field(
&self,
field: &'src DictionaryMember<'src>,
) -> Option<ast::DictionaryField> {
// 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
// `Into<JsValue>`
@ -283,7 +284,6 @@ impl<'src> FirstPassRecord<'src> {
ty,
})
}
}
fn append_ns(
&'src self,