summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/ObjectYAML/DWARFVisitor.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/lib/ObjectYAML/DWARFVisitor.h')
-rw-r--r--gnu/llvm/lib/ObjectYAML/DWARFVisitor.h97
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