Skip to content

Commit 952c406

Browse files
committed
Better splits
1 parent 7b40ef3 commit 952c406

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

kani-compiler/src/codegen_cprover_gotoc/codegen/function.rs

+1
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ pub mod rustc_smir {
246246
// println!("COVERAGE: {:?}", &cov_info.mappings);
247247
for mapping in &cov_info.mappings {
248248
if mapping.kind.terms().next().unwrap() == coverage {
249+
println!("COVERAGE: {:?}", mapping.code_region.clone());
249250
return Some(mapping.code_region.clone());
250251
}
251252
}

kani-compiler/src/codegen_cprover_gotoc/codegen/statement.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl<'tcx> GotocCtx<'tcx> {
107107
let instance = self.current_fn().instance_stable();
108108
let cov_info = format!("{cov:?} ({fun})");
109109
// NOTE: This helps see the coverage info we're processing
110-
println!("COVERAGE: {:?} {:?} {:?}", cov, fun, stmt.span);
110+
// println!("COVERAGE: {:?} {:?} {:?}", cov, fun, stmt.span);
111111
let cov_span = coverage_opaque_span(self.tcx, cov.clone(), instance);
112112
if let Some(code_region) = cov_span {
113113
let coverage_stmt = self.codegen_coverage(&cov_info, stmt.span, code_region);

kani-driver/src/coverage/cov_results.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,15 @@ impl Display for CoverageRegion {
7070

7171
impl CoverageRegion {
7272
pub fn from_str(str: String) -> Self {
73-
let str_splits: Vec<&str> = str.split([':', '-']).map(|s| s.trim()).collect();
74-
assert_eq!(str_splits.len(), 5, "{str:?}");
75-
let file = str_splits[0].to_string();
76-
let start = (str_splits[1].parse().unwrap(), str_splits[2].parse().unwrap());
77-
let end = (str_splits[3].parse().unwrap(), str_splits[4].parse().unwrap());
73+
let blank_splits: Vec<&str> = str.split_whitespace().map(|s| s.trim()).collect();
74+
assert!(blank_splits[1] == "-");
75+
let str_splits1: Vec<&str> = blank_splits[0].split([':']).collect();
76+
let str_splits2: Vec<&str> = blank_splits[2].split([':']).collect();
77+
assert_eq!(str_splits1.len(), 3, "{str:?}");
78+
assert_eq!(str_splits2.len(), 2, "{str:?}");
79+
let file = str_splits1[0].to_string();
80+
let start = (str_splits1[1].parse().unwrap(), str_splits1[2].parse().unwrap());
81+
let end = (str_splits2[0].parse().unwrap(), str_splits2[1].parse().unwrap());
7882
Self { file, start, end }
7983
}
8084
}

0 commit comments

Comments
 (0)