comparison generator/generator.h @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
parents 49bfc86ff583
children d2f48c4cb3e3
comparison
equal deleted inserted replaced
356:12cec2d14e1c 357:9784459f0750
93 ForcePointer = 0x10000000, 93 ForcePointer = 0x10000000,
94 94
95 ForceValueType = ExcludeReference | ExcludeConst 95 ForceValueType = ExcludeReference | ExcludeConst
96 }; 96 };
97 97
98 enum ModuleNameType
99 {
100 ShortUpper,
101 LongCamel
102 };
103
98 Generator(); 104 Generator();
99 105
100 void setClasses(const AbstractMetaClassList &classes) { m_classes = classes; } 106 void setClasses(const AbstractMetaClassList &classes) { m_classes = classes; }
101 AbstractMetaClassList classes() const { return m_classes; } 107 AbstractMetaClassList classes() const { return m_classes; }
102 108
112 virtual QString subDirectoryForClass(const AbstractMetaClass *java_class) const; 118 virtual QString subDirectoryForClass(const AbstractMetaClass *java_class) const;
113 virtual QString fileNameForClass(const AbstractMetaClass *java_class) const; 119 virtual QString fileNameForClass(const AbstractMetaClass *java_class) const;
114 virtual void write(QTextStream &s, const AbstractMetaClass *java_class); 120 virtual void write(QTextStream &s, const AbstractMetaClass *java_class);
115 121
116 bool hasDefaultConstructor(const AbstractMetaType *type); 122 bool hasDefaultConstructor(const AbstractMetaType *type);
123
124 // TODO: this should be a property of the generator set, not inferred from java package.
125 static QString packageToQtModule(QString package, ModuleNameType nameType = ShortUpper);
117 126
118 protected: 127 protected:
119 void verifyDirectoryFor(const QFile &file); 128 void verifyDirectoryFor(const QFile &file);
120 129
121 AbstractMetaClassList m_classes; 130 AbstractMetaClassList m_classes;