git-svn-id: svn://db.shs.com.ru/pip@164 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -221,23 +221,27 @@ void writeModel(PICodeParser & parser, const PIString out, bool meta, bool enums
|
|||||||
ventities << e;
|
ventities << e;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if (meta) {
|
if (meta || enums) {
|
||||||
f << "\n\n// Metainformation\n\n__ClassInfo_" << defname << "_Initializer__::__ClassInfo_" << defname << "_Initializer__() {\n";
|
f << "\n\n// Metainformation\n\n__ClassInfo_" << defname << "_Initializer__::__ClassInfo_" << defname << "_Initializer__() {\n";
|
||||||
f << "\tif (_inited_) return;\n\t_inited_ = true;\n\n";
|
f << "\tif (_inited_) return;\n\t_inited_ = true;\n\n";
|
||||||
//if (!enums)
|
if (meta)
|
||||||
f << "\tClassInfo * ci;\n\tTypeInfo * ni;\n\tFunctionInfo * fi;\n";
|
f << "\tClassInfo * ci;\n\tTypeInfo * ni;\n\tFunctionInfo * fi;\n";
|
||||||
f << "\tEnumInfo * ei;\n";
|
if (enums) {
|
||||||
f << "\t(*enumsInfo)[\"\"] = new EnumInfo();\n";
|
f << "\tEnumInfo * ei;\n";
|
||||||
//if (!enums) {
|
f << "\t(*enumsInfo)[\"\"] = new EnumInfo();\n";
|
||||||
|
}
|
||||||
|
if (meta) {
|
||||||
f << "\n\n// Classes\n";
|
f << "\n\n// Classes\n";
|
||||||
piForeachC (PICodeParser::Entity * e, parser.entities) {
|
piForeachC (PICodeParser::Entity * e, parser.entities) {
|
||||||
if (e->name.startsWith("_PI")) continue;
|
if (e->name.startsWith("_PI")) continue;
|
||||||
makeClassInfo(f, e);
|
makeClassInfo(f, e);
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
f << "\n// Enums\n";
|
if (enums) {
|
||||||
piForeachC (PICodeParser::Enum & e, parser.enums)
|
f << "\n// Enums\n";
|
||||||
makeEnumInfo(f, &e);
|
piForeachC (PICodeParser::Enum & e, parser.enums)
|
||||||
|
makeEnumInfo(f, &e);
|
||||||
|
}
|
||||||
f << "}\n";
|
f << "}\n";
|
||||||
f << "\n\nbool __ClassInfo_" << defname << "_Initializer__::_inited_ = false;\n";
|
f << "\n\nbool __ClassInfo_" << defname << "_Initializer__::_inited_ = false;\n";
|
||||||
}
|
}
|
||||||
@@ -268,7 +272,7 @@ void writeModel(PICodeParser & parser, const PIString out, bool meta, bool enums
|
|||||||
const PIVariant & arg1 = PIVariant(), const PIVariant & arg2 = PIVariant(), const PIVariant & arg3 = PIVariant());";
|
const PIVariant & arg1 = PIVariant(), const PIVariant & arg2 = PIVariant(), const PIVariant & arg3 = PIVariant());";
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if (meta) {
|
if (meta || enums) {
|
||||||
f << "\n\n// Metainformation\n\nclass __ClassInfo_" << defname << "_Initializer__ {\n";
|
f << "\n\n// Metainformation\n\nclass __ClassInfo_" << defname << "_Initializer__ {\n";
|
||||||
f << "public:\n\t__ClassInfo_" << defname << "_Initializer__();\n\tstatic bool _inited_;\n};\n";
|
f << "public:\n\t__ClassInfo_" << defname << "_Initializer__();\n\tstatic bool _inited_;\n};\n";
|
||||||
f << "\nstatic __ClassInfo_" << defname << "_Initializer__ __classinfo_" << defname.toLowerCase() << "_initializer__;\n";
|
f << "\nstatic __ClassInfo_" << defname << "_Initializer__ __classinfo_" << defname.toLowerCase() << "_initializer__;\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user