Doxygen
|
#include <memory>
#include <vector>
#include <unordered_set>
#include "containers.h"
#include "definition.h"
#include "arguments.h"
#include "membergroup.h"
#include "configvalues.h"
Go to the source code of this file.
Classes | |
struct | BaseClassDef |
Class that contains information about an inheritance relation. More... | |
struct | TemplateInstanceDef |
Class that contains information about a template instance relation. More... | |
class | ClassDef |
A abstract class representing of a compound symbol. More... | |
class | ClassDefMutable |
struct | UsesClassDef |
Class that contains information about a usage relation. More... | |
class | UsesClassList |
struct | ConstraintClassDef |
Class that contains information about a type constraint relations. More... | |
class | ConstraintClassList |
Typedefs | |
using | BaseClassList = std::vector<BaseClassDef> |
using | TemplateInstanceList = std::vector<TemplateInstanceDef> |
using | TemplateNameMap = std::map<std::string,int> |
using | ClassDefSet = std::unordered_set<const ClassDef*> |
using BaseClassList = std::vector<BaseClassDef> |
Definition at line 81 of file classdef.h.
using ClassDefSet = std::unordered_set<const ClassDef*> |
Definition at line 95 of file classdef.h.
using TemplateInstanceList = std::vector<TemplateInstanceDef> |
Definition at line 91 of file classdef.h.
using TemplateNameMap = std::map<std::string,int> |
Definition at line 93 of file classdef.h.
bool classHasVisibleChildren | ( | const ClassDef * | cd | ) |
Definition at line 5488 of file classdef.cpp.
References ClassDef::baseClasses(), FALSE, Definition::getLanguage(), ClassDef::subClasses(), and TRUE.
Referenced by writeClassTreeForList(), and writeClassTreeToOutput().
bool classHasVisibleRoot | ( | const BaseClassList & | bcl | ) |
Definition at line 5477 of file classdef.cpp.
References ClassDef::baseClasses(), classHasVisibleRoot(), and ClassDef::isVisibleInHierarchy().
Referenced by DotGfxHierarchyTable::addClassList(), DotGfxHierarchyTable::addHierarchy(), classHasVisibleRoot(), countClassesInTreeList(), writeClassTreeForList(), and writeClassTreeToOutput().
Protection classInheritedProtectionLevel | ( | const ClassDef * | cd, |
const ClassDef * | bcd, | ||
Protection | prot = Protection::Public, | ||
int | level = 0 ) |
Definition at line 5547 of file classdef.cpp.
References ClassDef::baseClasses(), ClassDef::categoryOf(), classInheritedProtectionLevel(), err, and Definition::name().
Referenced by classInheritedProtectionLevel().
bool classVisibleInIndex | ( | const ClassDef * | cd | ) |
Definition at line 5513 of file classdef.cpp.
References Config_getBool, Definition::isLinkable(), and Definition::isLinkableInProject().
Referenced by writeClassTree().
std::unique_ptr< ClassDef > createClassDef | ( | const QCString & | fileName, |
int | startLine, | ||
int | startColumn, | ||
const QCString & | name, | ||
ClassDef::CompoundType | ct, | ||
const QCString & | ref = QCString(), | ||
const QCString & | fName = QCString(), | ||
bool | isSymbol = TRUE, | ||
bool | isJavaEnum = FALSE ) |
Factory method to create a new ClassDef object.
Definition at line 559 of file classdef.cpp.
Referenced by addClassToContext(), createTagLessInstance(), findClassRelation(), findUsedClassesForClass(), findUsingDeclarations(), and ClassDefMutable::sortAllMembersList().
std::unique_ptr< ClassDef > createClassDefAlias | ( | const Definition * | newScope, |
const ClassDef * | cd ) |
Definition at line 788 of file classdef.cpp.
Referenced by ClassDefAliasImpl::deepCopy(), findUsingDeclImports(), resolveClassNestingRelations(), and ClassDefMutable::sortAllMembersList().
Get a class definition given its name. Returns nullptr if the class is not found.
Definition at line 5471 of file classdef.cpp.
References Doxygen::classLinkedMap, and QCString::isEmpty().
Referenced by addVariable(), buildScopeFromQualifiedName(), extractNamespaceName(), findClassWithinClassContext(), findEnumDocumentation(), findEnums(), findMember(), findUsingDeclarations(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateMemberLink(), MemberDefImpl::getClassDefOfAnonymousType(), getClassMutable(), getScopeDefs(), getTemplateArgumentsFromName(), DocParser::handleLinkedWord(), if(), insertTemplateSpecifierInScope(), MemberDefImpl::isDocumentedFriendClass(), SymbolResolver::resolveClass(), resolveLink(), resolveRef(), setCallContextForVar(), ClassDefMutable::sortAllMembersList(), stripTemplateSpecifiersFromScope(), and MemberDefImpl::writeDeclaration().
|
inline |
Definition at line 469 of file classdef.h.
References getClass(), getClassMutable(), and toClassDefMutable().
Referenced by addClassToContext(), addEnumValuesToEnums(), addLocalObjCMethod(), addVariable(), addVariableToFile(), buildFunctionList(), buildInterfaceAndServiceList(), buildTypedefList(), computeClassRelations(), computeTemplateClassRelations(), findClassRelation(), findEnums(), findInheritedTemplateInstances(), findMember(), findUsedTemplateInstances(), findUsingDeclImports(), getClassMutable(), and makeTemplateInstanceRelation().
Definition at line 5523 of file classdef.cpp.
References ClassDef::baseClasses(), ClassDef::categoryOf(), maxInheritanceDepth, minClassDistance(), Definition::name(), and warn_uncond.
Referenced by getDefsOld(), ClassDefImpl::getMemberByName(), and minClassDistance().
const ClassDef * toClassDef | ( | const Definition * | d | ) |
Definition at line 5442 of file classdef.cpp.
ClassDef * toClassDef | ( | Definition * | d | ) |
Definition at line 5417 of file classdef.cpp.
Referenced by DocSets::addIndexItem(), ClassDefImpl::addInnerCompound(), NamespaceDefImpl::addInnerCompound(), MemberDefImpl::addListReference(), definitionToName(), findMemberLink(), findModuleDef(), findUsingDeclImports(), SymbolResolver::Private::followPath(), generateClassMemberLink(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), FTVHelp::Private::generateTree(), ClassDefAliasImpl::getCdAlias(), getDefsNew(), SymbolResolver::Private::getResolvedSymbol(), SymbolResolver::Private::getResolvedType(), SymbolResolver::Private::getResolvedTypeRec(), ClassDefImpl::getTemplateParameterLists(), SymbolResolver::Private::isAccessibleFrom(), SymbolResolver::Private::isAccessibleFromWithExpScope(), makeQualifiedNameWithTemplateParameters(), MemberDefImpl::moveTo(), DefinitionImpl::navigationPathAsString(), scopeIsTemplate(), searchTemplateSpecs(), SearchIndex::setCurrentDoc(), ClassDefMutable::sortAllMembersList(), updateCallContextForSmartPointer(), writeDefArgumentList(), writeJavasScriptSearchDataPage(), MemberDefImpl::writeMemberDocSimple(), writeObjCMethodCall(), MemberList::writeSimpleDocumentation(), and VhdlDocGen::writeVHDLTypeDocumentation().
ClassDef * toClassDef | ( | DefinitionMutable * | d | ) |
Definition at line 5429 of file classdef.cpp.
References toDefinition().
ClassDefMutable * toClassDefMutable | ( | Definition * | d | ) |
Definition at line 5454 of file classdef.cpp.
Referenced by addClassAndNestedClasses(), addClassToContext(), addClassToGroups(), ModuleDefImpl::addClassToModule(), ModuleManager::addClassToModule(), addListReferences(), addMembersToMemberGroup(), ClassDefImpl::addMembersToTemplateInstance(), addMemberToGroups(), ClassDefImpl::addTypeConstraint(), buildCompleteMemberLists(), computeMemberReferences(), computeTemplateClassRelations(), VhdlDocGen::computeVhdlComponentRelations(), ClassDefImpl::countInheritedDecMembers(), countMembers(), createTagLessInstance(), createTemplateInstanceMembers(), ClassDefImpl::deepCopy(), distributeClassGroupRelations(), distributeMemberGroupDocumentation(), findClassRelation(), findSectionsInDocumentation(), findTagLessClasses(), findTemplateInstanceRelation(), findUsedClassesForClass(), findUsingDeclarations(), findUsingDeclImports(), generateClassDocs(), generateClassOrGlobalLink(), generateNamespaceClassDocs(), MemberDefImpl::getClassDefMutable(), getClassMutable(), ClassDefImpl::hideDerivedVariablesInPython(), insertMemberAlias(), ClassDefImpl::insertTemplateInstance(), ClassDefImpl::insertUsedFile(), ClassDefImpl::internalInsertMember(), mergeCategories(), ClassDefImpl::mergeCategory(), ClassDefImpl::mergeMembers(), ClassDefImpl::mergeMembersFromBaseClasses(), SymbolResolver::resolveClassMutable(), resolveClassNestingRelations(), setAnonymousEnumType(), ClassDefImpl::setGroupDefForAllMembers(), ClassDefMutable::sortAllMembersList(), sortMemberLists(), ClassDefImpl::writeInheritedMemberDeclarations(), and writeTagFile().