Mercurial > projects > qtd
comparison generator/dgenerator.h @ 341:4920ef9206fe
moved enums into interfaces
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Thu, 13 May 2010 16:39:41 +0300 |
parents | adae77fdc1ea |
children | 08c1ca7975ab |
comparison
equal
deleted
inserted
replaced
340:9fc85d7280ba | 341:4920ef9206fe |
---|---|
45 #include "generator.h" | 45 #include "generator.h" |
46 #include "metajava.h" | 46 #include "metajava.h" |
47 #include "cppimplgenerator.h" | 47 #include "cppimplgenerator.h" |
48 | 48 |
49 #include <QTextStream> | 49 #include <QTextStream> |
50 #include <QStack> | |
50 | 51 |
51 class DocParser; | 52 class DocParser; |
52 | 53 |
53 class DGenerator : public Generator | 54 class DGenerator : public Generator |
54 { | 55 { |
67 const AbstractMetaArgument *d_argument, | 68 const AbstractMetaArgument *d_argument, |
68 uint options = 0); | 69 uint options = 0); |
69 static QString argumentString(const AbstractMetaFunction *d_function, | 70 static QString argumentString(const AbstractMetaFunction *d_function, |
70 const AbstractMetaArgument *d_argument, | 71 const AbstractMetaArgument *d_argument, |
71 uint options = 0); | 72 uint options = 0); |
72 void writeEnum(QTextStream &s, const AbstractMetaEnum *d_enum); | 73 void writeEnum(QTextStream &s, const AbstractMetaEnum *d_enum, bool withAliases = false); |
73 void writeIntegerEnum(QTextStream &s, const AbstractMetaEnum *d_enum); | 74 void writeIntegerEnum(QTextStream &s, const AbstractMetaEnum *d_enum); |
74 void writeSignal(QTextStream &s, const AbstractMetaFunction *d_function); | 75 void writeSignal(QTextStream &s, const AbstractMetaFunction *d_function); |
75 void writeFunction(QTextStream &s, const AbstractMetaFunction *d_function, | 76 void writeFunction(QTextStream &s, const AbstractMetaFunction *d_function, |
76 uint included_attributes = 0, uint excluded_attributes = 0); | 77 uint included_attributes = 0, uint excluded_attributes = 0); |
77 void writeFieldAccessors(QTextStream &s, const AbstractMetaField *field); | 78 void writeFieldAccessors(QTextStream &s, const AbstractMetaField *field); |
152 AbstractMetaFunctionList generatedClassFunctions(const AbstractMetaClass *d_class); | 153 AbstractMetaFunctionList generatedClassFunctions(const AbstractMetaClass *d_class); |
153 | 154 |
154 void writeDestructor(QTextStream &s, const AbstractMetaClass *d_class); | 155 void writeDestructor(QTextStream &s, const AbstractMetaClass *d_class); |
155 void writeFlagsSetter(QTextStream &s, const AbstractMetaClass *d_class); | 156 void writeFlagsSetter(QTextStream &s, const AbstractMetaClass *d_class); |
156 void writeSignalHandlers(QTextStream &s, const AbstractMetaClass *d_class); | 157 void writeSignalHandlers(QTextStream &s, const AbstractMetaClass *d_class); |
157 void writeEnumAlias(QTextStream &s, const AbstractMetaEnum *d_enum); | 158 void writeEnumAliases(QTextStream &s, const AbstractMetaEnum *d_enum); |
158 void writeSignalSignatures(QTextStream &s, const AbstractMetaClass *d_class, AbstractMetaFunctionList signal_funcs); | 159 void writeSignalSignatures(QTextStream &s, const AbstractMetaClass *d_class, AbstractMetaFunctionList signal_funcs); |
159 void writeMetaMethodArguments(QTextStream &s, const AbstractMetaFunction *d_function, int reduce = -1); | 160 void writeMetaMethodArguments(QTextStream &s, const AbstractMetaFunction *d_function, int reduce = -1); |
160 void writeQObjectFunctions(QTextStream &s, const AbstractMetaClass *d_class); | 161 void writeQObjectFunctions(QTextStream &s, const AbstractMetaClass *d_class); |
161 void writeQObjectFreeFunctions(QTextStream &s, const AbstractMetaClass *d_class); | 162 void writeQObjectFreeFunctions(QTextStream &s, const AbstractMetaClass *d_class); |
162 void writeConversionFunction(QTextStream &s, const AbstractMetaClass *d_class); | 163 void writeConversionFunction(QTextStream &s, const AbstractMetaClass *d_class); |
165 | 166 |
166 // void writeMarshallFunction(QTextStream &s, const AbstractMetaClass *d_class); | 167 // void writeMarshallFunction(QTextStream &s, const AbstractMetaClass *d_class); |
167 | 168 |
168 int m_recursive; | 169 int m_recursive; |
169 bool m_isRecursive; | 170 bool m_isRecursive; |
171 QStack<const AbstractMetaClass*> m_recursionStack; | |
170 QSet<const TypeEntry*> typeEntries; // imports | 172 QSet<const TypeEntry*> typeEntries; // imports |
171 QSet<const TypeEntry*> typeEntriesEnums; // imports for enums | 173 QSet<const TypeEntry*> typeEntriesEnums; // imports for enums |
172 QSet<QString> excludedTypes2; | 174 QSet<QString> excludedTypes2; |
173 | 175 |
174 protected: | 176 protected: |