aboutsummaryrefslogtreecommitdiffstats
path: root/overloaddata.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-12-18 11:33:57 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2009-12-18 11:55:59 -0300
commitd31ac61663db41013333d16aa61a16ba71ecf5fd (patch)
tree3dbd1fd2304696e61c8a8a9e83539196be39254a /overloaddata.cpp
parent808a89b409672d1a3c2082b848983ba58e0b462a (diff)
Adds OverloadData::hasVarargs() which says if there is a varargs argument among the overloads.
Diffstat (limited to 'overloaddata.cpp')
-rw-r--r--overloaddata.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/overloaddata.cpp b/overloaddata.cpp
index 567dbecd3..c54945c5c 100644
--- a/overloaddata.cpp
+++ b/overloaddata.cpp
@@ -235,6 +235,16 @@ bool OverloadData::hasNonVoidReturnType() const
return !retTypes.contains("void") || retTypes.size() > 1;
}
+bool OverloadData::hasVarargs() const
+{
+ foreach (const AbstractMetaFunction* func, m_overloads) {
+ AbstractMetaArgumentList args = func->arguments();
+ if (args.size() > 1 && args.last()->type()->isVarargs())
+ return true;
+ }
+ return false;
+}
+
const AbstractMetaFunction* OverloadData::referenceFunction() const
{
return m_overloads.first();