|
Doxygen
|
Public Member Functions | |
| Private (const FileDef *f) | |
| void | reset () |
| void | setFileScope (const FileDef *fileScope) |
| const FileDef * | fileScope () const |
| const ClassDef * | getResolvedTypeRec (LookupCache &cache, VisitedKeys &visitedKeys, const Definition *scope, const DString &n, const MemberDef **pTypeDef, DString *pTemplSpec, DString *pResolvedType) |
| const Definition * | getResolvedSymbolRec (LookupCache &cache, VisitedKeys &visitedKeys, const Definition *scope, const DString &n, const DString &args, bool checkCV, bool insideCode, bool onlyLinkable, const MemberDef **pTypeDef, DString *pTemplSpec, DString *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 DString &explicitScopePart) |
Public Attributes | |
| DString | resolvedType |
| const MemberDef * | typeDef = nullptr |
| DString | templateSpec |
Private Member Functions | |
| void | getResolvedType (LookupCache &cache, VisitedKeys &visitedKeys, const Definition *scope, const Definition *d, const DString &explicitScopePart, const ArgumentList *actTemplParams, int &minDistance, const ClassDef *&bestMatch, const MemberDef *&bestTypedef, DString &bestTemplSpec, DString &bestResolvedType) |
| void | getResolvedSymbol (VisitedKeys &visitedKeys, const Definition *scope, const Definition *d, const DString &args, bool checkCV, bool insideCode, const DString &explicitScopePart, const DString &strippedTemplateParams, bool forceCallable, int &minDistance, const Definition *&bestMatch, const MemberDef *&bestTypedef, DString &bestTemplSpec, DString &bestResolvedType) |
| const ClassDef * | newResolveTypedef (LookupCache &cache, VisitedKeys &visitedKeys, const Definition *scope, const MemberDef *md, const MemberDef **pMemType, DString *pTemplSpec, DString *pResolvedType, const ArgumentList *actTemplParams=nullptr) |
| const Definition * | followPath (VisitedKeys &visitedKeys, const Definition *start, const DString &path) |
| const Definition * | endOfPathIsUsedClass (const LinkedRefMap< const Definition > &dl, const DString &localName) |
| bool | accessibleViaUsingNamespace (VisitedKeys &visitedKeys, VisitedNamespaceKeys &visitedNamespaces, const LinkedRefMap< NamespaceDef > &nl, const Definition *item, const DString &explicitScopePart="", int level=0) |
| bool | accessibleViaUsingDefinition (VisitedKeys &visitedKeys, const LinkedRefMap< const Definition > &dl, const Definition *item, const DString &explicitScopePart="") |
| DString | substTypedef (VisitedKeys &visitedKeys, const Definition *scope, const DString &name, const MemberDef **pTypeDef=nullptr) |
Private Attributes | |
| const FileDef * | m_fileScope |
| std::unordered_map< std::string, const MemberDef * > | m_resolvedTypedefs |
Definition at line 171 of file symbolresolver.cpp.
|
inline |
|
private |
Definition at line 1420 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, DString::empty(), followPath(), and Definition::name().
Referenced by isAccessibleFrom().
|
private |
Definition at line 1382 of file symbolresolver.cpp.
References accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, DString::empty(), followPath(), Definition::getLanguage(), Definition::getOuterScope(), Definition::name(), and DString::str().
Referenced by accessibleViaUsingNamespace(), isAccessibleFrom(), and isAccessibleFromWithExpScope().
|
private |
Definition at line 1370 of file symbolresolver.cpp.
Referenced by followPath().
|
inline |
Definition at line 186 of file symbolresolver.cpp.
References m_fileScope.
Referenced by setFileScope().
|
private |
Definition at line 1265 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Definition::definitionType(), endOfPathIsUsedClass(), SymbolMap< T >::find(), Definition::findInnerCompound(), ClassDef::getMemberByName(), NamespaceDef::getMemberByName(), Definition::getOuterScope(), getScopeFragment(), getTypeLookupCache(), Doxygen::globalScope, MemberDef::isEnumerate(), m_fileScope, DString::mid(), Definition::name(), newResolveTypedef(), DString::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 833 of file symbolresolver.cpp.
References argListToString(), MemberDef::argumentList(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, DString::clear(), Definition::definitionType(), DString::empty(), MemberDef::formalTemplateArguments(), MemberDef::getFileDef(), Definition::getLanguage(), Definition::getOuterScope(), Doxygen::globalScope, SymbolResolver::isAccessibleFromWithExpScope(), Definition::isArtificial(), MemberDef::isCallable(), 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 | ( | LookupCache & | cache, |
| VisitedKeys & | visitedKeys, | ||
| const Definition * | scope, | ||
| const DString & | n, | ||
| const DString & | args, | ||
| bool | checkCV, | ||
| bool | insideCode, | ||
| bool | onlyLinkable, | ||
| const MemberDef ** | pTypeDef, | ||
| DString * | pTemplSpec, | ||
| DString * | pResolvedType ) |
Definition at line 447 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, computeQualifiedIndex(), LookupInfo::definition, DString::empty(), Cache< K, V >::find(), DString::find(), SymbolMap< T >::find(), MemberDef::getClassDef(), MemberDef::getEnumScope(), MemberDef::getFileDef(), Definition::getLanguage(), getResolvedSymbol(), Doxygen::globalScope, Cache< K, V >::insert(), isCodeSymbol(), MemberDef::isEnumValue(), MemberDef::isStatic(), MemberDef::isStrong(), DString::left(), DString::length(), m_fileScope, DString::mid(), Definition::name(), DString::npos, replaceNamespaceAliases(), LookupInfo::resolvedType, DString::size(), DString::str(), stringToArgumentList(), stripTemplateSpecifiersFromScope(), Doxygen::symbolMap, LookupInfo::templSpec, toFileDef(), LookupInfo::typeDef, Definition::TypeFile, and Definition::TypeMember.
|
private |
Definition at line 667 of file symbolresolver.cpp.
References MemberDef::argsString(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, DString::clear(), Definition::definitionType(), DString::empty(), Definition::getOuterScope(), Doxygen::globalScope, SymbolResolver::isAccessibleFromWithExpScope(), 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 | ( | LookupCache & | cache, |
| VisitedKeys & | visitedKeys, | ||
| const Definition * | scope, | ||
| const DString & | n, | ||
| const MemberDef ** | pTypeDef, | ||
| DString * | pTemplSpec, | ||
| DString * | pResolvedType ) |
Definition at line 294 of file symbolresolver.cpp.
References FileDef::absFilePath(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, computeQualifiedIndex(), DString::data(), LookupInfo::definition, dstrcpy(), DString::empty(), LinkedRefMap< T, Hash, KeyEqual, Map >::empty(), DString::ExplicitSize, Cache< K, V >::find(), SymbolMap< T >::find(), Definition::getLanguage(), SymbolResolver::getResolvedType(), FileDef::getUsedDefinitions(), FileDef::getUsedNamespaces(), Doxygen::globalScope, Cache< K, V >::insert(), isCodeSymbol(), DString::left(), DString::length(), m_fileScope, DString::mid(), Definition::name(), DString::rawData(), replaceNamespaceAliases(), LookupInfo::resolvedType, DString::str(), stringToArgumentList(), stripTemplateSpecifiersFromScope(), Doxygen::symbolMap, LookupInfo::templSpec, toClassDef(), and LookupInfo::typeDef.
Referenced by newResolveTypedef().
| int SymbolResolver::Private::isAccessibleFrom | ( | VisitedKeys & | visitedKeys, |
| AccessStack & | accessStack, | ||
| const Definition * | scope, | ||
| const Definition * | item ) |
Definition at line 1440 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(), DString::startsWith(), toClassDef(), toFileDef(), toMemberDef(), toNamespaceDef(), 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 DString & | explicitScopePart ) |
Definition at line 1109 of file symbolresolver.cpp.
References accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Definition::definitionType(), DString::empty(), AccessStack::find(), followPath(), MemberDef::getEnumScope(), Definition::getOuterScope(), NamespaceDef::getUsedDefinitions(), NamespaceDef::getUsedNamespaces(), Doxygen::globalScope, SymbolResolver::isAccessibleFrom(), SymbolResolver::isAccessibleFromWithExpScope(), MemberDef::isEnumValue(), m_fileScope, Definition::name(), AccessStack::pop(), AccessStack::push(), DString::str(), toClassDef(), toMemberDef(), toNamespaceDef(), Definition::TypeClass, Definition::TypeMember, and Definition::TypeNamespace.
|
private |
Definition at line 970 of file symbolresolver.cpp.
References DString::append(), DString::at(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, MemberDefMutable::cacheTypedefVal(), Definition::definitionType(), ArgumentList::empty(), DString::find(), g_cacheTypedefMutex, MemberDef::getCachedResolvedTypedef(), MemberDef::getCachedTypedefTemplSpec(), MemberDef::getCachedTypedefVal(), MemberDef::getClassDef(), Definition::getDefFileName(), Definition::getOuterScope(), getResolvedTypeRec(), MemberDef::isEnumerate(), ClassDef::isTemplate(), MemberDef::isTypedef(), MemberDef::isTypedefValCached(), DString::left(), DString::length(), m_fileScope, m_resolvedTypedefs, DString::mid(), Definition::name(), newResolveTypedef(), DString::npos, DString::prepend(), Definition::qualifiedName(), DString::rfind(), DString::right(), DString::str(), DString::stripPrefix(), stripTemplateSpecifiersFromScope(), substituteTemplateArgumentsInString(), ClassDef::templateArguments(), toMemberDefMutable(), Definition::TypeClass, and MemberDef::typeString().
Referenced by followPath(), getResolvedType(), and newResolveTypedef().
|
inline |
Definition at line 175 of file symbolresolver.cpp.
References DString::clear(), m_resolvedTypedefs, resolvedType, templateSpec, and typeDef.
|
inline |
Definition at line 182 of file symbolresolver.cpp.
References fileScope(), and m_fileScope.
|
private |
Definition at line 1608 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, DString::empty(), SymbolMap< T >::find(), g_substMap, SymbolResolver::isAccessibleFromWithExpScope(), MemberDef::isTypedef(), DString::length(), Definition::name(), DString::str(), Doxygen::symbolMap, toMemberDef(), Definition::TypeMember, and MemberDef::typeString().
Referenced by followPath().
|
private |
Definition at line 288 of file symbolresolver.cpp.
Referenced by fileScope(), followPath(), getResolvedSymbol(), getResolvedSymbolRec(), getResolvedType(), getResolvedTypeRec(), isAccessibleFrom(), isAccessibleFromWithExpScope(), newResolveTypedef(), Private(), and setFileScope().
|
private |
Definition at line 289 of file symbolresolver.cpp.
Referenced by newResolveTypedef(), and reset().
| DString SymbolResolver::Private::resolvedType |
Definition at line 188 of file symbolresolver.cpp.
Referenced by reset().
| DString SymbolResolver::Private::templateSpec |
Definition at line 190 of file symbolresolver.cpp.
Referenced by reset().
| const MemberDef* SymbolResolver::Private::typeDef = nullptr |
Definition at line 189 of file symbolresolver.cpp.
Referenced by reset().