Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 14 | pmbaty | 1 | //===- NativeInlineSiteSymbol.h - info about inline sites -------*- C++ -*-===// | 
        
| 2 | // | 
        ||
| 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
        ||
| 4 | // See https://llvm.org/LICENSE.txt for license information. | 
        ||
| 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
        ||
| 6 | // | 
        ||
| 7 | //===----------------------------------------------------------------------===// | 
        ||
| 8 | |||
| 9 | #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H | 
        ||
| 10 | #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H | 
        ||
| 11 | |||
| 12 | #include "llvm/DebugInfo/CodeView/SymbolRecord.h" | 
        ||
| 13 | #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h" | 
        ||
| 14 | #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h" | 
        ||
| 15 | #include "llvm/DebugInfo/PDB/PDBTypes.h" | 
        ||
| 16 | |||
| 17 | namespace llvm {  | 
        ||
| 18 | namespace pdb {  | 
        ||
| 19 | |||
| 20 | class NativeSession;  | 
        ||
| 21 | |||
| 22 | class NativeInlineSiteSymbol : public NativeRawSymbol {  | 
        ||
| 23 | public:  | 
        ||
| 24 | NativeInlineSiteSymbol(NativeSession &Session, SymIndexId Id,  | 
        ||
| 25 | const codeview::InlineSiteSym &Sym,  | 
        ||
| 26 | uint64_t ParentAddr);  | 
        ||
| 27 | |||
| 28 | ~NativeInlineSiteSymbol() override;  | 
        ||
| 29 | |||
| 30 | void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,  | 
        ||
| 31 | PdbSymbolIdField RecurseIdFields) const override;  | 
        ||
| 32 | |||
| 33 | std::string getName() const override;  | 
        ||
| 34 | std::unique_ptr<IPDBEnumLineNumbers>  | 
        ||
| 35 | findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;  | 
        ||
| 36 | |||
| 37 | private:  | 
        ||
| 38 | const codeview::InlineSiteSym Sym;  | 
        ||
| 39 | uint64_t ParentAddr;  | 
        ||
| 40 | |||
| 41 | void getLineOffset(uint32_t OffsetInFunc, uint32_t &LineOffset,  | 
        ||
| 42 | uint32_t &FileOffset) const;  | 
        ||
| 43 | };  | 
        ||
| 44 | |||
| 45 | } // namespace pdb  | 
        ||
| 46 | } // namespace llvm  | 
        ||
| 47 | |||
| 48 | #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVEINLINESITESYMBOL_H |