Coverage Report

Created: 2018-11-16 02:38

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h
Line
Count
Source (jump to first uncovered line)
1
//===- TypeVisitorCallbacks.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 LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKS_H
11
#define LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKS_H
12
13
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
14
#include "llvm/Support/Error.h"
15
16
namespace llvm {
17
namespace codeview {
18
19
class TypeVisitorCallbacks {
20
public:
21
36.9k
  virtual ~TypeVisitorCallbacks() = default;
22
23
  /// Action to take on unknown types. By default, they are ignored.
24
0
  virtual Error visitUnknownType(CVType &Record) { return Error::success(); }
25
  /// Paired begin/end actions for all types. Receives all record data,
26
  /// including the fixed-length record prefix.  visitTypeBegin() should return
27
  /// the type of the Record, or an error if it cannot be determined.  Exactly
28
  /// one of the two visitTypeBegin methods will be called, depending on whether
29
  /// records are being visited sequentially or randomly.  An implementation
30
  /// should be prepared to handle both (or assert if it can't handle random
31
  /// access visitation).
32
0
  virtual Error visitTypeBegin(CVType &Record) { return Error::success(); }
33
0
  virtual Error visitTypeBegin(CVType &Record, TypeIndex Index) {
34
0
    return Error::success();
35
0
  }
36
14
  virtual Error visitTypeEnd(CVType &Record) { return Error::success(); }
37
38
180
  virtual Error visitUnknownMember(CVMemberRecord &Record) {
39
180
    return Error::success();
40
180
  }
41
42
1.38k
  virtual Error visitMemberBegin(CVMemberRecord &Record) {
43
1.38k
    return Error::success();
44
1.38k
  }
45
46
1.38k
  virtual Error visitMemberEnd(CVMemberRecord &Record) {
47
1.38k
    return Error::success();
48
1.38k
  }
49
50
#define TYPE_RECORD(EnumName, EnumVal, Name)                                   \
51
0
  virtual Error visitKnownRecord(CVType &CVR, Name##Record &Record) {          \
52
0
    return Error::success();                                                   \
53
0
  }
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PointerRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ModifierRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ProcedureRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFunctionRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::LabelRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArgListRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FieldListRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArrayRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ClassRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UnionRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EnumRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::TypeServer2Record&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableShapeRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BitFieldRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FuncIdRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFuncIdRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BuildInfoRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringListRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringIdRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtSourceLineRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtModSourceLineRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MethodOverloadListRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PrecompRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EndPrecompRecord&)
54
#define MEMBER_RECORD(EnumName, EnumVal, Name)                                 \
55
0
  virtual Error visitKnownMember(CVMemberRecord &CVM, Name##Record &Record) {  \
56
0
    return Error::success();                                                   \
57
0
  }
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::BaseClassRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::VirtualBaseClassRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::VFPtrRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::StaticDataMemberRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::OverloadedMethodRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::DataMemberRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::NestedTypeRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::OneMethodRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::EnumeratorRecord&)
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbacks::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::ListContinuationRecord&)
58
59
#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
60
#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
61
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
62
#undef TYPE_RECORD
63
#undef TYPE_RECORD_ALIAS
64
#undef MEMBER_RECORD
65
#undef MEMBER_RECORD_ALIAS
66
};
67
68
} // end namespace codeview
69
} // end namespace llvm
70
71
#endif // LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKS_H