mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-21 15:59:20 +03:00
Drop some unused variables and arguments
This commit is contained in:
parent
09fbfe621c
commit
8a22cfbf3c
@ -46,7 +46,7 @@ impl<'a> Env<'a> {
|
|||||||
.from_var(self.arena, var, self.subs)
|
.from_var(self.arena, var, self.subs)
|
||||||
.expect("Something weird ended up in the content");
|
.expect("Something weird ended up in the content");
|
||||||
|
|
||||||
add_type_help(self, layout, var, None, types, None)
|
add_type_help(self, layout, var, None, types)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn add_pending_recursive_type(&mut self, type_id: TypeId, var: Variable) {
|
fn add_pending_recursive_type(&mut self, type_id: TypeId, var: Variable) {
|
||||||
@ -92,7 +92,6 @@ fn add_type_help<'a>(
|
|||||||
var: Variable,
|
var: Variable,
|
||||||
opt_name: Option<Symbol>,
|
opt_name: Option<Symbol>,
|
||||||
types: &mut Types,
|
types: &mut Types,
|
||||||
opt_recursion_id: Option<TypeId>,
|
|
||||||
) -> TypeId {
|
) -> TypeId {
|
||||||
let subs = env.subs;
|
let subs = env.subs;
|
||||||
|
|
||||||
@ -124,7 +123,7 @@ fn add_type_help<'a>(
|
|||||||
None => env.struct_names.get_name(var),
|
None => env.struct_names.get_name(var),
|
||||||
};
|
};
|
||||||
|
|
||||||
add_struct(env, name, it, types, opt_recursion_id)
|
add_struct(env, name, it, types)
|
||||||
}
|
}
|
||||||
Content::Structure(FlatType::TagUnion(tags, ext_var)) => {
|
Content::Structure(FlatType::TagUnion(tags, ext_var)) => {
|
||||||
debug_assert!(ext_var_is_empty_tag_union(subs, *ext_var));
|
debug_assert!(ext_var_is_empty_tag_union(subs, *ext_var));
|
||||||
@ -179,7 +178,7 @@ fn add_type_help<'a>(
|
|||||||
} else {
|
} else {
|
||||||
// If this was a non-builtin type alias, we can use that alias name
|
// If this was a non-builtin type alias, we can use that alias name
|
||||||
// in the generated bindings.
|
// in the generated bindings.
|
||||||
add_type_help(env, layout, *real_var, Some(*name), types, opt_recursion_id)
|
add_type_help(env, layout, *real_var, Some(*name), types)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Content::RangedNumber(_, _) => todo!(),
|
Content::RangedNumber(_, _) => todo!(),
|
||||||
@ -227,8 +226,8 @@ fn add_builtin_type<'a>(
|
|||||||
Builtin::Str => types.add(RocType::RocStr),
|
Builtin::Str => types.add(RocType::RocStr),
|
||||||
Builtin::Dict(key_layout, val_layout) => {
|
Builtin::Dict(key_layout, val_layout) => {
|
||||||
// TODO FIXME this `var` is wrong - should have a different `var` for key and for val
|
// TODO FIXME this `var` is wrong - should have a different `var` for key and for val
|
||||||
let key_id = add_type_help(env, *key_layout, var, opt_name, types, None);
|
let key_id = add_type_help(env, *key_layout, var, opt_name, types);
|
||||||
let val_id = add_type_help(env, *val_layout, var, opt_name, types, None);
|
let val_id = add_type_help(env, *val_layout, var, opt_name, types);
|
||||||
let dict_id = types.add(RocType::RocDict(key_id, val_id));
|
let dict_id = types.add(RocType::RocDict(key_id, val_id));
|
||||||
|
|
||||||
types.depends(dict_id, key_id);
|
types.depends(dict_id, key_id);
|
||||||
@ -237,7 +236,7 @@ fn add_builtin_type<'a>(
|
|||||||
dict_id
|
dict_id
|
||||||
}
|
}
|
||||||
Builtin::Set(elem_layout) => {
|
Builtin::Set(elem_layout) => {
|
||||||
let elem_id = add_type_help(env, *elem_layout, var, opt_name, types, None);
|
let elem_id = add_type_help(env, *elem_layout, var, opt_name, types);
|
||||||
let set_id = types.add(RocType::RocSet(elem_id));
|
let set_id = types.add(RocType::RocSet(elem_id));
|
||||||
|
|
||||||
types.depends(set_id, elem_id);
|
types.depends(set_id, elem_id);
|
||||||
@ -245,7 +244,7 @@ fn add_builtin_type<'a>(
|
|||||||
set_id
|
set_id
|
||||||
}
|
}
|
||||||
Builtin::List(elem_layout) => {
|
Builtin::List(elem_layout) => {
|
||||||
let elem_id = add_type_help(env, *elem_layout, var, opt_name, types, None);
|
let elem_id = add_type_help(env, *elem_layout, var, opt_name, types);
|
||||||
let list_id = types.add(RocType::RocList(elem_id));
|
let list_id = types.add(RocType::RocList(elem_id));
|
||||||
|
|
||||||
types.depends(list_id, elem_id);
|
types.depends(list_id, elem_id);
|
||||||
@ -260,7 +259,6 @@ fn add_struct<I: IntoIterator<Item = (Lowercase, Variable)>>(
|
|||||||
name: String,
|
name: String,
|
||||||
fields: I,
|
fields: I,
|
||||||
types: &mut Types,
|
types: &mut Types,
|
||||||
opt_recursion_id: Option<TypeId>,
|
|
||||||
) -> TypeId {
|
) -> TypeId {
|
||||||
let subs = env.subs;
|
let subs = env.subs;
|
||||||
let fields_iter = &mut fields.into_iter();
|
let fields_iter = &mut fields.into_iter();
|
||||||
@ -312,8 +310,7 @@ fn add_struct<I: IntoIterator<Item = (Lowercase, Variable)>>(
|
|||||||
let fields = sortables
|
let fields = sortables
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(label, field_var, field_layout)| {
|
.map(|(label, field_var, field_layout)| {
|
||||||
let content = subs.get_content_without_compacting(field_var);
|
let type_id = add_type_help(env, field_layout, field_var, None, types);
|
||||||
let type_id = add_type_help(env, field_layout, field_var, None, types, None);
|
|
||||||
|
|
||||||
(label.to_string(), type_id)
|
(label.to_string(), type_id)
|
||||||
})
|
})
|
||||||
@ -384,7 +381,7 @@ fn add_tag_union(
|
|||||||
//
|
//
|
||||||
// ...then it's not even theoretically possible to instantiate one, so
|
// ...then it's not even theoretically possible to instantiate one, so
|
||||||
// bindgen won't be able to help you do that!
|
// bindgen won't be able to help you do that!
|
||||||
add_struct(env, name, fields, types, None)
|
add_struct(env, name, fields, types)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -405,12 +402,6 @@ fn add_tag_union(
|
|||||||
// Sort tags alphabetically by tag name
|
// Sort tags alphabetically by tag name
|
||||||
tags.sort_by(|(name1, _), (name2, _)| name1.cmp(name2));
|
tags.sort_by(|(name1, _), (name2, _)| name1.cmp(name2));
|
||||||
|
|
||||||
let opt_recursion_id = if is_recursive_tag_union(&layout) {
|
|
||||||
Some(type_id)
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut tags: Vec<_> = tags
|
let mut tags: Vec<_> = tags
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(tag_name, payload_vars)| {
|
.map(|(tag_name, payload_vars)| {
|
||||||
@ -419,7 +410,7 @@ fn add_tag_union(
|
|||||||
// no payload
|
// no payload
|
||||||
(tag_name, None)
|
(tag_name, None)
|
||||||
}
|
}
|
||||||
1 if opt_recursion_id.is_none() => {
|
1 if !is_recursive_tag_union(&layout) => {
|
||||||
// this isn't recursive and there's 1 payload item, so it doesn't
|
// this isn't recursive and there's 1 payload item, so it doesn't
|
||||||
// need its own struct - e.g. for `[Foo Str, Bar Str]` both of them
|
// need its own struct - e.g. for `[Foo Str, Bar Str]` both of them
|
||||||
// can have payloads of plain old Str, no struct wrapper needed.
|
// can have payloads of plain old Str, no struct wrapper needed.
|
||||||
@ -428,8 +419,7 @@ fn add_tag_union(
|
|||||||
.layout_cache
|
.layout_cache
|
||||||
.from_var(env.arena, *payload_var, env.subs)
|
.from_var(env.arena, *payload_var, env.subs)
|
||||||
.expect("Something weird ended up in the content");
|
.expect("Something weird ended up in the content");
|
||||||
let payload_id =
|
let payload_id = add_type_help(env, layout, *payload_var, None, types);
|
||||||
add_type_help(env, layout, *payload_var, None, types, opt_recursion_id);
|
|
||||||
|
|
||||||
(tag_name, Some(payload_id))
|
(tag_name, Some(payload_id))
|
||||||
}
|
}
|
||||||
@ -439,8 +429,7 @@ fn add_tag_union(
|
|||||||
let fields = payload_vars.iter().enumerate().map(|(index, payload_var)| {
|
let fields = payload_vars.iter().enumerate().map(|(index, payload_var)| {
|
||||||
(format!("f{}", index).into(), *payload_var)
|
(format!("f{}", index).into(), *payload_var)
|
||||||
});
|
});
|
||||||
let struct_id =
|
let struct_id = add_struct(env, struct_name, fields, types);
|
||||||
add_struct(env, struct_name, fields, types, opt_recursion_id);
|
|
||||||
|
|
||||||
(tag_name, Some(struct_id))
|
(tag_name, Some(struct_id))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user