}
}
-// checkNumberOfArguments - Ensure that the number of args in d is
+// CheckNumberOfArguments - Ensure that the number of args in d is
// greater than or equal to min_arguments, otherwise throw an exception.
-void checkNumberOfArguments (const DagInit& d, unsigned minArgs) {
+void CheckNumberOfArguments (const DagInit& d, unsigned minArgs) {
if (d.getNumArgs() < minArgs)
throw GetOperatorName(d) + ": too few arguments!";
}
-// isDagEmpty - is this DAG marked with an empty marker?
-bool isDagEmpty (const DagInit& d) {
+// IsDagEmpty - is this DAG marked with an empty marker?
+bool IsDagEmpty (const DagInit& d) {
return GetOperatorName(d) == "empty_dag_marker";
}
return ret;
}
-/// oneOf - Does the input string contain this character?
-bool oneOf(const char* lst, char c) {
+/// OneOf - Does the input string contain this character?
+bool OneOf(const char* lst, char c) {
while (*lst) {
if (*lst++ == c)
return true;
}
template <class I, class S>
-void checkedIncrement(I& P, I E, S ErrorString) {
+void CheckedIncrement(I& P, I E, S ErrorString) {
++P;
if (P == E)
throw ErrorString;
/// Methods that handle option properties such as (help) or (hidden).
void onExtern (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
optDesc_.setExtern();
}
void onHelp (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
optDesc_.Help = InitPtrToString(d.getArg(0));
}
void onHidden (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
optDesc_.setHidden();
}
void onReallyHidden (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
optDesc_.setReallyHidden();
}
void onCommaSeparated (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
if (!optDesc_.isList())
throw "'comma_separated' is valid only on list options!";
optDesc_.setCommaSeparated();
}
void onRequired (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
if (optDesc_.isOneOrMore() || optDesc_.isOptional())
throw "Only one of (required), (optional) or "
"(one_or_more) properties is allowed!";
}
void onInit (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
Init* i = d.getArg(0);
const std::string& str = i->getAsString();
}
void onOneOrMore (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
if (optDesc_.isRequired() || optDesc_.isOptional())
throw "Only one of (required), (optional) or "
"(one_or_more) properties is allowed!";
}
void onOptional (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
if (optDesc_.isRequired() || optDesc_.isOneOrMore())
throw "Only one of (required), (optional) or "
"(one_or_more) properties is allowed!";
}
void onMultiVal (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
int val = InitPtrToInt(d.getArg(0));
if (val < 2)
throw "Error in the 'multi_val' property: "
void operator()(const Init* i) {
const DagInit& d = InitPtrToDag(i);
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
const OptionType::OptionType Type =
stringToOptionType(GetOperatorName(d));
OptionDescription OD(Type, Name);
if (!OD.isExtern())
- checkNumberOfArguments(d, 2);
+ CheckNumberOfArguments(d, 2);
if (OD.isAlias()) {
// Aliases store the aliased option name in the 'Help' field.
/// processOptionProperties - Go through the list of option
/// properties and call a corresponding handler for each.
static void processOptionProperties (const DagInit& d, OptionDescription& o) {
- checkNumberOfArguments(d, 2);
+ CheckNumberOfArguments(d, 2);
DagInit::const_arg_iterator B = d.arg_begin();
// Skip the first argument: it's always the option name.
++B;
/// DAG representation.
void onActions (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
Init* Case = d.getArg(0);
if (typeid(*Case) != typeid(DagInit) ||
GetOperatorName(static_cast<DagInit&>(*Case)) != "case")
}
void onCmdLine (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
toolDesc_.CmdLine = d.getArg(0);
}
void onInLanguage (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
Init* arg = d.getArg(0);
// Find out the argument's type.
}
void onJoin (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
toolDesc_.setJoin();
}
void onOutLanguage (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
toolDesc_.OutLanguage = InitPtrToString(d.getArg(0));
}
void onOutputSuffix (const DagInit& d) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
toolDesc_.OutputSuffix = InitPtrToString(d.getArg(0));
}
void onSink (const DagInit& d) {
- checkNumberOfArguments(d, 0);
+ CheckNumberOfArguments(d, 0);
toolDesc_.setSink();
}
ActionName == "switch_on" || ActionName == "parameter_equals" ||
ActionName == "element_in_list" || ActionName == "not_empty" ||
ActionName == "empty") {
- checkNumberOfArguments(Stmt, 1);
+ CheckNumberOfArguments(Stmt, 1);
const std::string& Name = InitPtrToString(Stmt.getArg(0));
OptionNames_.insert(Name);
}
const Record* Edge = *B;
DagInit& Weight = *Edge->getValueAsDag("weight");
- if (!isDagEmpty(Weight))
+ if (!IsDagEmpty(Weight))
WalkCase(&Weight, ExtractOptionNames(nonSuperfluousOptions), Id());
}
const DagInit& d,
const OptionDescriptions& OptDescs,
raw_ostream& O) {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
if (typeid(*d.getArg(0)) == typeid(ListInit))
return EmitCaseTest1ArgList(TestName, d, OptDescs, O);
else
unsigned IndentLevel,
const OptionDescriptions& OptDescs,
raw_ostream& O) {
- checkNumberOfArguments(d, 2);
+ CheckNumberOfArguments(d, 2);
const std::string& OptName = InitPtrToString(d.getArg(0));
const std::string& OptArg = InitPtrToString(d.getArg(1));
void EmitLogicalNot(const DagInit& d, unsigned IndentLevel,
const OptionDescriptions& OptDescs, raw_ostream& O)
{
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
const DagInit& InnerTest = InitPtrToDag(d.getArg(0));
O << "! (";
EmitCaseTest(InnerTest, IndentLevel, OptDescs, O);
cur_st = SpecialCommand;
break;
}
- if (oneOf(Delimiters, cur_ch)) {
+ if (OneOf(Delimiters, cur_ch)) {
// Skip whitespace
B = CmdLine.find_first_not_of(Delimiters, B);
if (B == std::string::npos) {
case SpecialCommand:
- if (oneOf(Delimiters, cur_ch)) {
+ if (OneOf(Delimiters, cur_ch)) {
cur_st = Normal;
Out.push_back("");
continue;
break;
case InsideSpecialCommand:
- if (oneOf(Delimiters, cur_ch)) {
+ if (OneOf(Delimiters, cur_ch)) {
continue;
}
if (cur_ch == '\'') {
bool IsJoin, raw_ostream& O)
{
const char* errorMessage = "Syntax error in $CALL invocation!";
- checkedIncrement(Pos, End, errorMessage);
+ CheckedIncrement(Pos, End, errorMessage);
const std::string& CmdName = *Pos;
if (CmdName == ")")
bool firstIteration = true;
while (true) {
- checkedIncrement(Pos, End, errorMessage);
+ CheckedIncrement(Pos, End, errorMessage);
const std::string& Arg = *Pos;
assert(Arg.size() != 0);
StrVector::const_iterator End, raw_ostream& O)
{
const char* errorMessage = "Syntax error in $ENV invocation!";
- checkedIncrement(Pos, End, errorMessage);
+ CheckedIncrement(Pos, End, errorMessage);
const std::string& EnvName = *Pos;
if (EnvName == ")")
O << EnvName;
O << "\"))";
- checkedIncrement(Pos, End, errorMessage);
+ CheckedIncrement(Pos, End, errorMessage);
return Pos;
}
void onWarningDag(const DagInit& d,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
O.indent(IndentLevel) << "llvm::errs() << \""
<< InitPtrToString(d.getArg(0)) << "\";\n";
}
void onAppendCmd (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 1);
+ CheckNumberOfArguments(Dag, 1);
this->EmitHookInvocation(InitPtrToString(Dag.getArg(0)),
"vec.push_back(", ");\n", IndentLevel, O);
}
void onForward (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 1);
+ CheckNumberOfArguments(Dag, 1);
const std::string& Name = InitPtrToString(Dag.getArg(0));
EmitForwardOptionPropertyHandlingCode(OptDescs.FindOption(Name),
IndentLevel, "", O);
void onForwardAs (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 2);
+ CheckNumberOfArguments(Dag, 2);
const std::string& Name = InitPtrToString(Dag.getArg(0));
const std::string& NewName = InitPtrToString(Dag.getArg(1));
EmitForwardOptionPropertyHandlingCode(OptDescs.FindOption(Name),
void onForwardValue (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 1);
+ CheckNumberOfArguments(Dag, 1);
const std::string& Name = InitPtrToString(Dag.getArg(0));
const OptionDescription& D = OptDescs.FindListOrParameter(Name);
void onForwardTransformedValue (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 2);
+ CheckNumberOfArguments(Dag, 2);
const std::string& Name = InitPtrToString(Dag.getArg(0));
const std::string& Hook = InitPtrToString(Dag.getArg(1));
const OptionDescription& D = OptDescs.FindListOrParameter(Name);
void onOutputSuffix (const DagInit& Dag,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(Dag, 1);
+ CheckNumberOfArguments(Dag, 1);
this->EmitHookInvocation(InitPtrToString(Dag.getArg(0)),
"output_suffix = ", ";\n", IndentLevel, O);
}
void onListOrDag(const DagInit& d, HandlerImpl h,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
const Init* I = d.getArg(0);
// If I is a list, apply h to each element.
void onSetOptionImpl(const DagInit& d,
unsigned IndentLevel, raw_ostream& O) const {
- checkNumberOfArguments(d, 2);
+ CheckNumberOfArguments(d, 2);
const std::string& OptName = InitPtrToString(d.getArg(0));
const Init* Value = d.getArg(1);
const OptionDescription& OptDesc = OptDescs_.FindOption(OptName);
void onSetOption(const DagInit& d,
unsigned IndentLevel, raw_ostream& O) const
{
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
// Two arguments: (set_option "parameter", VALUE), where VALUE can be a
// boolean, a string or a string list.
O.indent(IndentLevel) << "ret -= ";
}
else if (OpName == "error") {
- checkNumberOfArguments(d, 1);
+ CheckNumberOfArguments(d, 1);
O.indent(IndentLevel) << "throw std::runtime_error(\""
<< InitPtrToString(d.getArg(0))
<< "\");\n";
const std::string& NodeB = Edge->getValueAsString("b");
DagInit& Weight = *Edge->getValueAsDag("weight");
- if (!isDagEmpty(Weight))
+ if (!IsDagEmpty(Weight))
EmitEdgeClass(i, NodeB, &Weight, OptDescs, O);
++i;
}
O.indent(Indent1) << "G.insertEdge(\"" << NodeA << "\", ";
- if (isDagEmpty(Weight))
+ if (IsDagEmpty(Weight))
O << "new SimpleEdge(\"" << NodeB << "\")";
else
O << "new Edge" << i << "()";
const std::string& Name = GetOperatorName(Dag);
if (Name == "forward_transformed_value") {
- checkNumberOfArguments(Dag, 2);
+ CheckNumberOfArguments(Dag, 2);
const std::string& OptName = InitPtrToString(Dag.getArg(0));
const std::string& HookName = InitPtrToString(Dag.getArg(1));
const OptionDescription& D = OptDescs_.FindOption(OptName);
: HookInfo::ArgHook);
}
else if (Name == "append_cmd" || Name == "output_suffix") {
- checkNumberOfArguments(Dag, 1);
+ CheckNumberOfArguments(Dag, 1);
this->onCmdLine(InitPtrToString(Dag.getArg(0)));
}
}
if (cmd == "$CALL") {
unsigned NumArgs = 0;
- checkedIncrement(B, E, "Syntax error in $CALL invocation!");
+ CheckedIncrement(B, E, "Syntax error in $CALL invocation!");
const std::string& HookName = *B;
if (HookName.at(0) == ')')