clang 8.0.0

Public Member Functions | List of all members
clang::LinkageComputer Class Reference

`#include "/work/www-prereleases/8.0.0/rc2/builddocs/llvm.src/tools/clang/lib/AST/Linkage.h"`

## Public Member Functions
LinkageInfo | computeLVForDecl (const NamedDecl *D, LVComputationKind computation, bool IgnoreVarTypeLinkage=false)
LinkageInfo | getLVForDecl (const NamedDecl *D, LVComputationKind computation)
| getLVForDecl - Get the linkage and visibility for the given declaration. More...
LinkageInfo | computeTypeLinkageInfo (const Type *T)
LinkageInfo | computeTypeLinkageInfo (QualType T)
LinkageInfo | getDeclLinkageAndVisibility (const NamedDecl *D)
LinkageInfo | getTypeLinkageAndVisibility (const Type *T)
LinkageInfo | getTypeLinkageAndVisibility (QualType T)

## Detailed Description

Definition at line 74 of file Linkage.h.

## Member Function Documentation

## ◆ computeLVForDecl()

LinkageInfo LinkageComputer::computeLVForDecl | ( | const NamedDecl * | D,
|  | LVComputationKind | computation,
|  | bool | IgnoreVarTypeLinkage = `false`
| ) |  |

Definition at line 1306 of file Decl.cpp.

References clang::Decl::getASTContext(), clang::Decl::getDeclContext(), getExternalLinkageFor(), getInternalLinkageFor(), clang::Decl::getKind(), clang::CXXRecordDecl::getLambdaContextDecl(), clang::CXXRecordDecl::getLambdaManglingNumber(), clang::ASTContext::getLangOpts(), getOutermostEnclosingLambda(), clang::DeclContext::getRedeclContext(), clang::Decl::hasAttr(), clang::DeclContext::isFileContext(), clang::DeclContext::isFunctionOrMethod(), clang::DeclContext::isRecord(), Label, clang::LinkageInfo::none(), and clang::LinkageInfo::visible_none().

Referenced by clang::NamedDecl::isLinkageValid().

## ◆ computeTypeLinkageInfo() [1/2]

LinkageInfo LinkageComputer::computeTypeLinkageInfo | ( | const Type * | T | ) |

Definition at line 3599 of file Type.cpp.

References clang::Auto, clang::LinkageInfo::external(), clang::TagType::getDecl(), clang::Type::getPointeeType(), clang::Type::getTypeClass(), clang::Type::isInstantiationDependentType(), and clang::LinkageInfo::merge().

Referenced by clang::Type::isLinkageValid().

## ◆ computeTypeLinkageInfo() [2/2]

LinkageInfo clang::LinkageComputer::computeTypeLinkageInfo | ( | QualType | T | ) |
| inline

Definition at line 151 of file Linkage.h.

References clang::QualType::getTypePtr().

## ◆ getDeclLinkageAndVisibility()

LinkageInfo LinkageComputer::getDeclLinkageAndVisibility | ( | const NamedDecl * | D | ) |

Definition at line 1474 of file Decl.cpp.

References usesTypeVisibility(), clang::NamedDecl::VisibilityForType, and clang::NamedDecl::VisibilityForValue.

Referenced by clang::NamedDecl::getLinkageAndVisibility().

## ◆ getLVForDecl()

LinkageInfo LinkageComputer::getLVForDecl | ( | const NamedDecl * | D,
|  | LVComputationKind | computation
| ) |  |

getLVForDecl - Get the linkage and visibility for the given declaration.

Definition at line 1428 of file Decl.cpp.

References clang::DefaultVisibility, clang::Decl::getASTContext(), clang::Decl::getCachedLinkage(), getInternalLinkageFor(), clang::ASTContext::getLangOpts(), clang::LinkageInfo::getLinkage(), clang::Decl::hasAttr(), clang::Decl::hasCachedLinkage(), clang::LVComputationKind::IgnoreAllVisibility, clang::Decl::redecls(), and clang::Decl::setCachedLinkage().

Referenced by clang::NamedDecl::getLinkageInternal().

## ◆ getTypeLinkageAndVisibility() [1/2]

LinkageInfo LinkageComputer::getTypeLinkageAndVisibility | ( | const Type * | T | ) |

Definition at line 3682 of file Type.cpp.

References clang::Type::getCanonicalTypeInternal(), clang::LinkageInfo::getLinkage(), clang::Type::getLinkage(), and clang::Type::isCanonicalUnqualified().

Referenced by clang::Type::getLinkageAndVisibility().

## ◆ getTypeLinkageAndVisibility() [2/2]

LinkageInfo clang::LinkageComputer::getTypeLinkageAndVisibility | ( | QualType | T | ) |
| inline

Definition at line 158 of file Linkage.h.

References clang::QualType::getTypePtr().

The documentation for this class was generated from the following files:

- lib/AST/Linkage.h
- lib/AST/Decl.cpp
- lib/AST/Type.cpp