Tidy up some match bindings to be more consistent with the rest of the codebase.
This commit is contained in:
@@ -101,7 +101,8 @@ impl Preset {
|
|||||||
let mask = setting.byte_mask();
|
let mask = setting.byte_mask();
|
||||||
let val = setting.byte_for_value(true);
|
let val = setting.byte_for_value(true);
|
||||||
assert!((val & !mask) == 0);
|
assert!((val & !mask) == 0);
|
||||||
let (l_mask, l_val) = layout.get_mut(setting.byte_offset as usize).unwrap();
|
let (ref mut l_mask, ref mut l_val) =
|
||||||
|
*layout.get_mut(setting.byte_offset as usize).unwrap();
|
||||||
*l_mask |= mask;
|
*l_mask |= mask;
|
||||||
*l_val = (*l_val & !mask) | val;
|
*l_val = (*l_val & !mask) | val;
|
||||||
}
|
}
|
||||||
@@ -186,15 +187,15 @@ impl<'a> Into<PredicateNode> for (BoolSettingIndex, &'a SettingGroup) {
|
|||||||
|
|
||||||
impl PredicateNode {
|
impl PredicateNode {
|
||||||
fn render(&self, group: &SettingGroup) -> String {
|
fn render(&self, group: &SettingGroup) -> String {
|
||||||
match self {
|
match *self {
|
||||||
PredicateNode::OwnedBool(bool_setting_index) => format!(
|
PredicateNode::OwnedBool(bool_setting_index) => format!(
|
||||||
"{}.{}()",
|
"{}.{}()",
|
||||||
group.name, group.settings[bool_setting_index.0].name
|
group.name, group.settings[bool_setting_index.0].name
|
||||||
),
|
),
|
||||||
PredicateNode::SharedBool(group_name, bool_name) => {
|
PredicateNode::SharedBool(ref group_name, ref bool_name) => {
|
||||||
format!("{}.{}()", group_name, bool_name)
|
format!("{}.{}()", group_name, bool_name)
|
||||||
}
|
}
|
||||||
PredicateNode::And(lhs, rhs) => {
|
PredicateNode::And(ref lhs, ref rhs) => {
|
||||||
format!("{} && {}", lhs.render(group), rhs.render(group))
|
format!("{} && {}", lhs.render(group), rhs.render(group))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ enum SettingOrPreset<'a> {
|
|||||||
|
|
||||||
impl<'a> SettingOrPreset<'a> {
|
impl<'a> SettingOrPreset<'a> {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
match self {
|
match *self {
|
||||||
SettingOrPreset::Setting(s) => s.name,
|
SettingOrPreset::Setting(s) => s.name,
|
||||||
SettingOrPreset::Preset(p) => p.name,
|
SettingOrPreset::Preset(p) => p.name,
|
||||||
}
|
}
|
||||||
@@ -248,14 +248,14 @@ fn gen_descriptors(group: &SettingGroup, fmt: &mut Formatter) {
|
|||||||
fmt.indent(|fmt| {
|
fmt.indent(|fmt| {
|
||||||
fmt.line(&format!("name: \"{}\",", setting.name));
|
fmt.line(&format!("name: \"{}\",", setting.name));
|
||||||
fmt.line(&format!("offset: {},", setting.byte_offset));
|
fmt.line(&format!("offset: {},", setting.byte_offset));
|
||||||
match &setting.specific {
|
match setting.specific {
|
||||||
SpecificSetting::Bool(BoolSetting { bit_offset, .. }) => {
|
SpecificSetting::Bool(BoolSetting { bit_offset, .. }) => {
|
||||||
fmt.line(&format!(
|
fmt.line(&format!(
|
||||||
"detail: detail::Detail::Bool {{ bit: {} }},",
|
"detail: detail::Detail::Bool {{ bit: {} }},",
|
||||||
bit_offset
|
bit_offset
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
SpecificSetting::Enum(values) => {
|
SpecificSetting::Enum(ref values) => {
|
||||||
let offset = enum_table.add(values);
|
let offset = enum_table.add(values);
|
||||||
fmt.line(&format!(
|
fmt.line(&format!(
|
||||||
"detail: detail::Detail::Enum {{ last: {}, enumerators: {} }},",
|
"detail: detail::Detail::Enum {{ last: {}, enumerators: {} }},",
|
||||||
@@ -322,7 +322,7 @@ fn gen_descriptors(group: &SettingGroup, fmt: &mut Formatter) {
|
|||||||
));
|
));
|
||||||
fmt.indent(|fmt| {
|
fmt.indent(|fmt| {
|
||||||
for h in &hash_table {
|
for h in &hash_table {
|
||||||
match h {
|
match *h {
|
||||||
Some(setting_or_preset) => fmt.line(&format!(
|
Some(setting_or_preset) => fmt.line(&format!(
|
||||||
"{},",
|
"{},",
|
||||||
&descriptor_index_map
|
&descriptor_index_map
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ impl Formatter {
|
|||||||
pub fn add_match(&mut self, m: Match) {
|
pub fn add_match(&mut self, m: Match) {
|
||||||
self.line(&format!("match {} {{", m.expr));
|
self.line(&format!("match {} {{", m.expr));
|
||||||
self.indent(|fmt| {
|
self.indent(|fmt| {
|
||||||
for ((fields, body), names) in m.arms.iter() {
|
for (&(ref fields, ref body), ref names) in m.arms.iter() {
|
||||||
// name { fields } | name { fields } => { body }
|
// name { fields } | name { fields } => { body }
|
||||||
let conditions: Vec<String> = names
|
let conditions: Vec<String> = names
|
||||||
.iter()
|
.iter()
|
||||||
@@ -252,7 +252,7 @@ mod srcgen_tests {
|
|||||||
use super::Formatter;
|
use super::Formatter;
|
||||||
use super::Match;
|
use super::Match;
|
||||||
|
|
||||||
fn from_raw_string(s: impl Into<String>) -> Vec<String> {
|
fn from_raw_string<S: Into<String>>(s: S) -> Vec<String> {
|
||||||
s.into()
|
s.into()
|
||||||
.trim()
|
.trim()
|
||||||
.split("\n")
|
.split("\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user