Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adapt...
[lldb.git] / lldb / tools / lldb-vscode / SourceReference.h
1 //===-- SourceReference.h ---------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDBVSCODE_SOURCEREFERENCE_H_
11 #define LLDBVSCODE_SOURCEREFERENCE_H_
12
13 #include "lldb/lldb-types.h"
14 #include "llvm/ADT/DenseMap.h"
15 #include <string>
16
17 namespace lldb_vscode {
18
19 struct SourceReference {
20   std::string content;
21   llvm::DenseMap<lldb::addr_t, int64_t> addr_to_line;
22
23   int64_t GetLineForPC(lldb::addr_t pc) const {
24     auto addr_line = addr_to_line.find(pc);
25     if (addr_line != addr_to_line.end())
26       return addr_line->second;
27     return 0;
28   }
29 };
30
31 } // namespace lldb_vscode
32
33 #endif