From 8844c11b8bc1cfa70a63a8875e08345c96abecfe Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 26 Mar 2020 09:28:08 -0600 Subject: Make some line_header methods const This changes a few line_header methods to be const. In some cases, a const overload is added. gdb/ChangeLog 2020-03-26 Tom Tromey * dwarf2/line-header.h (struct line_header) : Use const. : Add const overload. * dwarf2/line-header.c (line_header::file_file_name) (line_header::file_full_name): Update. --- gdb/dwarf2/line-header.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'gdb/dwarf2/line-header.h') diff --git a/gdb/dwarf2/line-header.h b/gdb/dwarf2/line-header.h index 08cf7b0810f..30bc37fb85a 100644 --- a/gdb/dwarf2/line-header.h +++ b/gdb/dwarf2/line-header.h @@ -96,7 +96,7 @@ struct line_header return m_include_dirs[vec_index]; } - bool is_valid_file_index (int file_index) + bool is_valid_file_index (int file_index) const { if (version >= 5) return 0 <= file_index && file_index < file_names_size (); @@ -117,11 +117,21 @@ struct line_header return &m_file_names[vec_index]; } + /* A const overload of the same. */ + const file_entry *file_name_at (file_name_index index) const + { + line_header *lh = const_cast (this); + return lh->file_name_at (index); + } + /* The indexes are 0-based in DWARF 5 and 1-based in DWARF 4. Therefore, this method should only be used to iterate through all file entries in an index-agnostic manner. */ std::vector &file_names () { return m_file_names; } + /* A const overload of the same. */ + const std::vector &file_names () const + { return m_file_names; } /* Offset of line number information in .debug_line section. */ sect_offset sect_off {}; @@ -145,7 +155,7 @@ struct line_header element is standard_opcode_lengths[opcode_base - 1]. */ std::unique_ptr standard_opcode_lengths; - int file_names_size () + int file_names_size () const { return m_file_names.size(); } /* The start and end of the statement program following this @@ -157,13 +167,13 @@ struct line_header compilation. The result is allocated using xmalloc; the caller is responsible for freeing it. */ gdb::unique_xmalloc_ptr file_full_name (int file, - const char *comp_dir); + const char *comp_dir) const; /* Return file name relative to the compilation directory of file number I in this object's file name table. The result is allocated using xmalloc; the caller is responsible for freeing it. */ - gdb::unique_xmalloc_ptr file_file_name (int file); + gdb::unique_xmalloc_ptr file_file_name (int file) const; private: /* The include_directories table. Note these are observing -- cgit v1.2.1