Line data Source code
1 : //===- TypeServerHandler.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_TYPESERVERHANDLER_H
11 : #define LLVM_DEBUGINFO_CODEVIEW_TYPESERVERHANDLER_H
12 :
13 : #include "llvm/Support/Error.h"
14 :
15 : namespace llvm {
16 : namespace codeview {
17 :
18 : class TypeServer2Record;
19 : class TypeVisitorCallbacks;
20 :
21 : class TypeServerHandler {
22 : public:
23 : virtual ~TypeServerHandler() = default;
24 :
25 : /// Handle a TypeServer record. If the implementation returns true
26 : /// the record will not be processed by the top-level visitor. If
27 : /// it returns false, it will be processed. If it returns an Error,
28 : /// then the top-level visitor will fail.
29 0 : virtual Expected<bool> handle(TypeServer2Record &TS,
30 : TypeVisitorCallbacks &Callbacks) {
31 0 : return false;
32 : }
33 : };
34 :
35 : } // end namespace codeview
36 : } // end namespace llvm
37 :
38 : #endif // LLVM_DEBUGINFO_CODEVIEW_TYPESERVERHANDLER_H
|