|
Doxygen
|
Public Member Functions | |
| Private (const FileDef *f) | |
| void | reset () |
| void | setFileScope (const FileDef *fileScope) |
| const FileDef * | fileScope () const |
| const ClassDef * | getResolvedTypeRec (VisitedKeys &visitedKeys, const Definition *scope, const QCString &n, const MemberDef **pTypeDef, QCString *pTemplSpec, QCString *pResolvedType) |
| const Definition * | getResolvedSymbolRec (VisitedKeys &visitedKeys, const Definition *scope, const QCString &n, const QCString &args, bool checkCV, bool insideCode, bool onlyLinkable, const MemberDef **pTypeDef, QCString *pTemplSpec, QCString *pResolvedType) |
| int | isAccessibleFrom (VisitedKeys &visitedKeys, AccessStack &accessStack, const Definition *scope, const Definition *item) |
| int | isAccessibleFromWithExpScope (VisitedKeys &visitedKeys, VisitedNamespaces &visitedNamespaces, AccessStack &accessStack, const Definition *scope, const Definition *item, const QCString &explicitScopePart) |
Public Attributes | |
| QCString | resolvedType |
| const MemberDef * | typeDef = nullptr |
| QCString | templateSpec |
Private Member Functions | |
| void | getResolvedType (VisitedKeys &visitedKeys, const Definition *scope, const Definition *d, const QCString &explicitScopePart, const ArgumentList *actTemplParams, int &minDistance, const ClassDef *&bestMatch, const MemberDef *&bestTypedef, QCString &bestTemplSpec, QCString &bestResolvedType) |
| void | getResolvedSymbol (VisitedKeys &visitedKeys, const Definition *scope, const Definition *d, const QCString &args, bool checkCV, bool insideCode, const QCString &explicitScopePart, const QCString &strippedTemplateParams, bool forceCallable, int &minDistance, const Definition *&bestMatch, const MemberDef *&bestTypedef, QCString &bestTemplSpec, QCString &bestResolvedType) |
| const ClassDef * | newResolveTypedef (VisitedKeys &visitedKeys, const Definition *scope, const MemberDef *md, const MemberDef **pMemType, QCString *pTemplSpec, QCString *pResolvedType, const ArgumentList *actTemplParams=nullptr) |
| const Definition * | followPath (VisitedKeys &visitedKeys, const Definition *start, const QCString &path) |
| const Definition * | endOfPathIsUsedClass (const LinkedRefMap< const Definition > &dl, const QCString &localName) |
| bool | accessibleViaUsingNamespace (VisitedKeys &visitedKeys, VisitedNamespaceKeys &visitedNamespaces, const LinkedRefMap< NamespaceDef > &nl, const Definition *item, const QCString &explicitScopePart="", int level=0) |
| bool | accessibleViaUsingDefinition (VisitedKeys &visitedKeys, const LinkedRefMap< const Definition > &dl, const Definition *item, const QCString &explicitScopePart="") |
| QCString | substTypedef (VisitedKeys &visitedKeys, const Definition *scope, const QCString &name, const MemberDef **pTypeDef=nullptr) |
Private Attributes | |
| const FileDef * | m_fileScope |
| std::unordered_map< std::string, const MemberDef * > | m_resolvedTypedefs |
Definition at line 112 of file symbolresolver.cpp.
|
inline |
|
private |
Definition at line 1359 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, followPath(), QCString::isEmpty(), and Definition::name().
Referenced by isAccessibleFrom().
|
private |
Definition at line 1321 of file symbolresolver.cpp.
References accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, followPath(), Definition::getLanguage(), Definition::getOuterScope(), QCString::isEmpty(), Definition::name(), and QCString::str().
Referenced by accessibleViaUsingNamespace(), isAccessibleFrom(), and isAccessibleFromWithExpScope().
|
private |
Definition at line 1309 of file symbolresolver.cpp.
Referenced by followPath().
|
inline |
Definition at line 127 of file symbolresolver.cpp.
References m_fileScope.
Referenced by setFileScope().
|
private |
Definition at line 1204 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Definition::definitionType(), endOfPathIsUsedClass(), Definition::findInnerCompound(), ClassDef::getMemberByName(), NamespaceDef::getMemberByName(), Definition::getOuterScope(), getScopeFragment(), Doxygen::globalScope, MemberDef::isEnumerate(), m_fileScope, QCString::mid(), Definition::name(), newResolveTypedef(), QCString::startsWith(), substTypedef(), Doxygen::symbolMap, toClassDef(), toFileDef(), toNamespaceDef(), Definition::TypeClass, Definition::TypeFile, Definition::TypeMember, and Definition::TypeNamespace.
Referenced by accessibleViaUsingDefinition(), accessibleViaUsingNamespace(), and isAccessibleFromWithExpScope().
|
private |
Definition at line 764 of file symbolresolver.cpp.
References argListToString(), MemberDef::argumentList(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, QCString::clear(), Definition::definitionType(), MemberDef::formalTemplateArguments(), MemberDef::getFileDef(), Definition::getLanguage(), Definition::getOuterScope(), Doxygen::globalScope, SymbolResolver::isAccessibleFromWithExpScope(), Definition::isArtificial(), MemberDef::isCallable(), QCString::isEmpty(), ClassDef::isTemplateArgument(), m_fileScope, matchArguments2(), Definition::name(), Definition::qualifiedName(), stringToArgumentList(), substituteTemplateArgumentsInString(), toClassDef(), toMemberDef(), Definition::TypeClass, Definition::TypeFile, Definition::TypeMember, Definition::TypeModule, Definition::TypeNamespace, and MemberDef::typeString().
Referenced by getResolvedSymbolRec().
| const Definition * SymbolResolver::Private::getResolvedSymbolRec | ( | VisitedKeys & | visitedKeys, |
| const Definition * | scope, | ||
| const QCString & | n, | ||
| const QCString & | args, | ||
| bool | checkCV, | ||
| bool | insideCode, | ||
| bool | onlyLinkable, | ||
| const MemberDef ** | pTypeDef, | ||
| QCString * | pTemplSpec, | ||
| QCString * | pResolvedType ) |
Definition at line 391 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, computeQualifiedIndex(), LookupInfo::definition, QCString::find(), g_cacheMutex, MemberDef::getEnumScope(), Definition::getLanguage(), getResolvedSymbol(), Doxygen::globalScope, isCodeSymbol(), QCString::isEmpty(), MemberDef::isEnumValue(), MemberDef::isStrong(), QCString::left(), QCString::length(), m_fileScope, QCString::mid(), Definition::name(), replaceNamespaceAliases(), LookupInfo::resolvedType, QCString::size(), QCString::str(), stringToArgumentList(), stripTemplateSpecifiersFromScope(), Doxygen::symbolLookupCache, Doxygen::symbolMap, LookupInfo::templSpec, toFileDef(), TRUE, LookupInfo::typeDef, Definition::TypeFile, and Definition::TypeMember.
|
private |
Definition at line 599 of file symbolresolver.cpp.
References MemberDef::argsString(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, QCString::clear(), Definition::definitionType(), Definition::getOuterScope(), Doxygen::globalScope, SymbolResolver::isAccessibleFromWithExpScope(), QCString::isEmpty(), MemberDef::isEnumerate(), Definition::isReference(), ClassDef::isTemplateArgument(), MemberDef::isTypedef(), m_fileScope, Definition::name(), newResolveTypedef(), Definition::qualifiedName(), toClassDef(), toMemberDef(), Definition::TypeClass, Definition::TypeMember, and Definition::TypeNamespace.
| const ClassDef * SymbolResolver::Private::getResolvedTypeRec | ( | VisitedKeys & | visitedKeys, |
| const Definition * | scope, | ||
| const QCString & | n, | ||
| const MemberDef ** | pTypeDef, | ||
| QCString * | pTemplSpec, | ||
| QCString * | pResolvedType ) |
Definition at line 231 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, computeQualifiedIndex(), QCString::data(), LookupInfo::definition, QCString::ExplicitSize, g_cacheMutex, Definition::getLanguage(), SymbolResolver::getResolvedType(), Doxygen::globalScope, isCodeSymbol(), QCString::isEmpty(), QCString::left(), QCString::length(), m_fileScope, QCString::mid(), Definition::name(), qstrcpy(), QCString::rawData(), replaceNamespaceAliases(), LookupInfo::resolvedType, QCString::str(), stringToArgumentList(), stripTemplateSpecifiersFromScope(), Doxygen::symbolMap, LookupInfo::templSpec, toClassDef(), TRUE, LookupInfo::typeDef, and Doxygen::typeLookupCache.
Referenced by newResolveTypedef().
| int SymbolResolver::Private::isAccessibleFrom | ( | VisitedKeys & | visitedKeys, |
| AccessStack & | accessStack, | ||
| const Definition * | scope, | ||
| const Definition * | item ) |
Definition at line 1379 of file symbolresolver.cpp.
References accessibleViaUsingDefinition(), accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Definition::definitionType(), AccessStack::find(), MemberDef::getEnumScope(), ClassDef::getFileDef(), MemberDef::getFileDef(), Definition::getOuterScope(), FileDef::getUsedDefinitions(), NamespaceDef::getUsedDefinitions(), FileDef::getUsedNamespaces(), NamespaceDef::getUsedNamespaces(), Doxygen::globalScope, SymbolResolver::isAccessibleFrom(), MemberDef::isEnumerate(), MemberDef::isStrongEnumValue(), m_fileScope, Definition::name(), AccessStack::pop(), AccessStack::push(), QCString::startsWith(), toClassDef(), toFileDef(), toMemberDef(), toNamespaceDef(), TRUE, Definition::TypeClass, Definition::TypeFile, Definition::TypeMember, and Definition::TypeNamespace.
| int SymbolResolver::Private::isAccessibleFromWithExpScope | ( | VisitedKeys & | visitedKeys, |
| VisitedNamespaces & | visitedNamespaces, | ||
| AccessStack & | accessStack, | ||
| const Definition * | scope, | ||
| const Definition * | item, | ||
| const QCString & | explicitScopePart ) |
Definition at line 1048 of file symbolresolver.cpp.
References accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Definition::definitionType(), AccessStack::find(), followPath(), MemberDef::getEnumScope(), Definition::getOuterScope(), NamespaceDef::getUsedDefinitions(), NamespaceDef::getUsedNamespaces(), Doxygen::globalScope, SymbolResolver::isAccessibleFrom(), SymbolResolver::isAccessibleFromWithExpScope(), QCString::isEmpty(), MemberDef::isEnumValue(), m_fileScope, Definition::name(), AccessStack::pop(), AccessStack::push(), QCString::str(), toClassDef(), toMemberDef(), toNamespaceDef(), TRUE, Definition::TypeClass, Definition::TypeMember, and Definition::TypeNamespace.
|
private |
Definition at line 901 of file symbolresolver.cpp.
References QCString::append(), QCString::at(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, MemberDefMutable::cacheTypedefVal(), Definition::definitionType(), ArgumentList::empty(), FALSE, QCString::find(), QCString::findRev(), g_cacheTypedefMutex, MemberDef::getCachedResolvedTypedef(), MemberDef::getCachedTypedefTemplSpec(), MemberDef::getCachedTypedefVal(), MemberDef::getClassDef(), Definition::getDefFileName(), Definition::getOuterScope(), getResolvedTypeRec(), MemberDef::isEnumerate(), ClassDef::isTemplate(), MemberDef::isTypedef(), MemberDef::isTypedefValCached(), QCString::left(), QCString::length(), m_fileScope, m_resolvedTypedefs, QCString::mid(), Definition::name(), newResolveTypedef(), QCString::prepend(), Definition::qualifiedName(), QCString::right(), QCString::str(), QCString::stripPrefix(), stripTemplateSpecifiersFromScope(), substituteTemplateArgumentsInString(), ClassDef::templateArguments(), toMemberDefMutable(), Definition::TypeClass, and MemberDef::typeString().
Referenced by followPath(), getResolvedType(), and newResolveTypedef().
|
inline |
Definition at line 116 of file symbolresolver.cpp.
References m_resolvedTypedefs, resolvedType, templateSpec, and typeDef.
|
inline |
Definition at line 123 of file symbolresolver.cpp.
References fileScope(), and m_fileScope.
|
private |
Definition at line 1547 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, g_substMap, g_substMapMutex, SymbolResolver::isAccessibleFromWithExpScope(), QCString::isEmpty(), MemberDef::isTypedef(), QCString::length(), Definition::name(), qsnprintf, QCString::str(), Doxygen::symbolMap, toMemberDef(), Definition::TypeMember, and MemberDef::typeString().
Referenced by followPath().
|
private |
Definition at line 225 of file symbolresolver.cpp.
Referenced by fileScope(), followPath(), getResolvedSymbol(), getResolvedSymbolRec(), getResolvedType(), getResolvedTypeRec(), isAccessibleFrom(), isAccessibleFromWithExpScope(), newResolveTypedef(), Private(), and setFileScope().
|
private |
Definition at line 226 of file symbolresolver.cpp.
Referenced by newResolveTypedef(), and reset().
| QCString SymbolResolver::Private::resolvedType |
Definition at line 129 of file symbolresolver.cpp.
Referenced by reset().
| QCString SymbolResolver::Private::templateSpec |
Definition at line 131 of file symbolresolver.cpp.
Referenced by reset().
| const MemberDef* SymbolResolver::Private::typeDef = nullptr |
Definition at line 130 of file symbolresolver.cpp.
Referenced by reset().