From 3bb3b01a76a778f72122b8b8be195943591b4721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Sun, 18 Oct 2015 08:22:10 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@164 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- utils/code_model_generator/main.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/utils/code_model_generator/main.cpp b/utils/code_model_generator/main.cpp index 52459a55..d0ee251c 100755 --- a/utils/code_model_generator/main.cpp +++ b/utils/code_model_generator/main.cpp @@ -221,23 +221,27 @@ void writeModel(PICodeParser & parser, const PIString out, bool meta, bool enums ventities << e; } */ - if (meta) { + if (meta || enums) { f << "\n\n// Metainformation\n\n__ClassInfo_" << defname << "_Initializer__::__ClassInfo_" << defname << "_Initializer__() {\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 << "\tEnumInfo * ei;\n"; - f << "\t(*enumsInfo)[\"\"] = new EnumInfo();\n"; - //if (!enums) { + if (enums) { + f << "\tEnumInfo * ei;\n"; + f << "\t(*enumsInfo)[\"\"] = new EnumInfo();\n"; + } + if (meta) { f << "\n\n// Classes\n"; piForeachC (PICodeParser::Entity * e, parser.entities) { if (e->name.startsWith("_PI")) continue; makeClassInfo(f, e); } - //} - f << "\n// Enums\n"; - piForeachC (PICodeParser::Enum & e, parser.enums) - makeEnumInfo(f, &e); + } + if (enums) { + f << "\n// Enums\n"; + piForeachC (PICodeParser::Enum & e, parser.enums) + makeEnumInfo(f, &e); + } f << "}\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());"; } */ - if (meta) { + if (meta || enums) { f << "\n\n// Metainformation\n\nclass __ClassInfo_" << defname << "_Initializer__ {\n"; f << "public:\n\t__ClassInfo_" << defname << "_Initializer__();\n\tstatic bool _inited_;\n};\n"; f << "\nstatic __ClassInfo_" << defname << "_Initializer__ __classinfo_" << defname.toLowerCase() << "_initializer__;\n";