This adjusts header file includes for headers and source files in Core. In doing so, one dependency cycle is eliminated because all the includes from Core to that project were dead includes anyway. In places where some files in other projects were only compiling due to a transitive include from another header, fixups have been made so that those files also include the header they need. Tested on Windows and Linux, and plan to address failures on OSX and FreeBSD after watching the bots. llvm-svn: 299714
68 lines
2.2 KiB
C++
68 lines
2.2 KiB
C++
//===-- AddressResolverFileLine.h -------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef liblldb_AddressResolverFileLine_h_
|
|
#define liblldb_AddressResolverFileLine_h_
|
|
|
|
#include "lldb/Core/AddressResolver.h"
|
|
#include "lldb/Core/SearchFilter.h" // for Searcher, Searcher::CallbackR...
|
|
#include "lldb/Utility/FileSpec.h" // for FileSpec
|
|
#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
|
|
|
|
#include <stdint.h> // for uint32_t
|
|
|
|
namespace lldb_private {
|
|
class Address;
|
|
}
|
|
namespace lldb_private {
|
|
class Stream;
|
|
}
|
|
namespace lldb_private {
|
|
class SymbolContext;
|
|
}
|
|
|
|
namespace lldb_private {
|
|
|
|
//----------------------------------------------------------------------
|
|
/// @class AddressResolverFileLine AddressResolverFileLine.h
|
|
/// "lldb/Core/AddressResolverFileLine.h"
|
|
/// @brief This class finds address for source file and line. Optionally, it
|
|
/// will look for inlined
|
|
/// instances of the file and line specification.
|
|
//----------------------------------------------------------------------
|
|
|
|
class AddressResolverFileLine : public AddressResolver {
|
|
public:
|
|
AddressResolverFileLine(const FileSpec &resolver, uint32_t line_no,
|
|
bool check_inlines);
|
|
|
|
~AddressResolverFileLine() override;
|
|
|
|
Searcher::CallbackReturn SearchCallback(SearchFilter &filter,
|
|
SymbolContext &context, Address *addr,
|
|
bool containing) override;
|
|
|
|
Searcher::Depth GetDepth() override;
|
|
|
|
void GetDescription(Stream *s) override;
|
|
|
|
protected:
|
|
FileSpec m_file_spec; // This is the file spec we are looking for.
|
|
uint32_t m_line_number; // This is the line number that we are looking for.
|
|
bool m_inlines; // This determines whether the resolver looks for inlined
|
|
// functions or not.
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(AddressResolverFileLine);
|
|
};
|
|
|
|
} // namespace lldb_private
|
|
|
|
#endif // liblldb_AddressResolverFileLine_h_
|