diff options
Diffstat (limited to 'clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h')
| -rw-r--r-- | clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h b/clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h new file mode 100644 index 000000000000..0096ff235914 --- /dev/null +++ b/clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h @@ -0,0 +1,46 @@ +//===- ExtractAPI/TypedefUnderlyingTypeResolver.h ---------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +/// +/// \file +/// This file defines the UnderlyingTypeResolver which is a helper type for +/// resolving the undelrying type for a given QualType and exposing that +/// information in various forms. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H +#define LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H + +#include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/ExtractAPI/API.h" + +#include <string> + +namespace clang { +namespace extractapi { + +struct TypedefUnderlyingTypeResolver { + + /// Get a SymbolReference for the given type. + SymbolReference getSymbolReferenceForType(QualType Type, APISet &API) const; + + /// Get a USR for the given type. + std::string getUSRForType(QualType Type) const; + + explicit TypedefUnderlyingTypeResolver(ASTContext &Context) + : Context(Context) {} + +private: + ASTContext &Context; +}; + +} // namespace extractapi +} // namespace clang + +#endif // LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H |
