Coverage Report

Created: 2018-11-16 02:38

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
Line
Count
Source (jump to first uncovered line)
1
//===- TypeVisitorCallbackPipeline.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_TYPEVISITORCALLBACKPIPELINE_H
11
#define LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKPIPELINE_H
12
13
#include "llvm/DebugInfo/CodeView/CodeView.h"
14
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
15
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
16
#include "llvm/Support/Error.h"
17
#include <vector>
18
19
namespace llvm {
20
namespace codeview {
21
22
class TypeVisitorCallbackPipeline : public TypeVisitorCallbacks {
23
public:
24
5.71k
  TypeVisitorCallbackPipeline() = default;
25
26
0
  Error visitUnknownType(CVRecord<TypeLeafKind> &Record) override {
27
0
    for (auto Visitor : Pipeline) {
28
0
      if (auto EC = Visitor->visitUnknownType(Record))
29
0
        return EC;
30
0
    }
31
0
    return Error::success();
32
0
  }
33
34
90
  Error visitUnknownMember(CVMemberRecord &Record) override {
35
180
    for (auto Visitor : Pipeline) {
36
180
      if (auto EC = Visitor->visitUnknownMember(Record))
37
0
        return EC;
38
180
    }
39
90
    return Error::success();
40
90
  }
41
42
0
  Error visitTypeBegin(CVType &Record) override {
43
0
    for (auto Visitor : Pipeline) {
44
0
      if (auto EC = Visitor->visitTypeBegin(Record))
45
0
        return EC;
46
0
    }
47
0
    return Error::success();
48
0
  }
49
50
11.2k
  Error visitTypeBegin(CVType &Record, TypeIndex Index) override {
51
22.5k
    for (auto Visitor : Pipeline) {
52
22.5k
      if (auto EC = Visitor->visitTypeBegin(Record, Index))
53
0
        return EC;
54
22.5k
    }
55
11.2k
    return Error::success();
56
11.2k
  }
57
58
11.2k
  Error visitTypeEnd(CVType &Record) override {
59
22.5k
    for (auto Visitor : Pipeline) {
60
22.5k
      if (auto EC = Visitor->visitTypeEnd(Record))
61
0
        return EC;
62
22.5k
    }
63
11.2k
    return Error::success();
64
11.2k
  }
65
66
10.2k
  Error visitMemberBegin(CVMemberRecord &Record) override {
67
20.5k
    for (auto Visitor : Pipeline) {
68
20.5k
      if (auto EC = Visitor->visitMemberBegin(Record))
69
0
        return EC;
70
20.5k
    }
71
10.2k
    return Error::success();
72
10.2k
  }
73
74
10.2k
  Error visitMemberEnd(CVMemberRecord &Record) override {
75
20.5k
    for (auto Visitor : Pipeline) {
76
20.5k
      if (auto EC = Visitor->visitMemberEnd(Record))
77
0
        return EC;
78
20.5k
    }
79
10.2k
    return Error::success();
80
10.2k
  }
81
82
11.4k
  void addCallbackToPipeline(TypeVisitorCallbacks &Callbacks) {
83
11.4k
    Pipeline.push_back(&Callbacks);
84
11.4k
  }
85
86
#define TYPE_RECORD(EnumName, EnumVal, Name)                                   \
87
11.2k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
11.2k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
11.2k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PointerRecord&)
Line
Count
Source
87
1.38k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
1.38k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
1.38k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ModifierRecord&)
Line
Count
Source
87
223
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
223
    return visitKnownRecordImpl(CVR, Record);                                  \
89
223
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ProcedureRecord&)
Line
Count
Source
87
471
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
471
    return visitKnownRecordImpl(CVR, Record);                                  \
89
471
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFunctionRecord&)
Line
Count
Source
87
1.52k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
1.52k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
1.52k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::LabelRecord&)
Line
Count
Source
87
1
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
1
    return visitKnownRecordImpl(CVR, Record);                                  \
89
1
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArgListRecord&)
Line
Count
Source
87
837
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
837
    return visitKnownRecordImpl(CVR, Record);                                  \
89
837
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FieldListRecord&)
Line
Count
Source
87
1.31k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
1.31k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
1.31k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArrayRecord&)
Line
Count
Source
87
92
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
92
    return visitKnownRecordImpl(CVR, Record);                                  \
89
92
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ClassRecord&)
Line
Count
Source
87
2.23k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
2.23k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
2.23k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UnionRecord&)
Line
Count
Source
87
39
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
39
    return visitKnownRecordImpl(CVR, Record);                                  \
89
39
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EnumRecord&)
Line
Count
Source
87
256
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
256
    return visitKnownRecordImpl(CVR, Record);                                  \
89
256
  }
Unexecuted instantiation: llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::TypeServer2Record&)
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableRecord&)
Line
Count
Source
87
11
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
11
    return visitKnownRecordImpl(CVR, Record);                                  \
89
11
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableShapeRecord&)
Line
Count
Source
87
38
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
38
    return visitKnownRecordImpl(CVR, Record);                                  \
89
38
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BitFieldRecord&)
Line
Count
Source
87
18
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
18
    return visitKnownRecordImpl(CVR, Record);                                  \
89
18
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FuncIdRecord&)
Line
Count
Source
87
474
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
474
    return visitKnownRecordImpl(CVR, Record);                                  \
89
474
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFuncIdRecord&)
Line
Count
Source
87
106
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
106
    return visitKnownRecordImpl(CVR, Record);                                  \
89
106
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BuildInfoRecord&)
Line
Count
Source
87
266
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
266
    return visitKnownRecordImpl(CVR, Record);                                  \
89
266
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringListRecord&)
Line
Count
Source
87
48
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
48
    return visitKnownRecordImpl(CVR, Record);                                  \
89
48
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringIdRecord&)
Line
Count
Source
87
1.05k
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
1.05k
    return visitKnownRecordImpl(CVR, Record);                                  \
89
1.05k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtSourceLineRecord&)
Line
Count
Source
87
555
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
555
    return visitKnownRecordImpl(CVR, Record);                                  \
89
555
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtModSourceLineRecord&)
Line
Count
Source
87
8
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
8
    return visitKnownRecordImpl(CVR, Record);                                  \
89
8
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MethodOverloadListRecord&)
Line
Count
Source
87
325
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
325
    return visitKnownRecordImpl(CVR, Record);                                  \
89
325
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PrecompRecord&)
Line
Count
Source
87
2
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
2
    return visitKnownRecordImpl(CVR, Record);                                  \
89
2
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EndPrecompRecord&)
Line
Count
Source
87
2
  Error visitKnownRecord(CVType &CVR, Name##Record &Record) override {         \
88
2
    return visitKnownRecordImpl(CVR, Record);                                  \
89
2
  }
90
#define MEMBER_RECORD(EnumName, EnumVal, Name)                                 \
91
  Error visitKnownMember(CVMemberRecord &CVMR, Name##Record &Record)           \
92
10.2k
      override {                                                               \
93
10.2k
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
10.2k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::BaseClassRecord&)
Line
Count
Source
92
27
      override {                                                               \
93
27
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
27
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::VirtualBaseClassRecord&)
Line
Count
Source
92
21
      override {                                                               \
93
21
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
21
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::VFPtrRecord&)
Line
Count
Source
92
19
      override {                                                               \
93
19
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
19
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::StaticDataMemberRecord&)
Line
Count
Source
92
194
      override {                                                               \
93
194
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
194
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::OverloadedMethodRecord&)
Line
Count
Source
92
317
      override {                                                               \
93
317
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
317
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::DataMemberRecord&)
Line
Count
Source
92
1.64k
      override {                                                               \
93
1.64k
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
1.64k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::NestedTypeRecord&)
Line
Count
Source
92
207
      override {                                                               \
93
207
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
207
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::OneMethodRecord&)
Line
Count
Source
92
609
      override {                                                               \
93
609
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
609
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::EnumeratorRecord&)
Line
Count
Source
92
7.15k
      override {                                                               \
93
7.15k
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
7.15k
  }
llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMember(llvm::codeview::CVMemberRecord&, llvm::codeview::ListContinuationRecord&)
Line
Count
Source
92
4
      override {                                                               \
93
4
    return visitKnownMemberImpl(CVMR, Record);                                 \
94
4
  }
95
#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
96
#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
97
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
98
99
private:
100
11.2k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
22.5k
    for (auto Visitor : Pipeline) {
102
22.5k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
22.5k
    }
105
11.2k
    return Error::success();
106
11.2k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::PointerRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PointerRecord&)
Line
Count
Source
100
1.38k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
2.76k
    for (auto Visitor : Pipeline) {
102
2.76k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
2.76k
    }
105
1.38k
    return Error::success();
106
1.38k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::ModifierRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ModifierRecord&)
Line
Count
Source
100
223
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
446
    for (auto Visitor : Pipeline) {
102
446
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
446
    }
105
223
    return Error::success();
106
223
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::ProcedureRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ProcedureRecord&)
Line
Count
Source
100
471
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
942
    for (auto Visitor : Pipeline) {
102
942
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
942
    }
105
471
    return Error::success();
106
471
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::MemberFunctionRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFunctionRecord&)
Line
Count
Source
100
1.52k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
3.05k
    for (auto Visitor : Pipeline) {
102
3.05k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
3.05k
    }
105
1.52k
    return Error::success();
106
1.52k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::LabelRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::LabelRecord&)
Line
Count
Source
100
1
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
2
    for (auto Visitor : Pipeline) {
102
2
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
2
    }
105
1
    return Error::success();
106
1
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::ArgListRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArgListRecord&)
Line
Count
Source
100
837
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
1.67k
    for (auto Visitor : Pipeline) {
102
1.67k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
1.67k
    }
105
837
    return Error::success();
106
837
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::FieldListRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FieldListRecord&)
Line
Count
Source
100
1.31k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
2.63k
    for (auto Visitor : Pipeline) {
102
2.63k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
2.63k
    }
105
1.31k
    return Error::success();
106
1.31k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::ArrayRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ArrayRecord&)
Line
Count
Source
100
92
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
184
    for (auto Visitor : Pipeline) {
102
184
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
184
    }
105
92
    return Error::success();
106
92
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::ClassRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::ClassRecord&)
Line
Count
Source
100
2.23k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
4.46k
    for (auto Visitor : Pipeline) {
102
4.46k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
4.46k
    }
105
2.23k
    return Error::success();
106
2.23k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::UnionRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UnionRecord&)
Line
Count
Source
100
39
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
78
    for (auto Visitor : Pipeline) {
102
78
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
78
    }
105
39
    return Error::success();
106
39
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::EnumRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EnumRecord&)
Line
Count
Source
100
256
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
512
    for (auto Visitor : Pipeline) {
102
512
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
512
    }
105
256
    return Error::success();
106
256
  }
Unexecuted instantiation: llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::TypeServer2Record>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::TypeServer2Record&)
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::VFTableRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableRecord&)
Line
Count
Source
100
11
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
22
    for (auto Visitor : Pipeline) {
102
22
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
22
    }
105
11
    return Error::success();
106
11
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::VFTableShapeRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::VFTableShapeRecord&)
Line
Count
Source
100
38
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
76
    for (auto Visitor : Pipeline) {
102
76
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
76
    }
105
38
    return Error::success();
106
38
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::BitFieldRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BitFieldRecord&)
Line
Count
Source
100
18
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
36
    for (auto Visitor : Pipeline) {
102
36
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
36
    }
105
18
    return Error::success();
106
18
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::FuncIdRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::FuncIdRecord&)
Line
Count
Source
100
474
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
948
    for (auto Visitor : Pipeline) {
102
948
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
948
    }
105
474
    return Error::success();
106
474
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::MemberFuncIdRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MemberFuncIdRecord&)
Line
Count
Source
100
106
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
212
    for (auto Visitor : Pipeline) {
102
212
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
212
    }
105
106
    return Error::success();
106
106
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::BuildInfoRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::BuildInfoRecord&)
Line
Count
Source
100
266
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
532
    for (auto Visitor : Pipeline) {
102
532
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
532
    }
105
266
    return Error::success();
106
266
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::StringListRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringListRecord&)
Line
Count
Source
100
48
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
96
    for (auto Visitor : Pipeline) {
102
96
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
96
    }
105
48
    return Error::success();
106
48
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::StringIdRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::StringIdRecord&)
Line
Count
Source
100
1.05k
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
2.10k
    for (auto Visitor : Pipeline) {
102
2.10k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
2.10k
    }
105
1.05k
    return Error::success();
106
1.05k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::UdtSourceLineRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtSourceLineRecord&)
Line
Count
Source
100
555
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
1.11k
    for (auto Visitor : Pipeline) {
102
1.11k
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
1.11k
    }
105
555
    return Error::success();
106
555
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::UdtModSourceLineRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::UdtModSourceLineRecord&)
Line
Count
Source
100
8
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
16
    for (auto Visitor : Pipeline) {
102
16
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
16
    }
105
8
    return Error::success();
106
8
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::MethodOverloadListRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::MethodOverloadListRecord&)
Line
Count
Source
100
325
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
650
    for (auto Visitor : Pipeline) {
102
650
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
650
    }
105
325
    return Error::success();
106
325
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::PrecompRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::PrecompRecord&)
Line
Count
Source
100
2
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
4
    for (auto Visitor : Pipeline) {
102
4
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
4
    }
105
2
    return Error::success();
106
2
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownRecordImpl<llvm::codeview::EndPrecompRecord>(llvm::codeview::CVRecord<llvm::codeview::TypeLeafKind>&, llvm::codeview::EndPrecompRecord&)
Line
Count
Source
100
2
  template <typename T> Error visitKnownRecordImpl(CVType &CVR, T &Record) {
101
4
    for (auto Visitor : Pipeline) {
102
4
      if (auto EC = Visitor->visitKnownRecord(CVR, Record))
103
0
        return EC;
104
4
    }
105
2
    return Error::success();
106
2
  }
107
108
  template <typename T>
109
10.2k
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
20.4k
    for (auto Visitor : Pipeline) {
111
20.4k
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
20.4k
    }
114
10.2k
    return Error::success();
115
10.2k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::BaseClassRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::BaseClassRecord&)
Line
Count
Source
109
27
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
54
    for (auto Visitor : Pipeline) {
111
54
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
54
    }
114
27
    return Error::success();
115
27
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::VirtualBaseClassRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::VirtualBaseClassRecord&)
Line
Count
Source
109
21
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
42
    for (auto Visitor : Pipeline) {
111
42
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
42
    }
114
21
    return Error::success();
115
21
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::VFPtrRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::VFPtrRecord&)
Line
Count
Source
109
19
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
38
    for (auto Visitor : Pipeline) {
111
38
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
38
    }
114
19
    return Error::success();
115
19
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::StaticDataMemberRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::StaticDataMemberRecord&)
Line
Count
Source
109
194
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
388
    for (auto Visitor : Pipeline) {
111
388
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
388
    }
114
194
    return Error::success();
115
194
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::OverloadedMethodRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::OverloadedMethodRecord&)
Line
Count
Source
109
317
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
634
    for (auto Visitor : Pipeline) {
111
634
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
634
    }
114
317
    return Error::success();
115
317
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::DataMemberRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::DataMemberRecord&)
Line
Count
Source
109
1.64k
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
3.29k
    for (auto Visitor : Pipeline) {
111
3.29k
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
3.29k
    }
114
1.64k
    return Error::success();
115
1.64k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::NestedTypeRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::NestedTypeRecord&)
Line
Count
Source
109
207
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
414
    for (auto Visitor : Pipeline) {
111
414
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
414
    }
114
207
    return Error::success();
115
207
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::OneMethodRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::OneMethodRecord&)
Line
Count
Source
109
609
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
1.21k
    for (auto Visitor : Pipeline) {
111
1.21k
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
1.21k
    }
114
609
    return Error::success();
115
609
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::EnumeratorRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::EnumeratorRecord&)
Line
Count
Source
109
7.15k
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
14.3k
    for (auto Visitor : Pipeline) {
111
14.3k
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
14.3k
    }
114
7.15k
    return Error::success();
115
7.15k
  }
llvm::Error llvm::codeview::TypeVisitorCallbackPipeline::visitKnownMemberImpl<llvm::codeview::ListContinuationRecord>(llvm::codeview::CVMemberRecord&, llvm::codeview::ListContinuationRecord&)
Line
Count
Source
109
4
  Error visitKnownMemberImpl(CVMemberRecord &CVMR, T &Record) {
110
8
    for (auto Visitor : Pipeline) {
111
8
      if (auto EC = Visitor->visitKnownMember(CVMR, Record))
112
0
        return EC;
113
8
    }
114
4
    return Error::success();
115
4
  }
116
  std::vector<TypeVisitorCallbacks *> Pipeline;
117
};
118
119
} // end namespace codeview
120
} // end namespace llvm
121
122
#endif // LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKPIPELINE_H