One more improvement of C++ parser...

git-svn-id: svn://ultimatepp.org/upp/trunk@455 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2008-09-18 17:30:10 +00:00
parent 6d4aaddf2e
commit fe935c717e
2 changed files with 14 additions and 9 deletions

View file

@ -1382,13 +1382,6 @@ void Parser::Do(Stream& in, const Vector<String>& ignore, CppBase& _base, const
file = PreProcess(in);
lex.Init(~file.text, ignore);
err = _err;
current_nest = "::";
context.access = PUBLIC;
context.noclass = true;
context.typenames.Clear();
for(int i = 0; i < typenames.GetCount(); i++)
context.typenames.Add(lex.Id(typenames[i]));
context.namespacel = 0;
inbody = false;
filei = GetCppFileIndex(fn);
lpos = 0;
@ -1399,6 +1392,14 @@ void Parser::Do(Stream& in, const Vector<String>& ignore, CppBase& _base, const
while(lex != t_eof)
try {
try {
current_nest = "::";
context.access = PUBLIC;
context.noclass = true;
context.typenames.Clear();
context.tparam.Clear();
for(int i = 0; i < typenames.GetCount(); i++)
context.typenames.Add(lex.Id(typenames[i]));
context.namespacel = 0;
Do();
}
catch(Error) {