From b2509167dd3fc9daa688f79ea55bdc4a2ee3b293 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:54:39 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@594 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src_main/code/picodeinfo.h | 5 ++--- src_main/code/picodeparser.cpp | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src_main/code/picodeinfo.h b/src_main/code/picodeinfo.h index e9a58b0d..e8c08e2d 100755 --- a/src_main/code/picodeinfo.h +++ b/src_main/code/picodeinfo.h @@ -97,7 +97,6 @@ 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; } @@ -124,12 +123,12 @@ inline PICout operator <<(PICout s, const PICodeInfo::ClassInfo & v) { else s << ", "; s << a; } - s << ");\n"; + s << ") Meta" << i.meta << ";\n"; } if (!v.functions.isEmpty() && !v.variables.isEmpty()) s << "\n"; piForeachC (TypeInfo & i, v.variables) { - s << PICoutManipulators::Tab << i << ";\n"; + s << PICoutManipulators::Tab << i << " Meta" << i.meta << ";\n"; } s << "}\n"; s.restoreControl(); diff --git a/src_main/code/picodeparser.cpp b/src_main/code/picodeparser.cpp index b8859461..ebe698ba 100755 --- a/src_main/code/picodeparser.cpp +++ b/src_main/code/picodeparser.cpp @@ -530,7 +530,7 @@ bool PICodeParser::parseMember(Entity * parent, PIString & fc) { tmp_temp[crepl] = "<" + ctemp + ">"; ts = fc.find("<", te); } - fc.replaceAll("\n", " ").replaceAll("\t", " ").replaceAll(" ", " ").replaceAll(", ", ",").replaceAll(" $M", "$M"); + fc.replaceAll("\n", " ").replaceAll("\t", " ").replaceAll(" ", " ").replaceAll(", ", ",").replaceAll(" (", "(").replaceAll(" $M", "$M"); //piCout << "parse member" << fc; PIStringList tl, al; Member me; @@ -540,7 +540,7 @@ bool PICodeParser::parseMember(Entity * parent, PIString & fc) { int ind = fc.find("$M"); if (ind >= 0) { meta = tmp_meta.value(fc.takeMid(ind, 5)); - fc.replaceAll(" ", " "); + fc.replaceAll(" ", " ").replaceAll(" (", "("); } fc.cutRight(fc.size_s() - fc.findLast(")") - 1); te = fc.find("(");