(llvm up) Convert clang-cc.cpp:GetLanguage to StringSwitch.

llvm-svn: 86608
This commit is contained in:
Daniel Dunbar 2009-11-09 22:45:47 +00:00
parent 68ec7ee0e8
commit 06d4716297
1 changed files with 15 additions and 26 deletions

View File

@ -440,32 +440,21 @@ static LangKind GetLanguage(llvm::StringRef Filename) {
if (BaseLang != langkind_unspecified) if (BaseLang != langkind_unspecified)
return BaseLang; return BaseLang;
llvm::StringRef Ext = Filename.rsplit('.').second; return llvm::StringSwitch<LangKind>(Filename.rsplit('.').second)
if (Ext == "ast") .Case("ast", langkind_ast)
return langkind_ast; .Case("c", langkind_c)
else if (Ext == "c") .Cases("S", "s", langkind_asm_cpp)
return langkind_c; .Case("i", langkind_c_cpp)
else if (Ext == "S" || Ext == "s") .Case("ii", langkind_cxx_cpp)
return langkind_asm_cpp; .Case("m", langkind_objc)
else if (Ext == "i") .Case("mi", langkind_objc_cpp)
return langkind_c_cpp; .Cases("mm", "M", langkind_objcxx)
else if (Ext == "ii") .Case("mii", langkind_objcxx_cpp)
return langkind_cxx_cpp; .Case("C", langkind_cxx)
else if (Ext == "m") .Cases("C", "cc", "cp", langkind_cxx)
return langkind_objc; .Cases("cpp", "CPP", "c++", "cxx", langkind_cxx)
else if (Ext == "mi") .Case("cl", langkind_ocl)
return langkind_objc_cpp; .Default(langkind_c);
else if (Ext == "mm" || Ext == "M")
return langkind_objcxx;
else if (Ext == "mii")
return langkind_objcxx_cpp;
else if (Ext == "C" || Ext == "cc" || Ext == "cpp" || Ext == "CPP" ||
Ext == "c++" || Ext == "cp" || Ext == "cxx")
return langkind_cxx;
else if (Ext == "cl")
return langkind_ocl;
else
return langkind_c;
} }