| OLD | NEW |
| 1 // -*- mode: c++ -*- | 1 // -*- mode: c++ -*- |
| 2 | 2 |
| 3 // Copyright (c) 2010 Google Inc. All Rights Reserved. | 3 // Copyright (c) 2010 Google Inc. All Rights Reserved. |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
| 10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 // destroy the root DIE handler.) | 149 // destroy the root DIE handler.) |
| 150 // | 150 // |
| 151 // This allows the code for handling a particular kind of DIE to be | 151 // This allows the code for handling a particular kind of DIE to be |
| 152 // gathered together in a single class, makes it easy to skip all the | 152 // gathered together in a single class, makes it easy to skip all the |
| 153 // children or individual children of a particular DIE, and provides | 153 // children or individual children of a particular DIE, and provides |
| 154 // appropriate parental context for each die. | 154 // appropriate parental context for each die. |
| 155 | 155 |
| 156 #ifndef COMMON_DWARF_DWARF2DIEHANDLER_H__ | 156 #ifndef COMMON_DWARF_DWARF2DIEHANDLER_H__ |
| 157 #define COMMON_DWARF_DWARF2DIEHANDLER_H__ | 157 #define COMMON_DWARF_DWARF2DIEHANDLER_H__ |
| 158 | 158 |
| 159 #include <stdint.h> |
| 160 |
| 159 #include <stack> | 161 #include <stack> |
| 160 #include <string> | 162 #include <string> |
| 161 | 163 |
| 162 #include "common/dwarf/types.h" | 164 #include "common/dwarf/types.h" |
| 163 #include "common/dwarf/dwarf2enums.h" | 165 #include "common/dwarf/dwarf2enums.h" |
| 164 #include "common/dwarf/dwarf2reader.h" | 166 #include "common/dwarf/dwarf2reader.h" |
| 165 #include "common/using_std_string.h" | 167 #include "common/using_std_string.h" |
| 166 | 168 |
| 167 namespace dwarf2reader { | 169 namespace dwarf2reader { |
| 168 | 170 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 199 enum DwarfForm form, | 201 enum DwarfForm form, |
| 200 uint64 data) { } | 202 uint64 data) { } |
| 201 virtual void ProcessAttributeSigned(enum DwarfAttribute attr, | 203 virtual void ProcessAttributeSigned(enum DwarfAttribute attr, |
| 202 enum DwarfForm form, | 204 enum DwarfForm form, |
| 203 int64 data) { } | 205 int64 data) { } |
| 204 virtual void ProcessAttributeReference(enum DwarfAttribute attr, | 206 virtual void ProcessAttributeReference(enum DwarfAttribute attr, |
| 205 enum DwarfForm form, | 207 enum DwarfForm form, |
| 206 uint64 data) { } | 208 uint64 data) { } |
| 207 virtual void ProcessAttributeBuffer(enum DwarfAttribute attr, | 209 virtual void ProcessAttributeBuffer(enum DwarfAttribute attr, |
| 208 enum DwarfForm form, | 210 enum DwarfForm form, |
| 209 const char* data, | 211 const uint8_t *data, |
| 210 uint64 len) { } | 212 uint64 len) { } |
| 211 virtual void ProcessAttributeString(enum DwarfAttribute attr, | 213 virtual void ProcessAttributeString(enum DwarfAttribute attr, |
| 212 enum DwarfForm form, | 214 enum DwarfForm form, |
| 213 const string& data) { } | 215 const string& data) { } |
| 214 virtual void ProcessAttributeSignature(enum DwarfAttribute attr, | 216 virtual void ProcessAttributeSignature(enum DwarfAttribute attr, |
| 215 enum DwarfForm form, | 217 enum DwarfForm form, |
| 216 uint64 signture) { } | 218 uint64 signture) { } |
| 217 | 219 |
| 218 // Once we have reported all the DIE's attributes' values, we call | 220 // Once we have reported all the DIE's attributes' values, we call |
| 219 // this member function. If it returns false, we skip all the DIE's | 221 // this member function. If it returns false, we skip all the DIE's |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 enum DwarfAttribute attr, | 304 enum DwarfAttribute attr, |
| 303 enum DwarfForm form, | 305 enum DwarfForm form, |
| 304 int64 data); | 306 int64 data); |
| 305 void ProcessAttributeReference(uint64 offset, | 307 void ProcessAttributeReference(uint64 offset, |
| 306 enum DwarfAttribute attr, | 308 enum DwarfAttribute attr, |
| 307 enum DwarfForm form, | 309 enum DwarfForm form, |
| 308 uint64 data); | 310 uint64 data); |
| 309 void ProcessAttributeBuffer(uint64 offset, | 311 void ProcessAttributeBuffer(uint64 offset, |
| 310 enum DwarfAttribute attr, | 312 enum DwarfAttribute attr, |
| 311 enum DwarfForm form, | 313 enum DwarfForm form, |
| 312 const char* data, | 314 const uint8_t *data, |
| 313 uint64 len); | 315 uint64 len); |
| 314 void ProcessAttributeString(uint64 offset, | 316 void ProcessAttributeString(uint64 offset, |
| 315 enum DwarfAttribute attr, | 317 enum DwarfAttribute attr, |
| 316 enum DwarfForm form, | 318 enum DwarfForm form, |
| 317 const string &data); | 319 const string &data); |
| 318 void ProcessAttributeSignature(uint64 offset, | 320 void ProcessAttributeSignature(uint64 offset, |
| 319 enum DwarfAttribute attr, | 321 enum DwarfAttribute attr, |
| 320 enum DwarfForm form, | 322 enum DwarfForm form, |
| 321 uint64 signature); | 323 uint64 signature); |
| 322 void EndDIE(uint64 offset); | 324 void EndDIE(uint64 offset); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 // pushing lots of stack entries with handler_ set to NULL. | 356 // pushing lots of stack entries with handler_ set to NULL. |
| 355 std::stack<HandlerStack> die_handlers_; | 357 std::stack<HandlerStack> die_handlers_; |
| 356 | 358 |
| 357 // The root handler. We don't push it on die_handlers_ until we | 359 // The root handler. We don't push it on die_handlers_ until we |
| 358 // actually get the StartDIE call for the root. | 360 // actually get the StartDIE call for the root. |
| 359 RootDIEHandler *root_handler_; | 361 RootDIEHandler *root_handler_; |
| 360 }; | 362 }; |
| 361 | 363 |
| 362 } // namespace dwarf2reader | 364 } // namespace dwarf2reader |
| 363 #endif // COMMON_DWARF_DWARF2DIEHANDLER_H__ | 365 #endif // COMMON_DWARF_DWARF2DIEHANDLER_H__ |
| OLD | NEW |