aboutsummaryrefslogtreecommitdiffstats
path: root/overloaddata.cpp
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2010-02-19 16:53:15 -0200
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-02-19 18:51:30 -0300
commit7a389f29dbb34a8f557bd3375b151486aa6fdd51 (patch)
tree9af0cf537c0059d33815153083ceaa8c1da9457c /overloaddata.cpp
parentbe1f91e9f6849312a68b17a7677aa9133fbd45c3 (diff)
Added previousOverloadData attribute to OverloadData, so we cna walk on overload data tree.
Diffstat (limited to 'overloaddata.cpp')
-rw-r--r--overloaddata.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/overloaddata.cpp b/overloaddata.cpp
index a840baf3c..99d362e90 100644
--- a/overloaddata.cpp
+++ b/overloaddata.cpp
@@ -143,7 +143,7 @@ void OverloadData::sortNextOverloads()
*/
OverloadData::OverloadData(const AbstractMetaFunctionList overloads, const ShibokenGenerator* generator)
: m_minArgs(256), m_maxArgs(0), m_argPos(-1), m_argType(0),
- m_headOverloadData(this), m_generator(generator)
+ m_headOverloadData(this), m_previousOverloadData(0), m_generator(generator)
{
foreach (const AbstractMetaFunction* func, overloads) {
m_overloads.append(func);
@@ -172,7 +172,7 @@ OverloadData::OverloadData(const AbstractMetaFunctionList overloads, const Shibo
OverloadData::OverloadData(OverloadData* headOverloadData, const AbstractMetaFunction* func,
const AbstractMetaType* argType, int argPos)
: m_minArgs(256), m_maxArgs(0), m_argPos(argPos), m_argType(argType),
- m_headOverloadData(headOverloadData)
+ m_headOverloadData(headOverloadData), m_previousOverloadData(0)
{
if (func)
this->addOverload(func);
@@ -226,6 +226,7 @@ OverloadData* OverloadData::addOverloadData(const AbstractMetaFunction* func,
if (!overloadData) {
overloadData = new OverloadData(m_headOverloadData, func, argType, m_argPos + 1);
+ overloadData->m_previousOverloadData = this;
overloadData->m_generator = this->m_generator;
QString typeReplaced = func->typeReplaced(arg->argumentIndex() + 1);