clang
20.0.0git
include
clang
ExtractAPI
TypedefUnderlyingTypeResolver.h
Go to the documentation of this file.
1
//===- ExtractAPI/TypedefUnderlyingTypeResolver.h ---------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
///
9
/// \file
10
/// This file defines the UnderlyingTypeResolver which is a helper type for
11
/// resolving the undelrying type for a given QualType and exposing that
12
/// information in various forms.
13
///
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H
17
#define LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H
18
19
#include "
clang/AST/ASTContext.h
"
20
#include "
clang/AST/Decl.h
"
21
#include "
clang/ExtractAPI/API.h
"
22
23
#include <string>
24
25
namespace
clang
{
26
namespace
extractapi {
27
28
struct
TypedefUnderlyingTypeResolver
{
29
/// Gets the underlying type declaration.
30
const
NamedDecl
*
getUnderlyingTypeDecl
(
QualType
Type
)
const
;
31
32
/// Get a SymbolReference for the given type.
33
SymbolReference
getSymbolReferenceForType
(
QualType
Type
,
APISet
&API)
const
;
34
35
/// Get a USR for the given type.
36
std::string
getUSRForType
(
QualType
Type
)
const
;
37
38
explicit
TypedefUnderlyingTypeResolver
(
ASTContext
&Context)
39
: Context(Context) {}
40
41
private
:
42
ASTContext
&Context;
43
};
44
45
}
// namespace extractapi
46
}
// namespace clang
47
48
#endif
// LLVM_CLANG_UNDERLYING_TYPE_RESOLVER_H
API.h
This file defines the APIRecord-based structs and the APISet class.
ASTContext.h
Defines the clang::ASTContext interface.
Decl.h
clang::ASTContext
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition:
ASTContext.h:188
clang::NamedDecl
This represents a decl that may have a name.
Definition:
Decl.h:253
clang::QualType
A (possibly-)qualified type.
Definition:
Type.h:929
clang::Type
The base class of the type hierarchy.
Definition:
Type.h:1828
clang::extractapi::APISet
APISet holds the set of API records collected from given inputs.
Definition:
API.h:1427
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition:
CalledOnceCheck.h:17
clang::extractapi::SymbolReference
sources.
Definition:
API.h:157
clang::extractapi::TypedefUnderlyingTypeResolver
Definition:
TypedefUnderlyingTypeResolver.h:28
clang::extractapi::TypedefUnderlyingTypeResolver::getSymbolReferenceForType
SymbolReference getSymbolReferenceForType(QualType Type, APISet &API) const
Get a SymbolReference for the given type.
Definition:
TypedefUnderlyingTypeResolver.cpp:48
clang::extractapi::TypedefUnderlyingTypeResolver::TypedefUnderlyingTypeResolver
TypedefUnderlyingTypeResolver(ASTContext &Context)
Definition:
TypedefUnderlyingTypeResolver.h:38
clang::extractapi::TypedefUnderlyingTypeResolver::getUSRForType
std::string getUSRForType(QualType Type) const
Get a USR for the given type.
Definition:
TypedefUnderlyingTypeResolver.cpp:70
clang::extractapi::TypedefUnderlyingTypeResolver::getUnderlyingTypeDecl
const NamedDecl * getUnderlyingTypeDecl(QualType Type) const
Gets the underlying type declaration.
Definition:
TypedefUnderlyingTypeResolver.cpp:22
Generated on Thu Dec 19 2024 18:44:20 for clang by
1.9.6