mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 13:59:08 +00:00
use get_content_without_compacting more
This commit is contained in:
parent
4be163fc98
commit
35404bd25f
14 changed files with 203 additions and 209 deletions
|
@ -324,9 +324,9 @@ fn jit_to_ast_help<'a>(
|
|||
todo!("print recursive tag unions in the REPL")
|
||||
}
|
||||
Content::Alias(_, _, actual) => {
|
||||
let content = env.subs.get_without_compacting(*actual).content;
|
||||
let content = env.subs.get_content_without_compacting(*actual);
|
||||
|
||||
jit_to_ast_help(env, lib, main_fn_name, layout, &content)
|
||||
jit_to_ast_help(env, lib, main_fn_name, layout, content)
|
||||
}
|
||||
other => unreachable!("Weird content for Union layout: {:?}", other),
|
||||
}
|
||||
|
@ -468,7 +468,7 @@ fn list_to_ast<'a>(
|
|||
|
||||
let elem_var = *vars.first().unwrap();
|
||||
|
||||
env.subs.get_without_compacting(elem_var).content
|
||||
env.subs.get_content_without_compacting(elem_var)
|
||||
}
|
||||
other => {
|
||||
unreachable!(
|
||||
|
@ -486,7 +486,7 @@ fn list_to_ast<'a>(
|
|||
let offset_bytes = index * elem_size;
|
||||
let elem_ptr = unsafe { ptr.add(offset_bytes) };
|
||||
let loc_expr = &*arena.alloc(Located {
|
||||
value: ptr_to_ast(env, elem_ptr, elem_layout, &elem_content),
|
||||
value: ptr_to_ast(env, elem_ptr, elem_layout, elem_content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -539,8 +539,8 @@ where
|
|||
let mut field_ptr = ptr as *const u8;
|
||||
|
||||
for (var, layout) in sequence {
|
||||
let content = subs.get_without_compacting(var).content;
|
||||
let expr = ptr_to_ast(env, field_ptr, layout, &content);
|
||||
let content = subs.get_content_without_compacting(var);
|
||||
let expr = ptr_to_ast(env, field_ptr, layout, content);
|
||||
let loc_expr = Located::at_zero(expr);
|
||||
|
||||
output.push(&*arena.alloc(loc_expr));
|
||||
|
@ -577,10 +577,10 @@ fn struct_to_ast<'a>(
|
|||
// this is a 1-field wrapper record around another record or 1-tag tag union
|
||||
let (label, field) = sorted_fields.pop().unwrap();
|
||||
|
||||
let inner_content = env.subs.get_without_compacting(field.into_inner()).content;
|
||||
let inner_content = env.subs.get_content_without_compacting(field.into_inner());
|
||||
|
||||
let loc_expr = &*arena.alloc(Located {
|
||||
value: ptr_to_ast(env, ptr, &Layout::Struct(field_layouts), &inner_content),
|
||||
value: ptr_to_ast(env, ptr, &Layout::Struct(field_layouts), inner_content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -606,9 +606,9 @@ fn struct_to_ast<'a>(
|
|||
let mut field_ptr = ptr;
|
||||
|
||||
for ((label, field), field_layout) in sorted_fields.iter().zip(field_layouts.iter()) {
|
||||
let content = subs.get_without_compacting(*field.as_inner()).content;
|
||||
let content = subs.get_content_without_compacting(*field.as_inner());
|
||||
let loc_expr = &*arena.alloc(Located {
|
||||
value: ptr_to_ast(env, field_ptr, field_layout, &content),
|
||||
value: ptr_to_ast(env, field_ptr, field_layout, content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -659,9 +659,9 @@ fn bool_to_ast<'a>(env: &Env<'a, '_>, value: bool, content: &Content) -> Expr<'a
|
|||
// and/or records (e.g. { a: { b: { c: True } } }),
|
||||
// so we need to do this recursively on the field type.
|
||||
let field_var = *field.as_inner();
|
||||
let field_content = env.subs.get_without_compacting(field_var).content;
|
||||
let field_content = env.subs.get_content_without_compacting(field_var);
|
||||
let loc_expr = Located {
|
||||
value: bool_to_ast(env, value, &field_content),
|
||||
value: bool_to_ast(env, value, field_content),
|
||||
region: Region::zero(),
|
||||
};
|
||||
|
||||
|
@ -701,10 +701,10 @@ fn bool_to_ast<'a>(env: &Env<'a, '_>, value: bool, content: &Content) -> Expr<'a
|
|||
debug_assert_eq!(payload_vars.len(), 1);
|
||||
|
||||
let var = *payload_vars.iter().next().unwrap();
|
||||
let content = env.subs.get_without_compacting(var).content;
|
||||
let content = env.subs.get_content_without_compacting(var);
|
||||
|
||||
let loc_payload = &*arena.alloc(Located {
|
||||
value: bool_to_ast(env, value, &content),
|
||||
value: bool_to_ast(env, value, content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -739,9 +739,9 @@ fn bool_to_ast<'a>(env: &Env<'a, '_>, value: bool, content: &Content) -> Expr<'a
|
|||
}
|
||||
}
|
||||
Alias(_, _, var) => {
|
||||
let content = env.subs.get_without_compacting(*var).content;
|
||||
let content = env.subs.get_content_without_compacting(*var);
|
||||
|
||||
bool_to_ast(env, value, &content)
|
||||
bool_to_ast(env, value, content)
|
||||
}
|
||||
other => {
|
||||
unreachable!("Unexpected FlatType {:?} in bool_to_ast", other);
|
||||
|
@ -771,9 +771,9 @@ fn byte_to_ast<'a>(env: &Env<'a, '_>, value: u8, content: &Content) -> Expr<'a>
|
|||
// and/or records (e.g. { a: { b: { c: True } } }),
|
||||
// so we need to do this recursively on the field type.
|
||||
let field_var = *field.as_inner();
|
||||
let field_content = env.subs.get_without_compacting(field_var).content;
|
||||
let field_content = env.subs.get_content_without_compacting(field_var);
|
||||
let loc_expr = Located {
|
||||
value: byte_to_ast(env, value, &field_content),
|
||||
value: byte_to_ast(env, value, field_content),
|
||||
region: Region::zero(),
|
||||
};
|
||||
|
||||
|
@ -813,10 +813,10 @@ fn byte_to_ast<'a>(env: &Env<'a, '_>, value: u8, content: &Content) -> Expr<'a>
|
|||
debug_assert_eq!(payload_vars.len(), 1);
|
||||
|
||||
let var = *payload_vars.iter().next().unwrap();
|
||||
let content = env.subs.get_without_compacting(var).content;
|
||||
let content = env.subs.get_content_without_compacting(var);
|
||||
|
||||
let loc_payload = &*arena.alloc(Located {
|
||||
value: byte_to_ast(env, value, &content),
|
||||
value: byte_to_ast(env, value, content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -850,9 +850,9 @@ fn byte_to_ast<'a>(env: &Env<'a, '_>, value: u8, content: &Content) -> Expr<'a>
|
|||
}
|
||||
}
|
||||
Alias(_, _, var) => {
|
||||
let content = env.subs.get_without_compacting(*var).content;
|
||||
let content = env.subs.get_content_without_compacting(*var);
|
||||
|
||||
byte_to_ast(env, value, &content)
|
||||
byte_to_ast(env, value, content)
|
||||
}
|
||||
other => {
|
||||
unreachable!("Unexpected FlatType {:?} in bool_to_ast", other);
|
||||
|
@ -887,9 +887,9 @@ fn num_to_ast<'a>(env: &Env<'a, '_>, num_expr: Expr<'a>, content: &Content) -> E
|
|||
// and/or records (e.g. { a: { b: { c: 5 } } }),
|
||||
// so we need to do this recursively on the field type.
|
||||
let field_var = *field.as_inner();
|
||||
let field_content = env.subs.get_without_compacting(field_var).content;
|
||||
let field_content = env.subs.get_content_without_compacting(field_var);
|
||||
let loc_expr = Located {
|
||||
value: num_to_ast(env, num_expr, &field_content),
|
||||
value: num_to_ast(env, num_expr, field_content),
|
||||
region: Region::zero(),
|
||||
};
|
||||
|
||||
|
@ -937,10 +937,10 @@ fn num_to_ast<'a>(env: &Env<'a, '_>, num_expr: Expr<'a>, content: &Content) -> E
|
|||
debug_assert_eq!(payload_vars.len(), 1);
|
||||
|
||||
let var = *payload_vars.iter().next().unwrap();
|
||||
let content = env.subs.get_without_compacting(var).content;
|
||||
let content = env.subs.get_content_without_compacting(var);
|
||||
|
||||
let loc_payload = &*arena.alloc(Located {
|
||||
value: num_to_ast(env, num_expr, &content),
|
||||
value: num_to_ast(env, num_expr, content),
|
||||
region: Region::zero(),
|
||||
});
|
||||
|
||||
|
@ -955,9 +955,9 @@ fn num_to_ast<'a>(env: &Env<'a, '_>, num_expr: Expr<'a>, content: &Content) -> E
|
|||
}
|
||||
}
|
||||
Alias(_, _, var) => {
|
||||
let content = env.subs.get_without_compacting(*var).content;
|
||||
let content = env.subs.get_content_without_compacting(*var);
|
||||
|
||||
num_to_ast(env, num_expr, &content)
|
||||
num_to_ast(env, num_expr, content)
|
||||
}
|
||||
other => {
|
||||
panic!("Unexpected FlatType {:?} in num_to_ast", other);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue