fix test
This commit is contained in:
parent
b9f52e4ca5
commit
dfcd6232a4
4 changed files with 683 additions and 666 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -551,7 +551,7 @@ fn test_2_from_json() {
|
||||||
let mut json = String::new();
|
let mut json = String::new();
|
||||||
file.read_to_string(&mut json).unwrap();
|
file.read_to_string(&mut json).unwrap();
|
||||||
let apk: Apk = serde_json::from_str(&json).unwrap();
|
let apk: Apk = serde_json::from_str(&json).unwrap();
|
||||||
let dex = apk.gen_raw_dex().unwrap().remove("classe.dex").unwrap();
|
let dex = apk.gen_raw_dex().unwrap().remove("classes.dex").unwrap();
|
||||||
let mut new_apk = Apk::new();
|
let mut new_apk = Apk::new();
|
||||||
new_apk
|
new_apk
|
||||||
.add_dex_file("classes.dex", &dex, false, false)
|
.add_dex_file("classes.dex", &dex, false, false)
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ReturnVoid": null
|
"ReturnVoid": {}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -184,7 +184,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Nop": null
|
"Nop": {}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -297,6 +297,15 @@ impl DebugInfoReader {
|
||||||
DbgBytecode::EndLocal {
|
DbgBytecode::EndLocal {
|
||||||
register_num: Uleb128(register_num),
|
register_num: Uleb128(register_num),
|
||||||
} => {
|
} => {
|
||||||
|
// Yes this can happen
|
||||||
|
while self.register_states.len() < (register_num + 1) as usize {
|
||||||
|
self.register_states.push(DebugRegState {
|
||||||
|
name_idx: None,
|
||||||
|
type_idx: None,
|
||||||
|
sig_idx: None,
|
||||||
|
in_scope: false,
|
||||||
|
})
|
||||||
|
}
|
||||||
self.register_states[register_num as usize].in_scope = false;
|
self.register_states[register_num as usize].in_scope = false;
|
||||||
Some(DebugInfo::EndLocal {
|
Some(DebugInfo::EndLocal {
|
||||||
addr: self.address,
|
addr: self.address,
|
||||||
|
|
@ -655,6 +664,10 @@ mod test {
|
||||||
addr_diff: Uleb128(51),
|
addr_diff: Uleb128(51),
|
||||||
},
|
},
|
||||||
SpecialOpcode(14),
|
SpecialOpcode(14),
|
||||||
|
// End a local that do not already exist
|
||||||
|
EndLocal {
|
||||||
|
register_num: Uleb128(41),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue