- Added debug.parser=3 support to ::desugarAttributes.
This commit is contained in:
Paul Beckingham 2014-10-31 19:58:24 -04:00
parent 255d7b2126
commit 73e767ec3e

View file

@ -797,6 +797,7 @@ void CLI::desugarTags ()
// <name>:['"][<value>]['"] --> name = value // <name>:['"][<value>]['"] --> name = value
void CLI::desugarAttributes () void CLI::desugarAttributes ()
{ {
bool changes = false;
std::vector <A> reconstructed; std::vector <A> reconstructed;
std::vector <A>::iterator a; std::vector <A>::iterator a;
for (a = _args.begin (); a != _args.end (); ++a) for (a = _args.begin (); a != _args.end (); ++a)
@ -882,14 +883,22 @@ void CLI::desugarAttributes ()
} }
} }
if (!found) if (found)
changes = true;
else
reconstructed.push_back (*a); reconstructed.push_back (*a);
} }
else else
reconstructed.push_back (*a); reconstructed.push_back (*a);
} }
_args = reconstructed; if (changes)
{
_args = reconstructed;
if (context.config.getInteger ("debug.parser") >= 3)
context.debug (context.cli.dump ("CLI::analyze desugarAttributes"));
}
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////