aboutsummaryrefslogtreecommitdiffstats
path: root/typesystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'typesystem.h')
-rw-r--r--typesystem.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/typesystem.h b/typesystem.h
index 1c1c08299..662cb53e1 100644
--- a/typesystem.h
+++ b/typesystem.h
@@ -583,7 +583,8 @@ public:
ArrayType,
TypeSystemType,
CustomType,
- TargetLangType
+ TargetLangType,
+ FunctionType
};
enum CodeGeneration {
@@ -1699,6 +1700,32 @@ private:
};
+class APIEXTRACTOR_API FunctionTypeEntry : public TypeEntry
+{
+public:
+ FunctionTypeEntry(const QString& name, const QString& signature)
+ : TypeEntry(name, FunctionType)
+ {
+ addSignature(signature);
+ }
+ void addSignature(const QString& signature)
+ {
+ m_signatures << signature;
+ }
+
+ QStringList signatures()
+ {
+ return m_signatures;
+ }
+
+ inline bool hasSignature(const QString& signature)
+ {
+ return m_signatures.contains(signature);
+ }
+private:
+ QStringList m_signatures;
+};
+
class APIEXTRACTOR_API ObjectTypeEntry : public ComplexTypeEntry
{
public:
@@ -1779,6 +1806,7 @@ public:
inline ObjectTypeEntry *findObjectType(const QString &name);
inline NamespaceTypeEntry *findNamespaceType(const QString &name);
ContainerTypeEntry *findContainerType(const QString &name);
+ FunctionTypeEntry* findFunctionType(const QString& name);
TypeEntry *findType(const QString &name) const
{