ArgList: use MakeArgList overloads in subclasses and clean up some calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211340 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Justin Bogner
2014-06-20 04:36:29 +00:00
parent d2ce9392dc
commit 14d8c9e550
2 changed files with 13 additions and 15 deletions

View File

@@ -350,30 +350,27 @@ void DerivedArgList::AddSynthesizedArg(Arg *A) {
}
Arg *DerivedArgList::MakeFlagArg(const Arg *BaseArg, const Option Opt) const {
SynthesizedArgs.push_back(make_unique<Arg>(
Opt,
ArgList::MakeArgString(Twine(Opt.getPrefix()) + Twine(Opt.getName())),
BaseArgs.MakeIndex(Opt.getName()), BaseArg));
SynthesizedArgs.push_back(
make_unique<Arg>(Opt, MakeArgString(Opt.getPrefix() + Opt.getName()),
BaseArgs.MakeIndex(Opt.getName()), BaseArg));
return SynthesizedArgs.back().get();
}
Arg *DerivedArgList::MakePositionalArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const {
unsigned Index = BaseArgs.MakeIndex(Value);
SynthesizedArgs.push_back(make_unique<Arg>(
Opt,
ArgList::MakeArgString(Twine(Opt.getPrefix()) + Twine(Opt.getName())),
Index, BaseArgs.getArgString(Index), BaseArg));
SynthesizedArgs.push_back(
make_unique<Arg>(Opt, MakeArgString(Opt.getPrefix() + Opt.getName()),
Index, BaseArgs.getArgString(Index), BaseArg));
return SynthesizedArgs.back().get();
}
Arg *DerivedArgList::MakeSeparateArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const {
unsigned Index = BaseArgs.MakeIndex(Opt.getName(), Value);
SynthesizedArgs.push_back(make_unique<Arg>(
Opt,
ArgList::MakeArgString(Twine(Opt.getPrefix()) + Twine(Opt.getName())),
Index, BaseArgs.getArgString(Index + 1), BaseArg));
SynthesizedArgs.push_back(
make_unique<Arg>(Opt, MakeArgString(Opt.getPrefix() + Opt.getName()),
Index, BaseArgs.getArgString(Index + 1), BaseArg));
return SynthesizedArgs.back().get();
}
@@ -381,8 +378,7 @@ Arg *DerivedArgList::MakeJoinedArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const {
unsigned Index = BaseArgs.MakeIndex(Opt.getName().str() + Value.str());
SynthesizedArgs.push_back(make_unique<Arg>(
Opt,
ArgList::MakeArgString(Twine(Opt.getPrefix()) + Twine(Opt.getName())),
Index, BaseArgs.getArgString(Index) + Opt.getName().size(), BaseArg));
Opt, MakeArgString(Opt.getPrefix() + Opt.getName()), Index,
BaseArgs.getArgString(Index) + Opt.getName().size(), BaseArg));
return SynthesizedArgs.back().get();
}