kdevplatform/language/duchain
#include <problem.h>

Public Types | |
enum | { Identity = 15 } |
using | Ptr = QExplicitlySharedDataPointer< Problem > |
![]() | |
enum | { Identity = 1 } |
Public Member Functions | |
Problem () | |
Problem (ProblemData &data) | |
~Problem () override | |
void | addDiagnostic (const IProblem::Ptr &diagnostic) override |
void | clearDiagnostics () override |
QString | description () const override |
QVector< IProblem::Ptr > | diagnostics () const override |
QString | explanation () const override |
DocumentRange | finalLocation () const override |
FinalLocationMode | finalLocationMode () const override |
void | setDescription (const QString &description) override |
void | setDiagnostics (const QVector< IProblem::Ptr > &diagnostics) override |
void | setExplanation (const QString &explanation) override |
void | setFinalLocation (const DocumentRange &location) override |
void | setFinalLocationMode (FinalLocationMode mode) override |
void | setSeverity (Severity severity) override |
void | setSource (IProblem::Source source) override |
Severity | severity () const override |
QString | severityString () const override |
QExplicitlySharedDataPointer< IAssistant > | solutionAssistant () const override |
Source | source () const override |
QString | sourceString () const override |
TopDUContext * | topContext () const override |
virtual QString | toString () const |
KDevelop::IndexedString | url () const override |
![]() | |
DUChainBase (const RangeInRevision &range) | |
DUChainBase (DUChainBaseData &dd) | |
virtual | ~DUChainBase () |
PersistentMovingRange::Ptr | createRangeMoving () const |
void | makeDynamic () |
DUChainBase & | operator= (const DUChainBase &rhs)=delete |
RangeInRevision | range () const |
KTextEditor::Range | rangeInCurrentRevision () const |
virtual void | setData (DUChainBaseData *, bool constructorCalled=true) |
void | setRange (const RangeInRevision &range) |
KTextEditor::Cursor | transformFromLocalRevision (const CursorInRevision &cursor) const |
KTextEditor::Range | transformFromLocalRevision (const RangeInRevision &range) const |
CursorInRevision | transformToLocalRevision (const KTextEditor::Cursor &cursor) const |
RangeInRevision | transformToLocalRevision (const KTextEditor::Range &range) const |
const QExplicitlySharedDataPointer< DUChainPointerData > & | weakPointer () const |
Additional Inherited Members | |
![]() | |
DUChainBase (DUChainBase &rhs) | |
DUChainBase (DUChainBaseData &dd, const RangeInRevision &range) | |
![]() | |
DUChainBaseData * | d_ptr |
Detailed Description
An object representing a problem in preprocessing, parsing, definition-use chain compilation, etc.
You should always use ProblemPointer, because Problem may be subclassed. The subclass would be lost while copying.
- Warning
- Access to problems must be serialized through DUChainLock.
Member Typedef Documentation
◆ Ptr
Member Enumeration Documentation
◆ anonymous enum
Constructor & Destructor Documentation
◆ Problem() [1/2]
Problem::Problem | ( | ) |
Definition at line 69 of file problem.cpp.
◆ Problem() [2/2]
|
explicit |
Definition at line 75 of file problem.cpp.
◆ ~Problem()
|
override |
Definition at line 80 of file problem.cpp.
Member Function Documentation
◆ addDiagnostic()
|
override |
Definition at line 142 of file problem.cpp.
◆ clearDiagnostics()
|
override |
Returns child diagnostics of this particular problem.
Example:
=> foo(0) is ambiguous. This will give us a ProblemPointer pointing to 'foo(0)'.
Additionally, diagnostics
may return the two locations to the ambiguous overloads, with descriptions such as 'test.cpp:1: candidate : ...'
Definition at line 115 of file problem.cpp.
◆ description()
|
override |
A brief description of the problem.
Definition at line 152 of file problem.cpp.
◆ diagnostics()
|
override |
Definition at line 122 of file problem.cpp.
◆ explanation()
|
override |
A (detailed) explanation of why the problem occurred.
Definition at line 162 of file problem.cpp.
◆ finalLocation()
|
override |
Location where this problem occurred.
- Warning
- Must only be called from the foreground
Definition at line 94 of file problem.cpp.
◆ finalLocationMode()
|
override |
Definition at line 105 of file problem.cpp.
◆ setDescription()
|
override |
Definition at line 157 of file problem.cpp.
◆ setDiagnostics()
|
override |
Definition at line 133 of file problem.cpp.
◆ setExplanation()
|
override |
Definition at line 167 of file problem.cpp.
◆ setFinalLocation()
|
override |
Definition at line 99 of file problem.cpp.
◆ setFinalLocationMode()
|
override |
Definition at line 110 of file problem.cpp.
◆ setSeverity()
|
override |
Set the severity of this problem.
Definition at line 192 of file problem.cpp.
◆ setSource()
|
override |
Definition at line 177 of file problem.cpp.
◆ severity()
|
override |
Get the severity of this problem.
This is used for example to decide for a highlighting color.
- See also
- setSeverity()
Definition at line 187 of file problem.cpp.
◆ severityString()
|
override |
Returns a string representation of the severity.
Definition at line 197 of file problem.cpp.
◆ solutionAssistant()
|
override |
If this problem can be solved, this may return an assistant for the solution.
Definition at line 182 of file problem.cpp.
◆ source()
|
override |
Definition at line 172 of file problem.cpp.
◆ sourceString()
|
override |
Returns a string version of the problem source.
Definition at line 212 of file problem.cpp.
◆ topContext()
|
overridevirtual |
Determine the top context to which this object belongs.
- Todo:
- Move the reference to the top-context right into this class, as it's common to all inheriters
Reimplemented from KDevelop::DUChainBase.
Definition at line 84 of file problem.cpp.
◆ toString()
|
virtual |
Returns a string representation of this problem, useful for debugging.
Definition at line 235 of file problem.cpp.
◆ url()
|
overridevirtual |
Reimplemented from KDevelop::DUChainBase.
Definition at line 89 of file problem.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sun Mar 7 2021 23:29:31 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.