// less than or equal to min_arguments, otherwise throw an exception.
void checkNumberOfArguments (const DagInit* d, unsigned min_arguments) {
if (!d || d->getNumArgs() < min_arguments)
- throw "Property " + d->getOperator()->getAsString()
- + " has too few arguments!";
+ throw d->getOperator()->getAsString()
+ + ": too few arguments!";
}
// isDagEmpty - is this DAG marked with an empty marker?
assert(Leftover.at(0) == ')');
if (Leftover.size() != 1)
O << " + std::string(\"" << (Leftover.c_str() + 1) << "\")";
- O << ')';
return Pos;
}
StrVector::const_iterator I = StrVec.begin(), E = StrVec.end();
// If there is a hook invocation on the place of the first command, skip it.
+ assert(!StrVec[0].empty());
if (StrVec[0][0] == '$') {
while (I != E && (*I)[0] != ')' )
++I;
for (; I != E; ++I) {
const std::string& cmd = *I;
- // std::cerr << cmd;
+ assert(!cmd.empty());
O << IndentLevel;
if (cmd.at(0) == '$') {
if (cmd == "$INFILE") {
else if (ActionName == "forward_as") {
checkNumberOfArguments(&Dag, 2);
const std::string& Name = InitPtrToString(Dag.getArg(0));
- const std::string& NewName = InitPtrToString(Dag.getArg(0));
+ const std::string& NewName = InitPtrToString(Dag.getArg(1));
EmitForwardOptionPropertyHandlingCode(OptDescs.FindOption(Name),
IndentLevel, NewName, O);
}
}
-/// EmitOptionDefintions - Iterate over a list of option descriptions
+/// EmitOptionDefinitions - Iterate over a list of option descriptions
/// and emit registration code.
-void EmitOptionDefintions (const OptionDescriptions& descs,
- bool HasSink, bool HasExterns,
- std::ostream& O)
+void EmitOptionDefinitions (const OptionDescriptions& descs,
+ bool HasSink, bool HasExterns,
+ std::ostream& O)
{
std::vector<OptionDescription> Aliases;
EmitIncludes(O);
// Emit global option registration code.
- EmitOptionDefintions(Data.OptDescs, Data.HasSink, Data.HasExterns, O);
+ EmitOptionDefinitions(Data.OptDescs, Data.HasSink, Data.HasExterns, O);
// Emit hook declarations.
EmitHookDeclarations(Data.ToolDescs, O);