aboutsummaryrefslogtreecommitdiffstats
path: root/overloaddata.cpp
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-02-01 14:40:24 -0300
committerHugo Lima <hugo.lima@openbossa.org>2010-02-01 14:54:55 -0200
commite476e135cc1732e0a8879f015aa0e35319cfebf8 (patch)
tree9c728b493209e6fa80e689994aae82a6594a1566 /overloaddata.cpp
parentb281b75fb73895b0f1d73da3403d8b5faf2da759 (diff)
Fixed overload function generation for fuctions with removed arguments.
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 18200f5a0..c658d0daa 100644
--- a/overloaddata.cpp
+++ b/overloaddata.cpp
@@ -123,15 +123,16 @@ OverloadData::OverloadData(const AbstractMetaFunctionList overloads, const Shibo
{
foreach (const AbstractMetaFunction* func, overloads) {
m_overloads.append(func);
- int argSize = func->arguments().size();
+ int argSize = func->arguments().size() - numberOfRemovedArguments(func);
if (m_minArgs > argSize)
m_minArgs = argSize;
else if (m_maxArgs < argSize)
m_maxArgs = argSize;
OverloadData* currentOverloadData = this;
foreach (const AbstractMetaArgument* arg, func->arguments()) {
- if (func->argumentRemoved(arg->argumentIndex() + 1))
+ if (func->argumentRemoved(arg->argumentIndex() + 1)) {
continue;
+ }
currentOverloadData = currentOverloadData->addOverloadData(func, arg->type());
}
}