diff options
Diffstat (limited to 'gnu/llvm/lib/ObjectYAML/DWARFVisitor.h')
| -rw-r--r-- | gnu/llvm/lib/ObjectYAML/DWARFVisitor.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/gnu/llvm/lib/ObjectYAML/DWARFVisitor.h b/gnu/llvm/lib/ObjectYAML/DWARFVisitor.h deleted file mode 100644 index 5489031dc33..00000000000 --- a/gnu/llvm/lib/ObjectYAML/DWARFVisitor.h +++ /dev/null @@ -1,97 +0,0 @@ -//===--- DWARFVisitor.h -----------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECTYAML_DWARFVISITOR_H -#define LLVM_OBJECTYAML_DWARFVISITOR_H - -#include "llvm/ADT/StringRef.h" -#include "llvm/BinaryFormat/Dwarf.h" -#include "llvm/Support/MemoryBuffer.h" - -namespace llvm { - -namespace DWARFYAML { - -struct Data; -struct Unit; -struct Entry; -struct FormValue; -struct AttributeAbbrev; - -/// A class to visits DWARFYAML Compile Units and DIEs in preorder. -/// -/// Extensions of this class can either maintain const or non-const references -/// to the DWARFYAML::Data object. -template <typename T> class VisitorImpl { -protected: - T &DebugInfo; - - /// Visitor Functions - /// @{ - virtual void onStartCompileUnit(Unit &CU) {} - virtual void onEndCompileUnit(Unit &CU) {} - virtual void onStartDIE(Unit &CU, Entry &DIE) {} - virtual void onEndDIE(Unit &CU, Entry &DIE) {} - virtual void onForm(AttributeAbbrev &AttAbbrev, FormValue &Value) {} - /// @} - - /// Const Visitor Functions - /// @{ - virtual void onStartCompileUnit(const Unit &CU) {} - virtual void onEndCompileUnit(const Unit &CU) {} - virtual void onStartDIE(const Unit &CU, const Entry &DIE) {} - virtual void onEndDIE(const Unit &CU, const Entry &DIE) {} - virtual void onForm(const AttributeAbbrev &AttAbbrev, - const FormValue &Value) {} - /// @} - - /// Value visitors - /// @{ - virtual void onValue(const uint8_t U) {} - virtual void onValue(const uint16_t U) {} - virtual void onValue(const uint32_t U) {} - virtual void onValue(const uint64_t U, const bool LEB = false) {} - virtual void onValue(const int64_t S, const bool LEB = false) {} - virtual void onValue(const StringRef String) {} - virtual void onValue(const MemoryBufferRef MBR) {} - /// @} - -public: - VisitorImpl(T &DI) : DebugInfo(DI) {} - - virtual ~VisitorImpl() {} - - void traverseDebugInfo(); - -private: - void onVariableSizeValue(uint64_t U, unsigned Size); -}; - -// Making the visior instantiations extern and explicit in the cpp file. This -// prevents them from being instantiated in every compile unit that uses the -// visitors. -extern template class VisitorImpl<DWARFYAML::Data>; -extern template class VisitorImpl<const DWARFYAML::Data>; - -class Visitor : public VisitorImpl<Data> { -public: - Visitor(Data &DI) : VisitorImpl<Data>(DI) {} -}; - -class ConstVisitor : public VisitorImpl<const Data> { -public: - ConstVisitor(const Data &DI) : VisitorImpl<const Data>(DI) {} -}; - -} // namespace DWARFYAML -} // namespace llvm - -#endif |
