44
48
VirtualFunctionAssistProvider();
46
virtual bool configure(CPlusPlus::Class *startClass, CPlusPlus::Function *function,
47
const CPlusPlus::Snapshot &snapshot, bool openInNextSplit);
48
CPlusPlus::Class *startClass() const { return m_startClass; }
49
CPlusPlus::Function *function() const { return m_function; }
50
CPlusPlus::Snapshot snapshot() const { return m_snapshot; }
51
bool openInNextSplit() const { return m_openInNextSplit; }
51
Parameters() : function(0), staticClass(0), cursorPosition(-1), openInNextSplit(false) {}
53
CPlusPlus::Function *function;
54
CPlusPlus::Class *staticClass;
55
QSharedPointer<CPlusPlus::TypeOfExpression> typeOfExpression; // Keeps instantiated symbols.
56
CPlusPlus::Snapshot snapshot;
61
virtual bool configure(const Parameters ¶meters);
62
Parameters params() const { return m_params; }
63
void clearParams() { m_params = Parameters(); }
53
65
bool isAsynchronous() const;
54
66
bool supportsEditor(const Core::Id &editorId) const;
55
67
TextEditor::IAssistProcessor *createProcessor() const;
58
CPlusPlus::Class *m_startClass;
59
CPlusPlus::Function *m_function;
60
CPlusPlus::Snapshot m_snapshot;
61
bool m_openInNextSplit;
64
73
class FunctionHelper
70
79
static bool isPureVirtualFunction(const CPlusPlus::Function *function,
71
80
const CPlusPlus::Snapshot &snapshot);
73
static QList<CPlusPlus::Symbol *> overrides(CPlusPlus::Class *startClass,
74
CPlusPlus::Function *function,
82
static QList<CPlusPlus::Symbol *> overrides(CPlusPlus::Function *function,
83
CPlusPlus::Class *functionsClass,
84
CPlusPlus::Class *staticClass,
75
85
const CPlusPlus::Snapshot &snapshot);