Skip to content

Commit 1df6c66

Browse files
Avoid using ConcreteFunctionWithBodyLongId.function_with_body_id.
1 parent 3ae9b02 commit 1df6c66

File tree

10 files changed

+26
-29
lines changed

10 files changed

+26
-29
lines changed

crates/bin/get-lowering/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ fn main() -> anyhow::Result<()> {
258258
if let Some(generated_function_index) = args.generated_function_index {
259259
let multi = db
260260
.priv_function_with_body_multi_lowering(
261-
function_id.function_with_body_id(db).base_semantic_function(db),
261+
function_id.base_semantic_function(db).function_with_body_id(db),
262262
)
263263
.unwrap();
264264
let keys = multi

crates/cairo-lang-lowering/src/add_withdraw_gas/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fn create_panic_block(
9494
) -> Maybe<Block> {
9595
let mut variables = VariableAllocator::new(
9696
db,
97-
function.function_with_body_id(db).base_semantic_function(db),
97+
function.base_semantic_function(db).function_with_body_id(db),
9898
lowered.variables.clone(),
9999
)?;
100100
let never_ty = never_ty(db);

crates/cairo-lang-lowering/src/borrow_check/test.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use cairo_lang_debug::DebugWithDb;
22
use cairo_lang_semantic::test_utils::setup_test_function;
33
use cairo_lang_test_utils::parse_test_file::TestRunnerResult;
4+
use cairo_lang_utils::Intern;
45
use cairo_lang_utils::ordered_hash_map::OrderedHashMap;
56

67
use crate::db::LoweringGroup;
78
use crate::fmt::LoweredFormatter;
8-
use crate::ids::ConcreteFunctionWithBodyId;
9+
use crate::ids::FunctionWithBodyLongId;
910
use crate::test_utils::LoweringDatabaseForTesting;
1011

1112
cairo_lang_test_utils::test_file_test!(
@@ -30,13 +31,11 @@ fn test_borrow_check(
3031
inputs["module_code"].as_str(),
3132
)
3233
.split();
33-
let function_id =
34-
ConcreteFunctionWithBodyId::from_semantic(db, test_function.concrete_function_id);
3534

3635
let lowering_diagnostics = db.module_lowering_diagnostics(test_function.module_id).unwrap();
37-
let lowering = if let Ok(lowered) =
38-
db.priv_function_with_body_lowering(function_id.function_with_body_id(db))
39-
{
36+
let lowering = if let Ok(lowered) = db.priv_function_with_body_lowering(
37+
FunctionWithBodyLongId::Semantic(test_function.function_id).intern(db),
38+
) {
4039
format!(
4140
"{:?}",
4241
lowered.debug(&LoweredFormatter {

crates/cairo-lang-lowering/src/destructs.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ pub fn add_destructs(
312312

313313
let mut variables = VariableAllocator::new(
314314
db,
315-
function_id.function_with_body_id(db).base_semantic_function(db),
315+
function_id.base_semantic_function(db).function_with_body_id(db),
316316
lowered.variables.clone(),
317317
)
318318
.unwrap();
@@ -323,7 +323,7 @@ pub fn add_destructs(
323323

324324
// Add destructions.
325325
let stable_ptr =
326-
function_id.function_with_body_id(db).base_semantic_function(db).untyped_stable_ptr(db);
326+
function_id.base_semantic_function(db).function_with_body_id(db).untyped_stable_ptr(db);
327327

328328
let location = variables.get_location(stable_ptr);
329329

crates/cairo-lang-lowering/src/implicits/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ pub fn inner_lower_implicits(
4545
function_id: ConcreteFunctionWithBodyId,
4646
lowered: &mut Lowered,
4747
) -> Maybe<()> {
48-
let semantic_function = function_id.function_with_body_id(db).base_semantic_function(db);
48+
let semantic_function = function_id.base_semantic_function(db).function_with_body_id(db);
4949
let location = LocationId::from_stable_location(
5050
db,
5151
StableLocation::new(semantic_function.untyped_stable_ptr(db)),
@@ -55,7 +55,7 @@ pub fn inner_lower_implicits(
5555

5656
let mut variables = VariableAllocator::new(
5757
db,
58-
function_id.function_with_body_id(db).base_semantic_function(db),
58+
function_id.base_semantic_function(db).function_with_body_id(db),
5959
lowered.variables.clone(),
6060
)?;
6161

@@ -264,7 +264,7 @@ pub trait FunctionImplicitsTrait<'a>: Upcast<dyn LoweringGroup + 'a> {
264264
let mut implicits = db.scc_implicits(scc_representative)?;
265265

266266
let precedence = db.function_declaration_implicit_precedence(
267-
function.function_with_body_id(db).base_semantic_function(db),
267+
function.base_semantic_function(db).function_with_body_id(db),
268268
)?;
269269
precedence.apply(&mut implicits, db);
270270

crates/cairo-lang-lowering/src/inline/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn priv_should_inline(
6262
}
6363

6464
let config = db.function_declaration_inline_config(
65-
function_id.function_with_body_id(db).base_semantic_function(db),
65+
function_id.base_semantic_function(db).function_with_body_id(db),
6666
)?;
6767
match (db.optimization_config().inlining_strategy, config) {
6868
(_, InlineConfiguration::Always(_)) => Ok(true),
@@ -331,10 +331,9 @@ pub fn apply_inlining(
331331
function_id: ConcreteFunctionWithBodyId,
332332
lowered: &mut Lowered,
333333
) -> Maybe<()> {
334-
let function_with_body_id = function_id.function_with_body_id(db);
335334
let variables = VariableAllocator::new(
336335
db,
337-
function_with_body_id.base_semantic_function(db),
336+
function_id.base_semantic_function(db).function_with_body_id(db),
338337
lowered.variables.clone(),
339338
)?;
340339
if let Ok(new_lowered) = FunctionInlinerRewriter::apply(variables, lowered, function_id) {

crates/cairo-lang-lowering/src/optimizations/return_optimization.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub fn return_optimization(
3737

3838
let mut variables = VariableAllocator::new(
3939
db,
40-
function_id.function_with_body_id(db).base_semantic_function(db),
40+
function_id.base_semantic_function(db).function_with_body_id(db),
4141
lowered.variables.clone(),
4242
)
4343
.unwrap();

crates/cairo-lang-lowering/src/optimizations/scrub_units_test.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use cairo_lang_semantic::test_utils::setup_test_function;
55
use cairo_lang_test_utils::parse_test_file::TestRunnerResult;
66
use cairo_lang_utils::ordered_hash_map::OrderedHashMap;
77

8-
use crate::concretize::concretize_lowered;
8+
use crate::LoweringStage;
99
use crate::db::LoweringGroup;
1010
use crate::fmt::LoweredFormatter;
1111
use crate::ids::ConcreteFunctionWithBodyId;
@@ -37,15 +37,10 @@ fn test_scrub_units(
3737
let function_id =
3838
ConcreteFunctionWithBodyId::from_semantic(db, test_function.concrete_function_id);
3939

40-
let mut before = db
41-
.function_with_body_lowering(function_id.function_with_body_id(db))
42-
.unwrap()
43-
.deref()
44-
.clone();
45-
concretize_lowered(db, &mut before, &function_id.substitution(db).unwrap()).unwrap();
40+
let before = db.lowered_body(function_id, LoweringStage::Monomorphized).unwrap();
4641

4742
let lowering_diagnostics = db.module_lowering_diagnostics(test_function.module_id).unwrap();
48-
let mut after = before.clone();
43+
let mut after = before.deref().clone();
4944
scrub_units(db, &mut after);
5045

5146
TestRunnerResult::success(OrderedHashMap::from([

crates/cairo-lang-lowering/src/panic/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pub fn lower_panics(
4242
}
4343
let variables = VariableAllocator::new(
4444
db,
45-
function_id.function_with_body_id(db).base_semantic_function(db),
45+
function_id.base_semantic_function(db).function_with_body_id(db),
4646
lowered.variables.clone(),
4747
)?;
4848

crates/cairo-lang-sierra-generator/src/block_generator_test.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ use cairo_lang_filesystem::db::FilesGroupEx;
55
use cairo_lang_filesystem::flag::Flag;
66
use cairo_lang_filesystem::ids::FlagId;
77
use cairo_lang_lowering::db::LoweringGroup;
8-
use cairo_lang_lowering::{self as lowering, LoweringStage};
8+
use cairo_lang_lowering::{self as lowering, LoweringStage, ids};
99
use cairo_lang_semantic::test_utils::setup_test_function;
1010
use cairo_lang_test_utils::parse_test_file::TestRunnerResult;
11+
use cairo_lang_utils::Intern;
1112
use cairo_lang_utils::ordered_hash_map::OrderedHashMap;
1213
use cairo_lang_utils::ordered_hash_set::OrderedHashSet;
1314
use lowering::fmt::LoweredFormatter;
@@ -57,8 +58,11 @@ fn block_generator_test(
5758
// Lower code.
5859
let function_id =
5960
ConcreteFunctionWithBodyId::from_semantic(db, test_function.concrete_function_id);
60-
let lowering_diagnostics =
61-
db.function_with_body_lowering_diagnostics(function_id.function_with_body_id(db)).unwrap();
61+
let lowering_diagnostics = db
62+
.function_with_body_lowering_diagnostics(
63+
ids::FunctionWithBodyLongId::Semantic(test_function.function_id).intern(db),
64+
)
65+
.unwrap();
6266

6367
let lowered = match db.lowered_body(function_id, LoweringStage::Final) {
6468
Ok(lowered) if !lowered.blocks.is_empty() => lowered,

0 commit comments

Comments
 (0)