From a4196f6b63d3050a7bc631e6276e17e0af4dc1eb Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Mon, 11 Apr 2011 15:50:53 -0300 Subject: Add AbstractMetaFunction::isCallOperator() method. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Returns true when the function is a call operator. Reviewer: Renato Araújo Luciano Wolf --- abstractmetalang.cpp | 7 ++++++- abstractmetalang.h | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp index 509a7c1d2..3b7adb167 100644 --- a/abstractmetalang.cpp +++ b/abstractmetalang.cpp @@ -709,6 +709,11 @@ QString AbstractMetaFunction::argumentName(int index, bool create, const Abstrac return m_arguments[--index]->name(); } +bool AbstractMetaFunction::isCallOperator() const +{ + return m_name == "operator()"; +} + bool AbstractMetaFunction::hasInjectedCode() const { foreach (const FunctionModification mod, modifications(ownerClass())) { @@ -855,7 +860,7 @@ bool AbstractMetaFunction::isOtherOperator() const int AbstractMetaFunction::arityOfOperator() const { - if (!isOperatorOverload()) + if (!isOperatorOverload() || isCallOperator()) return -1; int arity = m_arguments.size(); diff --git a/abstractmetalang.h b/abstractmetalang.h index 4f1f25400..b58a00f24 100644 --- a/abstractmetalang.h +++ b/abstractmetalang.h @@ -804,7 +804,8 @@ public: m_reverse(false), m_userAdded(false), m_explicit(false), - m_pointerOperator(false) + m_pointerOperator(false), + m_isCallOperator(false) { } @@ -1160,6 +1161,8 @@ public: { m_typeEntry = typeEntry; } + + bool isCallOperator() const; private: QString m_name; QString m_originalName; @@ -1182,6 +1185,7 @@ private: uint m_userAdded : 1; uint m_explicit : 1; uint m_pointerOperator : 1; + uint m_isCallOperator : 1; }; -- cgit v1.2.3