language/duchain
KDevelop::DUChainBase Class Reference
Base class for definition-use chain objects. More...
#include <duchainbase.h>

Public Types | |
| enum | { Identity = 1 } |
Public Member Functions | |
| DUChainBase (DUChainBaseData &dd) | |
| DUChainBase (const SimpleRange &range) | |
| virtual | ~DUChainBase () |
| void | makeDynamic () |
| virtual void | setData (DocumentRangeObjectData *, bool constructorCalled=true) |
| virtual TopDUContext * | topContext () const |
| virtual IndexedString | url () const |
| const KSharedPtr < DUChainPointerData > & | weakPointer () const |
Protected Member Functions | |
| DUChainBase (DUChainBaseData &dd, const SimpleRange &range) | |
| DUChainBase (DUChainBase &rhs) | |
| void | aboutToWriteData () |
| virtual bool | canWriteData () const |
| virtual void | rebuildDynamicData (DUContext *parent, uint ownIndex) |
Detailed Description
Base class for definition-use chain objects.
This class provides a thread safe pointer type to reference duchain objects while the DUChain mutex is not held (
- See also:
- DUChainPointer)
Definition at line 97 of file duchainbase.h.
Constructor & Destructor Documentation
| KDevelop::DUChainBase::DUChainBase | ( | const SimpleRange & | range | ) |
Constructor.
- Parameters:
-
url url of the document where this occurred range range of the alias declaration's identifier
Definition at line 39 of file duchainbase.cpp.
| KDevelop::DUChainBase::~DUChainBase | ( | ) | [virtual] |
Destructor.
Definition at line 77 of file duchainbase.cpp.
| KDevelop::DUChainBase::DUChainBase | ( | DUChainBase & | rhs | ) | [protected] |
Creates a duchain object that uses the data of the given one, and will not delete it on destruction.
The data will be shared, and this object must be deleted before the given one is.
Definition at line 55 of file duchainbase.cpp.
| KDevelop::DUChainBase::DUChainBase | ( | DUChainBaseData & | dd, | |
| const SimpleRange & | range | |||
| ) | [protected] |
Constructor for copy constructors in subclasses.
- Parameters:
-
dd data to use. url document url in which this object is located. range text range which this object covers.
Definition at line 45 of file duchainbase.cpp.
Member Function Documentation
| void KDevelop::DUChainBase::makeDynamic | ( | ) |
After this was called, the data-pointer is dynamic. It is cloned if needed.
Definition at line 117 of file duchainbase.cpp.
| void KDevelop::DUChainBase::rebuildDynamicData | ( | DUContext * | parent, | |
| uint | ownIndex | |||
| ) | [protected, virtual] |
Called after loading to rebuild the dynamic data. If this is a context, this should recursively work on all sub-contexts.
Reimplemented in KDevelop::TopDUContext.
Definition at line 103 of file duchainbase.cpp.
| void KDevelop::DUChainBase::setData | ( | DocumentRangeObjectData * | data, | |
| bool | constructorCalled = true | |||
| ) | [virtual] |
This must only be used to change the storage-location or storage-kind(dynamic/constant) of the data, but the data must always be equal!
Reimplemented from KDevelop::DocumentRangeObject.
Definition at line 69 of file duchainbase.cpp.
| TopDUContext * KDevelop::DUChainBase::topContext | ( | ) | const [virtual] |
Determine the top context to which this object belongs.
Reimplemented in KDevelop::Declaration, KDevelop::DUContext, KDevelop::ParsingEnvironmentFile, and KDevelop::TopDUContext.
Definition at line 86 of file duchainbase.cpp.
| const KSharedPtr< DUChainPointerData > & KDevelop::DUChainBase::weakPointer | ( | ) | const |
Returns a special pointer that can be used to track the existence of a du-chain object across locking-cycles.
- See also:
- DUChainPointerData
Definition at line 91 of file duchainbase.cpp.
The documentation for this class was generated from the following files:
KDE 4.4 API Reference