From 7c5cf7bac4b343412b44dae63be89230bb6ca5e3 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: Sat, 10 Feb 2018 10:42:50 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@593 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src_main/code/picodeinfo.h | 7 ++++--- utils/code_model_generator/main.cpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src_main/code/picodeinfo.h b/src_main/code/picodeinfo.h index 5b9df1e9..e9a58b0d 100755 --- a/src_main/code/picodeinfo.h +++ b/src_main/code/picodeinfo.h @@ -97,10 +97,11 @@ inline PICout operator <<(PICout s, const PICodeInfo::TypeInfo & v) { s << v.type; if (!v.name.isEmpty()) s << " " << v.name; + s << " Meta" << v.meta; return s; } -inline PICout operator <<(PICout s, const PICodeInfo::EnumeratorInfo & v) {s << v.name << " = " << v.value; return s;} +inline PICout operator <<(PICout s, const PICodeInfo::EnumeratorInfo & v) {s << v.name << " = " << v.value << " Meta" << v.meta; return s;} inline PICout operator <<(PICout s, const PICodeInfo::ClassInfo & v) { s.setControl(0, true); @@ -114,7 +115,7 @@ inline PICout operator <<(PICout s, const PICodeInfo::ClassInfo & v) { s << i; } } - s << " {\n"; + s << " Meta" << v.meta << " {\n"; piForeachC (FunctionInfo & i, v.functions) { s << PICoutManipulators::Tab << i.return_type << " " << i.name << "("; bool fa = true; @@ -137,7 +138,7 @@ inline PICout operator <<(PICout s, const PICodeInfo::ClassInfo & v) { inline PICout operator <<(PICout s, const PICodeInfo::EnumInfo & v) { s.setControl(0, true); - s << "enum " << v.name << " {\n"; + s << "enum " << v.name << " Meta" << v.meta << " {\n"; piForeachC (EnumeratorInfo & i, v.members) { bool f = true; if (f) f = false; diff --git a/utils/code_model_generator/main.cpp b/utils/code_model_generator/main.cpp index 291c8ef4..c43602ad 100755 --- a/utils/code_model_generator/main.cpp +++ b/utils/code_model_generator/main.cpp @@ -148,8 +148,8 @@ void makeEnumInfo(PIFile & f, const PICodeParser::Enum * e) { } piForeachC (PICodeParser::EnumeratorInfo & m, e->members) { f << "\tei->members << PICodeInfo::EnumeratorInfo(\"" << m.name << "\", " << m.value << ");\n"; - if (!e->meta.isEmpty()) { - for (PICodeParser::MetaMap::const_iterator i = e->meta.begin(); i != e->meta.end(); ++i) + if (!m.meta.isEmpty()) { + for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i) f << "\tei->members.back().meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n"; } }