aboutsummaryrefslogtreecommitdiffstats
path: root/abstractmetalang.h
diff options
context:
space:
mode:
Diffstat (limited to 'abstractmetalang.h')
-rw-r--r--abstractmetalang.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/abstractmetalang.h b/abstractmetalang.h
index e3d6ad746..0e60926b5 100644
--- a/abstractmetalang.h
+++ b/abstractmetalang.h
@@ -1757,6 +1757,23 @@ public:
return m_greaterThanEqFunctions;
}
+ /// Returns a list of conversion operators for this class. The conversion operators are defined in other classes of the same module.
+ AbstractMetaFunctionList externalConversionOperators() const
+ {
+ return m_externalConversionOperators;
+ }
+ /// Adds a converter operator for this class.
+ void addExternalConversionOperator(AbstractMetaFunction* conversionOp)
+ {
+ if (!m_externalConversionOperators.contains(conversionOp))
+ m_externalConversionOperators.append(conversionOp);
+ }
+ /// Returns true if this class has any converter operators defined elsewhere.
+ bool hasExternalConversionOperators() const
+ {
+ return !m_externalConversionOperators.isEmpty();
+ }
+
void sortFunctions();
const AbstractMetaClass *templateBaseClass() const
@@ -1827,6 +1844,8 @@ private:
AbstractMetaFunctionList m_lessThanEqFunctions;
AbstractMetaFunctionList m_greaterThanEqFunctions;
+ AbstractMetaFunctionList m_externalConversionOperators;
+
QStringList m_baseClassNames;
QList<TypeEntry *> m_templateArgs;
ComplexTypeEntry *m_typeEntry;