git-svn-id: svn://db.shs.com.ru/pip@893 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -163,7 +163,7 @@ bool PICodeParser::parseFileInternal(const PIString & file, bool follow_includes
|
|||||||
}
|
}
|
||||||
//piCout << "add" << file;
|
//piCout << "add" << file;
|
||||||
proc_files << f.path();
|
proc_files << f.path();
|
||||||
PIString fc = f.readAll();
|
PIString fc = PIString::fromUTF8(f.readAll());
|
||||||
piCout << "parsing" << f.path() << "...";
|
piCout << "parsing" << f.path() << "...";
|
||||||
bool is_main = isMainFile(fc);
|
bool is_main = isMainFile(fc);
|
||||||
if (is_main) main_file = f.path();
|
if (is_main) main_file = f.path();
|
||||||
@@ -201,6 +201,7 @@ bool PICodeParser::parseFileContent(PIString & fc, bool main) {
|
|||||||
fc.replaceAll("\r\n", "\n");
|
fc.replaceAll("\r\n", "\n");
|
||||||
fc.replaceAll("\r", "\n");
|
fc.replaceAll("\r", "\n");
|
||||||
for (int i = 0; i < fc.size_s() - 1; ++i) {
|
for (int i = 0; i < fc.size_s() - 1; ++i) {
|
||||||
|
if (fc[i].unicode16Code() >= 255) continue;
|
||||||
if (i > 0) pc = c;
|
if (i > 0) pc = c;
|
||||||
c = fc[i].toAscii();
|
c = fc[i].toAscii();
|
||||||
if (c == '"' && !mlc && pc != '\'') {
|
if (c == '"' && !mlc && pc != '\'') {
|
||||||
@@ -226,7 +227,7 @@ bool PICodeParser::parseFileContent(PIString & fc, bool main) {
|
|||||||
if (fc.mid(i, 2) == "*/" && mlc) {mlc = false; fc.cutMid(mls, i - mls + 2); i = mls - 1; continue;}
|
if (fc.mid(i, 2) == "*/" && mlc) {mlc = false; fc.cutMid(mls, i - mls + 2); i = mls - 1; continue;}
|
||||||
if (fc.mid(i, 2) == "//" && !mlc) {ole = fc.find('\n', i); fc.cutMid(i, ole < 0 ? -1 : ole - i); --i; continue;}
|
if (fc.mid(i, 2) == "//" && !mlc) {ole = fc.find('\n', i); fc.cutMid(i, ole < 0 ? -1 : ole - i); --i; continue;}
|
||||||
}
|
}
|
||||||
//piCout << fc;
|
//PICout(PICoutManipulators::DefaultControls) << fc;
|
||||||
pfc = procMacros(fc);
|
pfc = procMacros(fc);
|
||||||
|
|
||||||
replaceMeta(pfc);
|
replaceMeta(pfc);
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ void makeClassInfo(PIFile & f, const PICodeParser::Entity * e) {
|
|||||||
f << "\tci->has_name = " << (e->has_name ? "true" : "false") << ";\n";
|
f << "\tci->has_name = " << (e->has_name ? "true" : "false") << ";\n";
|
||||||
if (!e->meta.isEmpty()) {
|
if (!e->meta.isEmpty()) {
|
||||||
for (PICodeParser::MetaMap::const_iterator i = e->meta.begin(); i != e->meta.end(); ++i)
|
for (PICodeParser::MetaMap::const_iterator i = e->meta.begin(); i != e->meta.end(); ++i)
|
||||||
f << "\tci->meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n";
|
f << "\tci->meta[\"" << i.key() << "\"] = PIString::fromUTF8(\"" << i.value() << "\");\n";
|
||||||
}
|
}
|
||||||
f << "\t(*classesInfo)[ci->name] = ci;\n";
|
f << "\t(*classesInfo)[ci->name] = ci;\n";
|
||||||
if (e->parent_scope) {
|
if (e->parent_scope) {
|
||||||
@@ -117,7 +117,7 @@ void makeClassInfo(PIFile & f, const PICodeParser::Entity * e) {
|
|||||||
f << ");\n";
|
f << ");\n";
|
||||||
if (!m.meta.isEmpty()) {
|
if (!m.meta.isEmpty()) {
|
||||||
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
||||||
f << "\tti.meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n";
|
f << "\tti.meta[\"" << i.key() << "\"] = PIString::fromUTF8(\"" << i.value() << "\");\n";
|
||||||
}
|
}
|
||||||
f << "\tci->variables << ti;\n";
|
f << "\tci->variables << ti;\n";
|
||||||
}
|
}
|
||||||
@@ -156,7 +156,7 @@ void makeClassInfo(PIFile & f, const PICodeParser::Entity * e) {
|
|||||||
}
|
}
|
||||||
if (!m.meta.isEmpty()) {
|
if (!m.meta.isEmpty()) {
|
||||||
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
||||||
f << "\tfi->meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n";
|
f << "\tfi->meta[\"" << i.key() << "\"] = PIString::fromUTF8(\"" << i.value() << "\");\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,14 +171,14 @@ void makeEnumInfo(PIFile & f, const PICodeParser::Enum * e) {
|
|||||||
f << "\tei->name = \"" << e->name << "\";\n";
|
f << "\tei->name = \"" << e->name << "\";\n";
|
||||||
if (!e->meta.isEmpty()) {
|
if (!e->meta.isEmpty()) {
|
||||||
for (PICodeParser::MetaMap::const_iterator i = e->meta.begin(); i != e->meta.end(); ++i)
|
for (PICodeParser::MetaMap::const_iterator i = e->meta.begin(); i != e->meta.end(); ++i)
|
||||||
f << "\tei->meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n";
|
f << "\tei->meta[\"" << i.key() << "\"] = PIString::fromUTF8(\"" << i.value() << "\");\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
piForeachC (PICodeParser::EnumeratorInfo & m, e->members) {
|
piForeachC (PICodeParser::EnumeratorInfo & m, e->members) {
|
||||||
f << "\tei->members << PICodeInfo::EnumeratorInfo(\"" << m.name << "\", " << m.value << ");\n";
|
f << "\tei->members << PICodeInfo::EnumeratorInfo(\"" << m.name << "\", " << m.value << ");\n";
|
||||||
if (!m.meta.isEmpty()) {
|
if (!m.meta.isEmpty()) {
|
||||||
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
for (PICodeParser::MetaMap::const_iterator i = m.meta.begin(); i != m.meta.end(); ++i)
|
||||||
f << "\tei->members.back().meta[\"" << i.key() << "\"] = \"" << i.value() << "\";\n";
|
f << "\tei->members.back().meta[\"" << i.key() << "\"] = PIString::fromUTF8(\"" << i.value() << "\");\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user