diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-09-30 17:30:23 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-09 19:10:11 -0300 |
commit | 35c500c84b6be8f400f8cd1029c528172bca49c7 (patch) | |
tree | 064c1bc9f8866fe14245618aeac8988cf8954a6c | |
parent | 128c833f6b51a3709a2b0162f639121981389af2 (diff) |
Add toStringCapability attribute to AbstractMetaClass.
This capatility indicates that the given type has a QDebug::operator<<
function, so it's only useful when using PySide extensions.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
-rw-r--r-- | abstractmetabuilder.cpp | 5 | ||||
-rw-r--r-- | abstractmetalang.h | 25 |
2 files changed, 13 insertions, 17 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 75190a87a..b0cbc24a0 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -148,19 +148,16 @@ void AbstractMetaBuilder::registerHashFunction(FunctionModelItem function_item) void AbstractMetaBuilder::registerToStringCapability(FunctionModelItem function_item) { - // TODO This must set an AbstractMetaFunction, not a FunctionModelItem! - #if 0 ArgumentList arguments = function_item->arguments(); if (arguments.size() == 2) { if (arguments.at(0)->type().toString() == "QDebug") { ArgumentModelItem arg = arguments.at(1); if (AbstractMetaClass *cls = argumentToClass(arg)) { if (arg->type().indirections() < 2) - cls->setToStringCapability(function_item); + cls->setToStringCapability(true); } } } - #endif } void AbstractMetaBuilder::traverseOperatorFunction(FunctionModelItem item) diff --git a/abstractmetalang.h b/abstractmetalang.h index 7a5b90228..333aaf3cb 100644 --- a/abstractmetalang.h +++ b/abstractmetalang.h @@ -1382,13 +1382,13 @@ public: m_hasEqualsOperator(false), m_hasCloneOperator(false), m_isTypeAlias(false), + m_hasToStringCapability(false), m_enclosingClass(0), m_baseClass(0), m_templateBaseClass(0), m_extractedInterface(0), m_primaryInterfaceImplementor(0), m_typeEntry(0), - //m_qDebugStreamFunction(0) m_stream(false) { } @@ -1717,17 +1717,6 @@ public: { return m_hasHashFunction; } -#if 0 - void setToStringCapability(FunctionModelItem fun) - { - m_qDebugStreamFunction = fun; - } - - FunctionModelItem hasToStringCapability() const - { - return m_qDebugStreamFunction; - } -#endif virtual bool hasDefaultToStringFunction() const; void setHasEqualsOperator(bool on) @@ -1875,6 +1864,15 @@ public: return m_stream; } + void setToStringCapability(bool value) + { + m_hasToStringCapability = value; + } + + bool hasToStringCapability() const + { + return m_hasToStringCapability; + } private: uint m_namespace : 1; uint m_qobject : 1; @@ -1892,7 +1890,8 @@ private: uint m_hasEqualsOperator : 1; uint m_hasCloneOperator : 1; uint m_isTypeAlias : 1; - uint m_reserved : 18; + uint m_hasToStringCapability : 1; + uint m_reserved : 17; const AbstractMetaClass *m_enclosingClass; AbstractMetaClass *m_baseClass; |