summaryrefslogtreecommitdiff
path: root/plugins/pdb-ng/src
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2025-12-23 13:12:02 -0700
committerRusty Wagner <rusty.wagner@gmail.com>2026-05-22 16:30:56 -0400
commit8d621c51b2797fda7b1dc22243dde611cfc04f68 (patch)
treeba5e6a90e644d21d13e75dabcbd0cc747444443a /plugins/pdb-ng/src
parent08e34ac325743085911f96b62c81d9a1f2127806 (diff)
Refactor calling conventions to support correct representation of structures
Diffstat (limited to 'plugins/pdb-ng/src')
-rw-r--r--plugins/pdb-ng/src/symbol_parser.rs11
1 files changed, 2 insertions, 9 deletions
diff --git a/plugins/pdb-ng/src/symbol_parser.rs b/plugins/pdb-ng/src/symbol_parser.rs
index a4ee4a6c..125d7c88 100644
--- a/plugins/pdb-ng/src/symbol_parser.rs
+++ b/plugins/pdb-ng/src/symbol_parser.rs
@@ -961,7 +961,7 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
MIN_CONFIDENCE,
)),
p.name.clone(),
- p.storage.first().map(|loc| loc.location),
+ p.storage.first().map(|loc| loc.location.into()),
);
// Ignore thisptr because it's not technically part of the raw type signature
if p.name != "this" {
@@ -976,7 +976,7 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
MIN_CONFIDENCE,
)),
p.name.clone(),
- p.storage.first().map(|loc| loc.location),
+ p.storage.first().map(|loc| loc.location.into()),
);
// Ignore thisptr because it's not technically part of the raw type signature
if p.name != "this" {
@@ -1035,7 +1035,6 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
}
}
- // Now apply the default location for the params from the cc
let cc = fancy_type
.contents
.calling_convention()
@@ -1049,12 +1048,6 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
});
self.log(|| format!("Default calling convention: {:?}", self.default_cc));
self.log(|| format!("Result calling convention: {:?}", cc));
-
- let locations = cc.contents.variables_for_parameters(&fancy_params, None);
- for (p, new_location) in fancy_params.iter_mut().zip(locations.into_iter()) {
- p.location = Some(new_location);
- }
-
self.log(|| format!("Final params: {:#x?}", fancy_params));
// Use the new locals we've parsed to make the Real Definitely True function type