]> git.siccegge.de Git - frida/frida.git/blob - src/core/Function.cxx
1df4d1dba3b6a154c337c6d06f63bedcb3a2e6cd
[frida/frida.git] / src / core / Function.cxx
1 #include "Function.hxx"
2 #include "core/events/RenameFunctionEvent.hxx"
3 #include "InformationManager.hxx"
4 #include "gui/qt.hxx"
5
6 Function::Function(uint64_t start_address, InformationManager* manager)
7 : start_address(start_address)
8 , manager(manager) {}
9
10
11 void Function::setName(const std::string& new_name) {
12 name = new_name;
13 RenameFunctionEvent event(new_name, start_address);
14 manager->dispatch(&event);
15 }
16
17 void Function::serialize(QXmlStreamWriter& stream) {
18 stream.writeStartElement("function");
19 stream.writeAttribute("name", getName().c_str());
20 stream.writeAttribute("entry", QString::number(getStartAddress(), 16));
21
22 for (auto& blockentry : blocks()) {
23 blockentry.second->serialize(stream);
24 }
25
26 stream.writeEndElement(); // "function"
27 }