diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-12-23 13:12:02 -0700 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2026-05-22 16:30:56 -0400 |
| commit | 8d621c51b2797fda7b1dc22243dde611cfc04f68 (patch) | |
| tree | ba5e6a90e644d21d13e75dabcbd0cc747444443a /demangler | |
| parent | 08e34ac325743085911f96b62c81d9a1f2127806 (diff) | |
Refactor calling conventions to support correct representation of structures
Diffstat (limited to 'demangler')
| -rw-r--r-- | demangler/gnu3/demangled_type_node.cpp | 2 | ||||
| -rw-r--r-- | demangler/msvc/demangle_msvc.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/demangler/gnu3/demangled_type_node.cpp b/demangler/gnu3/demangled_type_node.cpp index 89bfb2fa..a52f9ef8 100644 --- a/demangler/gnu3/demangled_type_node.cpp +++ b/demangler/gnu3/demangled_type_node.cpp @@ -502,7 +502,7 @@ Ref<Type> DemangledTypeNode::Finalize() const for (auto& p : m_params) { Ref<Type> pType = p.type ? p.type->Finalize() : Ref<Type>(Type::VoidType()); - finalParams.push_back({p.name, pType, true, Variable()}); + finalParams.push_back({p.name, pType, DefaultLocationSource, Variable()}); } TypeBuilder tb = TypeBuilder::FunctionType(retType->WithConfidence(m_returnTypeConfidence), nullptr, finalParams); tb.SetConst(m_const); diff --git a/demangler/msvc/demangle_msvc.cpp b/demangler/msvc/demangle_msvc.cpp index 0489c341..412ed960 100644 --- a/demangler/msvc/demangle_msvc.cpp +++ b/demangler/msvc/demangle_msvc.cpp @@ -732,7 +732,7 @@ void Demangle::DemangleVariableList(vector<FunctionParameter>& paramList, Backre } vt.name = name.GetString(); vt.type = type.Finalize(); - vt.defaultLocation = true; + vt.locationSource = DefaultLocationSource; paramList.push_back(vt); m_logger->LogDebug("Argument %zu: '%s' - '%s'\n", i, vt.type->GetString().c_str(), reader.GetRaw()); @@ -1607,7 +1607,7 @@ TypeBuilder Demangle::DemangleFunction(BNNameType classFunctionType, bool pointe QualifiedName thisName = m_varName; if (thisName.size() > 0) thisName.erase(thisName.end() - 1); - params.push_back(FunctionParameter("this", Type::PointerType(m_arch, Type::NamedType(thisName, Type::VoidType())), true, {})); + params.push_back(FunctionParameter("this", Type::PointerType(m_arch, Type::NamedType(thisName, Type::VoidType())), DefaultLocationSource, {})); } DemangleVariableList(params, m_backrefList); |
