Skip to content

Commit a188e73

Browse files
committed
Fix clippy warnings in generator
1 parent 087958b commit a188e73

File tree

4 files changed

+71
-72
lines changed

4 files changed

+71
-72
lines changed

generator/src/dbscheme.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ impl<'a> fmt::Display for Table<'a> {
6868
}
6969
write!(f, "{}", key)?;
7070
}
71-
write!(f, "]\n")?;
71+
writeln!(f, "]")?;
7272
}
7373

74-
write!(f, "{}(\n", self.name)?;
74+
writeln!(f, "{}(", self.name)?;
7575
for (column_index, column) in self.columns.iter().enumerate() {
7676
write!(f, " ")?;
7777
if column.unique {
@@ -92,7 +92,7 @@ impl<'a> fmt::Display for Table<'a> {
9292
if column_index + 1 != self.columns.len() {
9393
write!(f, ",")?;
9494
}
95-
write!(f, "\n")?;
95+
writeln!(f)?;
9696
}
9797
write!(f, ");")?;
9898

generator/src/main.rs

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ mod language;
33
mod ql;
44
mod ql_gen;
55

6-
use clap;
76
use language::Language;
87
use std::collections::BTreeMap as Map;
98
use std::collections::BTreeSet as Set;
@@ -33,22 +32,22 @@ fn make_field_type<'a>(
3332
.map(|t| nodes.get(t).unwrap().dbscheme_name.as_str())
3433
.collect();
3534
(
36-
ql::Type::AtType(&dbscheme_union),
35+
ql::Type::At(dbscheme_union),
3736
Some(dbscheme::Entry::Union(dbscheme::Union {
3837
name: dbscheme_union,
3938
members,
4039
})),
4140
)
4241
}
4342
node_types::FieldTypeInfo::Single(t) => {
44-
let dbscheme_name = &nodes.get(&t).unwrap().dbscheme_name;
45-
(ql::Type::AtType(dbscheme_name), None)
43+
let dbscheme_name = &nodes.get(t).unwrap().dbscheme_name;
44+
(ql::Type::At(dbscheme_name), None)
4645
}
4746
node_types::FieldTypeInfo::ReservedWordInt(int_mapping) => {
4847
// The field will be an `int` in the db, and we add a case split to
4948
// create other db types for each integer value.
5049
let mut branches: Vec<(usize, &'a str)> = Vec::new();
51-
for (_, (value, name)) in int_mapping {
50+
for (value, name) in int_mapping.values() {
5251
branches.push((*value, name));
5352
}
5453
let case = dbscheme::Entry::Case(dbscheme::Case {
@@ -74,12 +73,12 @@ fn add_field_for_table_storage<'a>(
7473
let parent_name = &nodes.get(&field.parent).unwrap().dbscheme_name;
7574
// This field can appear zero or multiple times, so put
7675
// it in an auxiliary table.
77-
let (field_ql_type, field_type_entry) = make_field_type(parent_name, &field, nodes);
76+
let (field_ql_type, field_type_entry) = make_field_type(parent_name, field, nodes);
7877
let parent_column = dbscheme::Column {
7978
unique: !has_index,
8079
db_type: dbscheme::DbColumnType::Int,
81-
name: &parent_name,
82-
ql_type: ql::Type::AtType(&parent_name),
80+
name: parent_name,
81+
ql_type: ql::Type::At(parent_name),
8382
ql_type_is_ref: true,
8483
};
8584
let index_column = dbscheme::Column {
@@ -97,7 +96,7 @@ fn add_field_for_table_storage<'a>(
9796
ql_type_is_ref: true,
9897
};
9998
let field_table = dbscheme::Table {
100-
name: &table_name,
99+
name: table_name,
101100
columns: if has_index {
102101
vec![parent_column, index_column, field_column]
103102
} else {
@@ -106,7 +105,7 @@ fn add_field_for_table_storage<'a>(
106105
// In addition to the field being unique, the combination of
107106
// parent+index is unique, so add a keyset for them.
108107
keysets: if has_index {
109-
Some(vec![&parent_name, "index"])
108+
Some(vec![parent_name, "index"])
110109
} else {
111110
None
112111
},
@@ -122,7 +121,7 @@ fn add_field_for_column_storage<'a>(
122121
) -> (dbscheme::Column<'a>, Option<dbscheme::Entry<'a>>) {
123122
// This field must appear exactly once, so we add it as
124123
// a column to the main table for the node type.
125-
let (field_ql_type, field_type_entry) = make_field_type(parent_name, &field, nodes);
124+
let (field_ql_type, field_type_entry) = make_field_type(parent_name, field, nodes);
126125
(
127126
dbscheme::Column {
128127
unique: false,
@@ -142,9 +141,9 @@ fn add_field_for_column_storage<'a>(
142141
/// 2. A set of names of the members of the `<lang>_ast_node` union.
143142
/// 3. A map where the keys are the dbscheme names for token kinds, and the
144143
/// values are their integer representations.
145-
fn convert_nodes<'a>(
146-
nodes: &'a node_types::NodeTypeMap,
147-
) -> (Vec<dbscheme::Entry<'a>>, Set<&'a str>, Map<&'a str, usize>) {
144+
fn convert_nodes(
145+
nodes: &node_types::NodeTypeMap,
146+
) -> (Vec<dbscheme::Entry>, Set<&str>, Map<&str, usize>) {
148147
let mut entries: Vec<dbscheme::Entry> = Vec::new();
149148
let mut ast_node_members: Set<&str> = Set::new();
150149
let token_kinds: Map<&str, usize> = nodes
@@ -156,7 +155,7 @@ fn convert_nodes<'a>(
156155
_ => None,
157156
})
158157
.collect();
159-
for (_, node) in nodes {
158+
for node in nodes.values() {
160159
match &node.kind {
161160
node_types::EntryKind::Union { members: n_members } => {
162161
// It's a tree-sitter supertype node, for which we create a union
@@ -173,12 +172,12 @@ fn convert_nodes<'a>(
173172
node_types::EntryKind::Table { name, fields } => {
174173
// It's a product type, defined by a table.
175174
let mut main_table = dbscheme::Table {
176-
name: &name,
175+
name,
177176
columns: vec![dbscheme::Column {
178177
db_type: dbscheme::DbColumnType::Int,
179178
name: "id",
180179
unique: true,
181-
ql_type: ql::Type::AtType(&node.dbscheme_name),
180+
ql_type: ql::Type::At(&node.dbscheme_name),
182181
ql_type_is_ref: false,
183182
}],
184183
keysets: None,
@@ -238,7 +237,7 @@ fn convert_nodes<'a>(
238237
unique: false,
239238
db_type: dbscheme::DbColumnType::Int,
240239
name: "loc",
241-
ql_type: ql::Type::AtType("location"),
240+
ql_type: ql::Type::At("location"),
242241
ql_type_is_ref: true,
243242
});
244243

@@ -264,14 +263,14 @@ fn create_ast_node_parent_table<'a>(name: &'a str, ast_node_name: &'a str) -> db
264263
db_type: dbscheme::DbColumnType::Int,
265264
name: "child",
266265
unique: false,
267-
ql_type: ql::Type::AtType(ast_node_name),
266+
ql_type: ql::Type::At(ast_node_name),
268267
ql_type_is_ref: true,
269268
},
270269
dbscheme::Column {
271270
db_type: dbscheme::DbColumnType::Int,
272271
name: "parent",
273272
unique: false,
274-
ql_type: ql::Type::AtType(name),
273+
ql_type: ql::Type::At(name),
275274
ql_type_is_ref: true,
276275
},
277276
dbscheme::Column {
@@ -295,7 +294,7 @@ fn create_tokeninfo<'a>(name: &'a str, type_name: &'a str) -> dbscheme::Table<'a
295294
db_type: dbscheme::DbColumnType::Int,
296295
name: "id",
297296
unique: true,
298-
ql_type: ql::Type::AtType(type_name),
297+
ql_type: ql::Type::At(type_name),
299298
ql_type_is_ref: false,
300299
},
301300
dbscheme::Column {
@@ -316,7 +315,7 @@ fn create_tokeninfo<'a>(name: &'a str, type_name: &'a str) -> dbscheme::Table<'a
316315
unique: false,
317316
db_type: dbscheme::DbColumnType::Int,
318317
name: "loc",
319-
ql_type: ql::Type::AtType("location"),
318+
ql_type: ql::Type::At("location"),
320319
ql_type_is_ref: true,
321320
},
322321
],
@@ -329,9 +328,9 @@ fn create_token_case<'a>(name: &'a str, token_kinds: Map<&'a str, usize>) -> dbs
329328
.map(|(&name, kind_id)| (*kind_id, name))
330329
.collect();
331330
dbscheme::Case {
332-
name: name,
331+
name,
333332
column: "kind",
334-
branches: branches,
333+
branches,
335334
}
336335
}
337336

@@ -351,7 +350,7 @@ fn create_files_table<'a>() -> dbscheme::Entry<'a> {
351350
unique: true,
352351
db_type: dbscheme::DbColumnType::Int,
353352
name: "id",
354-
ql_type: ql::Type::AtType("file"),
353+
ql_type: ql::Type::At("file"),
355354
ql_type_is_ref: false,
356355
},
357356
dbscheme::Column {
@@ -373,7 +372,7 @@ fn create_folders_table<'a>() -> dbscheme::Entry<'a> {
373372
unique: true,
374373
db_type: dbscheme::DbColumnType::Int,
375374
name: "id",
376-
ql_type: ql::Type::AtType("folder"),
375+
ql_type: ql::Type::At("folder"),
377376
ql_type_is_ref: false,
378377
},
379378
dbscheme::Column {
@@ -396,14 +395,14 @@ fn create_locations_default_table<'a>() -> dbscheme::Entry<'a> {
396395
unique: true,
397396
db_type: dbscheme::DbColumnType::Int,
398397
name: "id",
399-
ql_type: ql::Type::AtType("location_default"),
398+
ql_type: ql::Type::At("location_default"),
400399
ql_type_is_ref: false,
401400
},
402401
dbscheme::Column {
403402
unique: false,
404403
db_type: dbscheme::DbColumnType::Int,
405404
name: "file",
406-
ql_type: ql::Type::AtType("file"),
405+
ql_type: ql::Type::At("file"),
407406
ql_type_is_ref: true,
408407
},
409408
dbscheme::Column {
@@ -453,14 +452,14 @@ fn create_containerparent_table<'a>() -> dbscheme::Entry<'a> {
453452
unique: false,
454453
db_type: dbscheme::DbColumnType::Int,
455454
name: "parent",
456-
ql_type: ql::Type::AtType("container"),
455+
ql_type: ql::Type::At("container"),
457456
ql_type_is_ref: true,
458457
},
459458
dbscheme::Column {
460459
unique: true,
461460
db_type: dbscheme::DbColumnType::Int,
462461
name: "child",
463-
ql_type: ql::Type::AtType("container"),
462+
ql_type: ql::Type::At("container"),
464463
ql_type_is_ref: true,
465464
},
466465
],
@@ -491,7 +490,7 @@ fn create_diagnostics<'a>() -> (dbscheme::Case<'a>, dbscheme::Table<'a>) {
491490
unique: true,
492491
db_type: dbscheme::DbColumnType::Int,
493492
name: "id",
494-
ql_type: ql::Type::AtType("diagnostic"),
493+
ql_type: ql::Type::At("diagnostic"),
495494
ql_type_is_ref: false,
496495
},
497496
dbscheme::Column {
@@ -526,7 +525,7 @@ fn create_diagnostics<'a>() -> (dbscheme::Case<'a>, dbscheme::Table<'a>) {
526525
unique: false,
527526
db_type: dbscheme::DbColumnType::Int,
528527
name: "location",
529-
ql_type: ql::Type::AtType("location_default"),
528+
ql_type: ql::Type::At("location_default"),
530529
ql_type_is_ref: true,
531530
},
532531
],
@@ -625,7 +624,7 @@ fn main() -> std::io::Result<()> {
625624
let token_name = format!("{}_token", &prefix);
626625
let tokeninfo_name = format!("{}_tokeninfo", &prefix);
627626
let reserved_word_name = format!("{}_reserved_word", &prefix);
628-
let nodes = node_types::read_node_types_str(&prefix, &language.node_types)?;
627+
let nodes = node_types::read_node_types_str(&prefix, language.node_types)?;
629628
let (dbscheme_entries, mut ast_node_members, token_kinds) = convert_nodes(&nodes);
630629
ast_node_members.insert(&token_name);
631630
dbscheme::write(&mut dbscheme_writer, &dbscheme_entries)?;

generator/src/ql.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ impl<'a> fmt::Display for Class<'a> {
4343
}
4444
write!(f, "{}", supertype)?;
4545
}
46-
write!(f, " {{ \n")?;
46+
writeln!(f, " {{ ")?;
4747

4848
if let Some(charpred) = &self.characteristic_predicate {
49-
write!(
49+
writeln!(
5050
f,
51-
" {}\n",
51+
" {}",
5252
Predicate {
5353
qldoc: None,
54-
name: self.name.clone(),
54+
name: self.name,
5555
overridden: false,
5656
return_type: None,
5757
formal_parameters: vec![],
@@ -61,7 +61,7 @@ impl<'a> fmt::Display for Class<'a> {
6161
}
6262

6363
for predicate in &self.predicates {
64-
write!(f, " {}\n", predicate)?;
64+
writeln!(f, " {}", predicate)?;
6565
}
6666

6767
write!(f, "}}")?;
@@ -82,9 +82,9 @@ impl<'a> fmt::Display for Module<'a> {
8282
if let Some(qldoc) = &self.qldoc {
8383
write!(f, "/** {} */", qldoc)?;
8484
}
85-
write!(f, "module {} {{ \n", self.name)?;
85+
writeln!(f, "module {} {{ ", self.name)?;
8686
for decl in &self.body {
87-
write!(f, " {}\n", decl)?;
87+
writeln!(f, " {}", decl)?;
8888
}
8989
write!(f, "}}")?;
9090
Ok(())
@@ -100,7 +100,7 @@ pub enum Type<'a> {
100100
String,
101101

102102
/// A database type that will need to be referred to with an `@` prefix.
103-
AtType(&'a str),
103+
At(&'a str),
104104

105105
/// A user-defined type.
106106
Normal(&'a str),
@@ -112,7 +112,7 @@ impl<'a> fmt::Display for Type<'a> {
112112
Type::Int => write!(f, "int"),
113113
Type::String => write!(f, "string"),
114114
Type::Normal(name) => write!(f, "{}", name),
115-
Type::AtType(name) => write!(f, "@{}", name),
115+
Type::At(name) => write!(f, "@{}", name),
116116
}
117117
}
118118
}
@@ -197,7 +197,7 @@ impl<'a> fmt::Display for Expression<'a> {
197197
second_expr,
198198
} => {
199199
write!(f, "{}(", name)?;
200-
if vars.len() > 0 {
200+
if !vars.is_empty() {
201201
for (index, var) in vars.iter().enumerate() {
202202
if index > 0 {
203203
write!(f, ", ")?;

0 commit comments

Comments
 (0)