Use switch for readability.

llvm-svn: 206638
This commit is contained in:
Rui Ueyama 2014-04-18 19:59:33 +00:00
parent bb094f0669
commit a2b0334e93
1 changed files with 15 additions and 12 deletions

View File

@ -105,8 +105,9 @@ void Parser::error(const Token &tok, Twine msg) {
llvm::Optional<Directive *> Parser::parse() {
consumeToken();
switch (_tok._kind) {
case Kind::kw_exports: {
// EXPORTS
if (_tok._kind == Kind::kw_exports) {
std::vector<PECOFFLinkingContext::ExportDesc> exports;
for (;;) {
PECOFFLinkingContext::ExportDesc desc;
@ -116,38 +117,40 @@ llvm::Optional<Directive *> Parser::parse() {
}
return new (_alloc) Exports(exports);
}
case Kind::kw_heapsize: {
// HEAPSIZE
if (_tok._kind == Kind::kw_heapsize) {
uint64_t reserve, commit;
if (!parseMemorySize(reserve, commit))
return llvm::None;
return new (_alloc) Heapsize(reserve, commit);
}
case Kind::kw_stacksize: {
// STACKSIZE
if (_tok._kind == Kind::kw_stacksize) {
uint64_t reserve, commit;
if (!parseMemorySize(reserve, commit))
return llvm::None;
return new (_alloc) Stacksize(reserve, commit);
}
case Kind::kw_name: {
// NAME
if (_tok._kind == Kind::kw_name) {
std::string outputPath;
uint64_t baseaddr;
if (!parseName(outputPath, baseaddr))
return llvm::None;
return new (_alloc) Name(outputPath, baseaddr);
}
case Kind::kw_version: {
// VERSION
if (_tok._kind == Kind::kw_version) {
int major, minor;
if (!parseVersion(major, minor))
return llvm::None;
return new (_alloc) Version(major, minor);
}
default:
error(_tok, Twine("Unknown directive: ") + _tok._range);
return llvm::None;
}
}
bool Parser::parseExport(PECOFFLinkingContext::ExportDesc &result) {
consumeToken();