- Added debug.parser=3 support to ::desugarPlainArgs.
This commit is contained in:
Paul Beckingham 2014-10-31 20:00:36 -04:00
parent 08310cf2a2
commit d54c9da021

View file

@ -1436,6 +1436,7 @@ void CLI::insertIDExpr ()
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
void CLI::desugarPlainArgs () void CLI::desugarPlainArgs ()
{ {
bool changes = false;
std::vector <A> reconstructed; std::vector <A> reconstructed;
std::vector <A>::iterator a; std::vector <A>::iterator a;
std::vector <A>::iterator prev = _args.begin (); std::vector <A>::iterator prev = _args.begin ();
@ -1464,6 +1465,7 @@ void CLI::desugarPlainArgs ()
rhs.tag ("LITERAL"); rhs.tag ("LITERAL");
rhs.tag ("FILTER"); rhs.tag ("FILTER");
reconstructed.push_back (rhs); reconstructed.push_back (rhs);
changes = true;
} }
else else
reconstructed.push_back (*a); reconstructed.push_back (*a);
@ -1471,7 +1473,13 @@ void CLI::desugarPlainArgs ()
prev = a; prev = a;
} }
_args = reconstructed; if (changes)
{
_args = reconstructed;
if (context.config.getInteger ("debug.parser") >= 3)
context.debug (context.cli.dump ("CLI::analyze desugarPlainArgs"));
}
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////