kdevplatform/language/duchain
- Member APPENDED_LIST_FIRST (container, type, name)
- Make these things a bit faster(less recursion)
- Member APPENDED_LIST_FIRST_STATIC (type, name)
- Make these things a bit faster(less recursion)
- Member collectImporters (ImportanceChecker &checker, ParsingEnvironmentFile *current, QSet< ParsingEnvironmentFile * > &visited, QSet< ParsingEnvironmentFile * > &collected)
- Only collect uses within currently loaded projects
- Member destructorForName (const Identifier &name)
- make this language-neutral
- Member FOREACH_FUNCTION_STATIC (item, container)
- Document this a bit more
- Page Implementing Definition-Use Chains for a specific language
- complete this section
- Member KDevelop::AbstractContextBuilder< T, NameT >::contextStack () const
- Audit whether access to the context stack is still required, and provide replacement functionality if possible.
- Member KDevelop::AbstractContextBuilder< T, NameT >::nextContextIndex ()
further delineate the role of this function and rename / document better.
make private again?
- Member KDevelop::AbstractContextBuilder< T, NameT >::openContextInternal (const RangeInRevision &range, DUContext::ContextType type, const QualifiedIdentifier &identifier)
- We should also somehow make sure we don't get quadratic worst-case effort while updating.
- Member KDevelop::AbstractDeclarationNavigationContext::eventuallyMakeTypeLinks (KDevelop::AbstractType::Ptr type)
- This is C++ specific, move into subclass
- Member KDevelop::AbstractDeclarationNavigationContext::html (bool shorten=false) override
- Enumerations
- Member KDevelop::AbstractDeclarationNavigationContext::htmlClass ()
- How can we get here? and should this really be a class?
- Member KDevelop::AbstractFunctionDeclarationData::m_isInline
- move into ClassFunctionDeclaration(Only valid for class-functions)
- Member KDevelop::AbstractNavigationWidget::embeddedWidgetRight ()
- Do this through a public interface post 4.2
- Member KDevelop::AbstractTypeBuilder< T, NameT, LangugageSpecificTypeBuilderBase >::openTypeFromName (const QualifiedIdentifier &id, T *typeNode, bool needClass)
- Member KDevelop::AbstractUseBuilder< T, NameT, LanguageSpecificUseBuilderBase >::newUse (T *node, const KDevelop::DeclarationPointer &declaration)
- Work this over! We must not pass around "Declaration*" values if the duchain is not locked.
- Member KDevelop::commentRepository ()
- Use reference counting
- Member KDevelop::Declaration::allocateOwnIndex ()
- Fix multithreading stuff with template instantiation, preferably using some internal mutexes
- Member KDevelop::Declaration::isTypeAlias () const
- see whether it would be useful to create an own TypeAliasDeclaration sub-class for this
- Member KDevelop::DeclarationData::m_declaration
- Eventually move this and all the definition/declaration coupling functionality somewhere else
- Member KDevelop::DeclarationId::declaration (const TopDUContext *context, bool instantiateIfRequired=true) const
- think this over once we don't pull in all imported top-context any more
- Member KDevelop::DeclarationId::declarations (const TopDUContext *context) const
- think this over once we don't pull in all imported top-context any more
- Member KDevelop::DUChainBase::topContext () const
- Move the reference to the top-context right into this class, as it's common to all inheriters
- Class KDevelop::DUContext
- change child relationships to a linked list within the context?
- Member KDevelop::DUContext::DeclarationList
- Should be protected, moved here temporarily until I have figured out why the gcc 4.1.3 fails in cppducontext.h:212, which should work (within kdevelop)
- Member KDevelop::DUContext::findLocalDeclarationsInternal (const IndexedIdentifier &identifier, const CursorInRevision &position, const AbstractType::Ptr &dataType, DeclarationList &ret, const TopDUContext *source, SearchFlags flags) const
- Eventually do efficient iteration-free filtering
- Member KDevelop::DUContext::mergeDeclarationsInternal (QVector< QPair< Declaration *, int >> &definitions, const CursorInRevision &position, QHash< const DUContext *, bool > &hadContexts, const TopDUContext *source, bool searchInParents=true, int currentDepth=0) const
- this is language-dependent)
- Member KDevelop::DUContextDynamicData::addChildContext (DUContext *context)
- Do binary search to find the position
- Member KDevelop::DUContextDynamicData::addDeclaration (Declaration *declaration)
- Do binary search to find the position
- Member KDevelop::DumpDotGraph::dotGraph (KDevelop::DUContext *context, bool shortened=false)
- maybe get this as a parameter
- Member KDevelop::escapeForBracketMatching (QString str)
- this hackery sucks
- Member KDevelop::FunctionDefinition::definition (const Declaration *decl)
- Find better ways of deciding which definition to use
- Member KDevelop::FunctionType::arguments () const
- Don't do the conversion
- Class KDevelop::IndexedDeclarationHandler
- move into own header
- Member KDevelop::InstantiationInformation::InstantiationInformation (const InstantiationInformation &rhs, bool dynamic=true)
- include some information for instantiation only with default parameters
- Member KDevelop::QualifiedIdentifier::explicitlyGlobal () const
- Remove this flag
- Class KDevelop::TopDUContext
move the registration with DUChain here
- Member KDevelop::TopDUContext::applyAliases (const QualifiedIdentifier &previous, const SearchItem::Ptr &identifier, Acceptor &acceptor, const CursorInRevision &position, bool canBeNamespace, ApplyAliasesBuddyInfo *buddy, uint recursionDepth) const
Implement a cache so at least the global import checks don't need to be done repeatedly. The cache should be thread-local, using DUChainPointer for the hashed items, and when an item was deleted, it should be discarded
check iso c++ if using-directives should be respected on top-level when explicitly global
this is bad for a very big repository(the chains should be walked for the top-context instead)
- Member KDevelop::TopDUContext::ast () const
- Figure out logic to get rid of AST when it is not needed/useful
- Member KDevelop::TopDUContext::indexForUsedDeclaration (Declaration *declaration, bool create=true)
- Make m_usedDeclarationIds sorted, and find the decl. using binary search
- Member KDevelop::TopDUContext::isOnDisk () const
- Change this to releasingToDisk, and only enable it while saving a top-context to disk.
- Member KDevelop::TopDUContextDynamicData::store ()
Save the meta-data into a repository, and only the actual content data into a file. This will make saving+loading more efficient, and will reduce the disk-usage. Then we also won't need to load the data if only the meta-data changed.
- Member KDevelop::UsesCollector::startCollecting ()
- Member TypeUtils::targetType (const KDevelop::AbstractType::Ptr &type, const KDevelop::TopDUContext *topContext, bool *constant=nullptr)
- remove constant and topContext
- Page Using already created Definition-Use Chains in plugins
include a note on how to request loading of contexts from disk, and requesting parsing of files which are not currently in the duchain.
add mechanism to get at the AST
keep the AST in memory for loaded files
- Member uSleepTime
- Always prefer exactly that lock that is requested by the thread that has the foreground mutex, to reduce the amount of UI blocking.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Jan 20 2021 23:38:35 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.