Doxygen
|
Public Member Functions | |
Private (const FileDef *f) | |
void | reset () |
void | setFileScope (const FileDef *fileScope) |
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, 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, 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 103 of file symbolresolver.cpp.
|
inline |
|
private |
Definition at line 1303 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 1265 of file symbolresolver.cpp.
References accessibleViaUsingNamespace(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Cpp, followPath(), Definition::getLanguage(), Definition::getOuterScope(), QCString::isEmpty(), Definition::name(), and QCString::str().
Referenced by accessibleViaUsingNamespace(), isAccessibleFrom(), and isAccessibleFromWithExpScope().
|
private |
Definition at line 1253 of file symbolresolver.cpp.
Referenced by followPath().
|
private |
Definition at line 1156 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 722 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, and Definition::TypeNamespace.
Referenced by getResolvedSymbolRec().
const Definition * SymbolResolver::Private::getResolvedSymbolRec | ( | VisitedKeys & | visitedKeys, |
const Definition * | scope, | ||
const QCString & | n, | ||
const QCString & | args, | ||
bool | checkCV, | ||
bool | insideCode, | ||
const MemberDef ** | pTypeDef, | ||
QCString * | pTemplSpec, | ||
QCString * | pResolvedType ) |
Definition at line 376 of file symbolresolver.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, computeQualifiedIndex(), LookupInfo::definition, QCString::find(), g_cacheMutex, Definition::getLanguage(), getResolvedSymbol(), Doxygen::globalScope, QCString::isEmpty(), 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, TRUE, and LookupInfo::typeDef.
|
private |
Definition at line 557 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 219 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, 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 1323 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 1000 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 853 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 107 of file symbolresolver.cpp.
References m_resolvedTypedefs, resolvedType, templateSpec, and typeDef.
|
inline |
Definition at line 114 of file symbolresolver.cpp.
References m_fileScope.
|
private |
Definition at line 1490 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 213 of file symbolresolver.cpp.
Referenced by followPath(), getResolvedSymbol(), getResolvedSymbolRec(), getResolvedType(), getResolvedTypeRec(), isAccessibleFrom(), isAccessibleFromWithExpScope(), newResolveTypedef(), Private(), and setFileScope().
|
private |
Definition at line 214 of file symbolresolver.cpp.
Referenced by newResolveTypedef(), and reset().
QCString SymbolResolver::Private::resolvedType |
Definition at line 119 of file symbolresolver.cpp.
Referenced by reset().
QCString SymbolResolver::Private::templateSpec |
Definition at line 121 of file symbolresolver.cpp.
Referenced by reset().
const MemberDef* SymbolResolver::Private::typeDef = nullptr |
Definition at line 120 of file symbolresolver.cpp.
Referenced by reset().