Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(747)

Side by Side Diff: experimental/visual_studio_plugin/src/dwarf_reader/dwarf_parser.h

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Native Client Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef DWARF_READER_DWARF_PARSER_H_
6 #define DWARF_READER_DWARF_PARSER_H_
7
8 namespace elf_reader {
9 class ElfObject;
10 } // namespace elf_reader
11
12 namespace dwarf_reader {
13 class IDwarfReader;
14 class ElfSectionReader;
15
16 class DwarfParser {
17 public:
18 DwarfParser();
19 virtual ~DwarfParser();
20
21 /// Initializes the instance of the class with a file path and by populating
22 /// an |ElfSectionReader|.
23 /// @param[in] elf_object The |ElfObject|, populated with a file location.
24 /// @param[in] file_path The file location that |elf_object| was populated
25 /// with.
26 /// @return false iff there is a sign that something may have gone wrong or
27 /// no memory was available.
28 bool Init(elf_reader::ElfObject *elf_object);
29
30 /// Populates an instance of |IDwarfReader| with debug information.
31 /// @param[out] dwarf_reader the object to be populated.
32 void PopulateReader(IDwarfReader *dwarf_reader) const;
33
34 private:
35 /// Populates an instance of IDwarfReader with the call frame information
36 /// from the |elf_object|.
37 /// @param[out] dwarf_reader the object to be populated.
38 void PopulateCallFrameInfo(IDwarfReader *dwarf_reader) const;
39
40 /// Populates an instance of IDwarfReader with the compilation unit
41 /// information from the |elf_object|.
42 /// @param[out] dwarf_reader the object to be populated.
43 void PopulateCompilationUnits(IDwarfReader *dwarf_reader) const;
44
45 /// Populates an instnace of IDwarfReader with the Location List information
46 /// from the |elf_object|.
47 /// @param[out] dwarf_reader the object to be populated.
48 void PopulateLocationLists(IDwarfReader *dwarf_reader) const;
49
50 /// Populates an instance of IDwarfReader with the Range List information
51 /// from the |elf_object|.
52 /// @param[out] dwarf_reader the object to be populated.
53 void PopulateRangeLists(IDwarfReader *dwarf_reader) const;
54
55 /// The location of the binary that this parser is parsing.
56 const char *file_path_;
57 /// The |ElfSectionReader| that is used to find the correct parts of the
58 /// file.
59 ElfSectionReader *elf_section_reader_;
60
61 bool is_initialized_;
62 };
63 } // namespace dwarf_reader
64
65 #endif // DWARF_READER_DWARF_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698