Skip to content

Commit 8b8c5ec

Browse files
marmelademadwrensha
authored andcommitted
Replace some get calls by iterators or try_get method in codegen
1 parent 471626e commit 8b8c5ec

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

capnpc/src/codegen.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -523,8 +523,8 @@ fn get_params(gen: &GeneratorContext,
523523
let node = gen.node_map[&node_id];
524524
let parameters = node.get_parameters()?;
525525

526-
for idx in 0 .. parameters.len() {
527-
result.push(parameters.get(parameters.len() - 1 - idx).get_name()?.into());
526+
for parameter in parameters.into_iter().rev() {
527+
result.push(parameter.get_name()?.into());
528528
}
529529

530530
node_id = node.get_scope_id();
@@ -1761,8 +1761,8 @@ fn generate_node(gen: &GeneratorContext,
17611761
let mut members = Vec::new();
17621762
let mut match_branches = Vec::new();
17631763
let enumerants = enum_reader.get_enumerants()?;
1764-
for ii in 0..enumerants.len() {
1765-
let enumerant = capitalize_first_letter(get_enumerant_name(enumerants.get(ii))?);
1764+
for (ii, enumerant) in enumerants.into_iter().enumerate() {
1765+
let enumerant = capitalize_first_letter(get_enumerant_name(enumerant)?);
17661766
members.push(Line(format!("{} = {},", enumerant, ii)));
17671767
match_branches.push(
17681768
Line(format!("{} => ::core::result::Result::Ok({}::{}),", ii, last_name, enumerant)));
@@ -1828,8 +1828,7 @@ fn generate_node(gen: &GeneratorContext,
18281828
mod_interior.push(Line ("#![allow(unused_variables)]".to_string()));
18291829

18301830
let methods = interface.get_methods()?;
1831-
for ordinal in 0..methods.len() {
1832-
let method = methods.get(ordinal);
1831+
for (ordinal, method) in methods.into_iter().enumerate() {
18331832
let name = method.get_name()?;
18341833

18351834
method.get_code_order();
@@ -1906,8 +1905,7 @@ fn generate_node(gen: &GeneratorContext,
19061905
gen: &GeneratorContext<'a>
19071906
) -> ::capnp::Result<()>{
19081907
let extends = interface.get_superclasses()?;
1909-
for ii in 0..extends.len() {
1910-
let superclass = extends.get(ii);
1908+
for superclass in extends {
19111909
if let node::Interface(interface) = gen.node_map[&superclass.get_id()].which()? {
19121910
find_super_interfaces(interface, all_extends, gen)?;
19131911
}
@@ -2157,9 +2155,9 @@ fn generate_node(gen: &GeneratorContext,
21572155
match node.which()? {
21582156
node::Enum(e) => {
21592157
let enumerants = e.get_enumerants()?;
2160-
if (v as u32) < enumerants.len() {
2158+
if let Some(enumerant) = enumerants.try_get(v as u32) {
21612159
let variant =
2162-
capitalize_first_letter(get_enumerant_name(enumerants.get(v as u32))?);
2160+
capitalize_first_letter(get_enumerant_name(enumerant)?);
21632161
let type_string = typ.type_string(gen, Leaf::Owned)?;
21642162
Line(format!("pub const {}: {} = {}::{};",
21652163
styled_name,

0 commit comments

Comments
 (0)