[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/bindings/smokegenerator
From: Arno Rehn <kde () arnorehn ! de>
Date: 2009-05-24 16:41:14
Message-ID: 1243183274.150853.30733.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 972343 by arnorehn:
more type stuff
M +2 -2 type.cpp
M +78 -3 type.h
--- trunk/playground/bindings/smokegenerator/type.cpp #972342:972343
@@ -18,5 +18,5 @@
#include "type.h"
-QList<Class> classes;
-QList<Type> types;
+QHash<QString, Class> classes;
+QHash<QString, Type> types;
--- trunk/playground/bindings/smokegenerator/type.h #972342:972343
@@ -20,7 +20,7 @@
#define TYPE_H
#include <QString>
-#include <QList>
+#include <QHash>
class Method;
class Field;
@@ -72,16 +72,91 @@
QList<BaseClassSpecifier> m_bases;
};
+class Type;
+
+class Typedef
+{
+public:
+ Typedef(Type* type, const QString& name) : m_type(type), m_name(name) {}
+
+ void setType(Type* type) { m_type = type; }
+ Type* type() { return m_type; }
+
+ void setName(const QString& name) { m_name = name; }
+ QString name() { return m_name; }
+
+private:
+ Type* m_type;
+ QString m_name;
+};
+
class Member
{
+public:
+ Member(const QString& name = QString(), Type* type = 0, Access access = \
Access_public) : m_name(name), m_type(type), m_access(access) {} + virtual \
~Member() {} +
+ void setName(const QString& name) { m_name = name; }
+ QString name() { return m_name; }
+
+ void setType(Type* type) { m_type = type; }
+ Type* type() { return m_type; }
+
+ void setAccess(Access access) { m_access = access; }
+ Access access() { return m_access; }
+
+protected:
+ QString m_name;
+ Type* m_type;
+ Access m_access;
};
+class Parameter
+{
+public:
+ Parameter(const QString& name = QString(), Type* type = 0) : m_name(name), \
m_type(type) {} + virtual ~Parameter() {}
+
+ void setName(const QString& name) { m_name = name; }
+ QString name() { return m_name; }
+
+ void setType(Type* type) { m_type = type; }
+ Type* type() { return m_type; }
+
+protected:
+ QString m_name;
+ Type* m_type;
+};
+
+typedef QList<Parameter> ParameterList;
+
class Method : public Member
{
+public:
+ Method(const QString& name = QString(), Type* type = 0, Access access = \
Access_public, ParameterList params = ParameterList()) + : Member(name, type, \
access), m_params(params), m_isConstructor(false), m_isDestructor(false) {} + \
virtual ~Method() {} +
+ ParameterList parameters() { return m_params; }
+ void appendParameter(const Parameter& param) { m_params.append(param); }
+
+ void setIsConstructor(bool isCtor) { m_isConstructor = isCtor; }
+ bool isConstructor() { return m_isConstructor; }
+
+ void setIsDestructor(bool isDtor) { m_isDestructor = isDtor; }
+ bool isDestructor() { return m_isDestructor; }
+
+protected:
+ ParameterList m_params;
+ bool m_isConstructor;
+ bool m_isDestructor;
};
class Field : public Member
{
+public:
+ Field(const QString& name = QString(), Type* type = 0, Access access = \
Access_public) : Member(name, type, access) {} + virtual ~Field() {}
};
class Type
@@ -90,7 +165,7 @@
};
-extern QList<Class> classes;
-extern QList<Type> types;
+extern QHash<QString, Class> classes;
+extern QHash<QString, Type> types;
#endif // TYPE_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic