clang 20.0.0git
|
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include <algorithm>
#include <cassert>
#include <utility>
#include <vector>
Go to the source code of this file.
Functions | |
static bool | isOrdinaryMember (const NamedDecl *ND) |
static bool | findOrdinaryMember (const CXXRecordDecl *RD, CXXBasePath &Path, DeclarationName Name) |
static bool | findOrdinaryMemberInDependentClasses (const CXXBaseSpecifier *Specifier, CXXBasePath &Path, DeclarationName Name) |
static void | AddIndirectPrimaryBases (const CXXRecordDecl *RD, ASTContext &Context, CXXIndirectPrimaryBaseSet &Bases) |
|
static |
Definition at line 683 of file CXXInheritance.cpp.
References AddIndirectPrimaryBases(), clang::CXXRecordDecl::bases(), clang::ASTContext::getASTRecordLayout(), clang::CXXRecordDecl::getNumVBases(), clang::ASTRecordLayout::getPrimaryBase(), and clang::ASTRecordLayout::isPrimaryBaseVirtual().
Referenced by AddIndirectPrimaryBases(), and clang::CXXRecordDecl::getIndirectPrimaryBases().
|
static |
Definition at line 390 of file CXXInheritance.cpp.
References clang::DeclContextLookupResult::begin(), E, isOrdinaryMember(), clang::DeclContext::lookup(), and Path.
Referenced by findOrdinaryMemberInDependentClasses(), and clang::CXXRecordDecl::hasMemberName().
|
static |
Definition at line 415 of file CXXInheritance.cpp.
References findOrdinaryMember(), clang::TemplateName::getAsTemplateDecl(), clang::TemplateSpecializationType::getTemplateName(), Path, and Specifier.
Referenced by clang::CXXRecordDecl::lookupDependentName().
Definition at line 385 of file CXXInheritance.cpp.
References clang::Decl::IDNS_Member, clang::Decl::IDNS_Ordinary, clang::Decl::IDNS_Tag, and clang::Decl::isInIdentifierNamespace().
Referenced by findOrdinaryMember(), and clang::CXXRecordDecl::lookupDependentName().