summaryrefslogtreecommitdiffstats
path: root/Source/cmCommandArgumentParserHelper.cxx
diff options
context:
space:
mode:
authorKitware Robot <kwrobot@kitware.com>2016-05-16 14:34:04 (GMT)
committerBrad King <brad.king@kitware.com>2016-05-16 20:05:19 (GMT)
commitd9fd2f5402eeaa345691313658e02b51038f570b (patch)
treedca71b9a7e267f4c6300da3eb770415381726785 /Source/cmCommandArgumentParserHelper.cxx
parent82df6deaafb36cbbfd450202bb20b320f637751a (diff)
downloadCMake-d9fd2f5402eeaa345691313658e02b51038f570b.zip
CMake-d9fd2f5402eeaa345691313658e02b51038f570b.tar.gz
CMake-d9fd2f5402eeaa345691313658e02b51038f570b.tar.bz2
Revise C++ coding style using clang-format
Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
Diffstat (limited to 'Source/cmCommandArgumentParserHelper.cxx')
-rw-r--r--Source/cmCommandArgumentParserHelper.cxx265
1 files changed, 111 insertions, 154 deletions
diff --git a/Source/cmCommandArgumentParserHelper.cxx b/Source/cmCommandArgumentParserHelper.cxx
index 0b2fd81..a4f3c7d 100644
--- a/Source/cmCommandArgumentParserHelper.cxx
+++ b/Source/cmCommandArgumentParserHelper.cxx
@@ -18,7 +18,7 @@
#include "cmCommandArgumentLexer.h"
-int cmCommandArgument_yyparse( yyscan_t yyscanner );
+int cmCommandArgument_yyparse(yyscan_t yyscanner);
//
cmCommandArgumentParserHelper::cmCommandArgumentParserHelper()
{
@@ -30,7 +30,7 @@ cmCommandArgumentParserHelper::cmCommandArgumentParserHelper()
this->EmptyVariable[0] = 0;
strcpy(this->DCURLYVariable, "${");
strcpy(this->RCURLYVariable, "}");
- strcpy(this->ATVariable, "@");
+ strcpy(this->ATVariable, "@");
strcpy(this->DOLLARVariable, "$");
strcpy(this->LCURLYVariable, "{");
strcpy(this->BSLASHVariable, "\\");
@@ -39,7 +39,6 @@ cmCommandArgumentParserHelper::cmCommandArgumentParserHelper()
this->ReplaceAtSyntax = false;
}
-
cmCommandArgumentParserHelper::~cmCommandArgumentParserHelper()
{
this->CleanupParser();
@@ -53,11 +52,10 @@ void cmCommandArgumentParserHelper::SetLineFile(long line, const char* file)
char* cmCommandArgumentParserHelper::AddString(const std::string& str)
{
- if ( str.empty() )
- {
+ if (str.empty()) {
return this->EmptyVariable;
- }
- char* stVal = new char[str.size()+1];
+ }
+ char* stVal = new char[str.size() + 1];
strcpy(stVal, str.c_str());
this->Variables.push_back(stVal);
return stVal;
@@ -66,46 +64,34 @@ char* cmCommandArgumentParserHelper::AddString(const std::string& str)
char* cmCommandArgumentParserHelper::ExpandSpecialVariable(const char* key,
const char* var)
{
- if ( !key )
- {
+ if (!key) {
return this->ExpandVariable(var);
- }
- if(!var)
- {
+ }
+ if (!var) {
return this->EmptyVariable;
- }
- if ( strcmp(key, "ENV") == 0 )
- {
- char *ptr = getenv(var);
- if (ptr)
- {
- if (this->EscapeQuotes)
- {
+ }
+ if (strcmp(key, "ENV") == 0) {
+ char* ptr = getenv(var);
+ if (ptr) {
+ if (this->EscapeQuotes) {
return this->AddString(cmSystemTools::EscapeQuotes(ptr));
- }
- else
- {
+ } else {
return ptr;
- }
}
- return this->EmptyVariable;
}
- if ( strcmp(key, "CACHE") == 0 )
- {
- if(const char* c = this->Makefile->GetState()
- ->GetInitializedCacheValue(var))
- {
- if(this->EscapeQuotes)
- {
+ return this->EmptyVariable;
+ }
+ if (strcmp(key, "CACHE") == 0) {
+ if (const char* c =
+ this->Makefile->GetState()->GetInitializedCacheValue(var)) {
+ if (this->EscapeQuotes) {
return this->AddString(cmSystemTools::EscapeQuotes(c));
- }
- else
- {
+ } else {
return this->AddString(c);
- }
}
- return this->EmptyVariable;
}
+ return this->EmptyVariable;
+ }
std::ostringstream e;
e << "Syntax $" << key << "{} is not supported. "
<< "Only ${}, $ENV{}, and $CACHE{} are allowed.";
@@ -115,62 +101,53 @@ char* cmCommandArgumentParserHelper::ExpandSpecialVariable(const char* key,
char* cmCommandArgumentParserHelper::ExpandVariable(const char* var)
{
- if(!var)
- {
+ if (!var) {
return 0;
- }
- if(this->FileLine >= 0 && strcmp(var, "CMAKE_CURRENT_LIST_LINE") == 0)
- {
+ }
+ if (this->FileLine >= 0 && strcmp(var, "CMAKE_CURRENT_LIST_LINE") == 0) {
std::ostringstream ostr;
ostr << this->FileLine;
return this->AddString(ostr.str());
- }
+ }
const char* value = this->Makefile->GetDefinition(var);
- if(!value && !this->RemoveEmpty)
- {
+ if (!value && !this->RemoveEmpty) {
// check to see if we need to print a warning
// if strict mode is on and the variable has
// not been "cleared"/initialized with a set(foo ) call
- if(this->WarnUninitialized && !this->Makefile->VariableInitialized(var))
- {
+ if (this->WarnUninitialized && !this->Makefile->VariableInitialized(var)) {
if (this->CheckSystemVars ||
cmSystemTools::IsSubDirectory(this->FileName,
this->Makefile->GetHomeDirectory()) ||
- cmSystemTools::IsSubDirectory(this->FileName,
- this->Makefile->GetHomeOutputDirectory()))
- {
+ cmSystemTools::IsSubDirectory(
+ this->FileName, this->Makefile->GetHomeOutputDirectory())) {
std::ostringstream msg;
msg << "uninitialized variable \'" << var << "\'";
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, msg.str());
- }
}
- return 0;
}
- if (this->EscapeQuotes && value)
- {
+ return 0;
+ }
+ if (this->EscapeQuotes && value) {
return this->AddString(cmSystemTools::EscapeQuotes(value));
- }
+ }
return this->AddString(value ? value : "");
}
char* cmCommandArgumentParserHelper::ExpandVariableForAt(const char* var)
{
- if(this->ReplaceAtSyntax)
- {
+ if (this->ReplaceAtSyntax) {
// try to expand the variable
char* ret = this->ExpandVariable(var);
// if the return was 0 and we want to replace empty strings
// then return an empty string
- if(!ret && this->RemoveEmpty)
- {
+ if (!ret && this->RemoveEmpty) {
return this->AddString("");
- }
+ }
// if the ret was not 0, then return it
- if(ret)
- {
+ if (ret) {
return ret;
- }
}
+ }
// at this point we want to put it back because of one of these cases:
// - this->ReplaceAtSyntax is false
// - this->ReplaceAtSyntax is true, but this->RemoveEmpty is false,
@@ -183,79 +160,72 @@ char* cmCommandArgumentParserHelper::ExpandVariableForAt(const char* var)
char* cmCommandArgumentParserHelper::CombineUnions(char* in1, char* in2)
{
- if ( !in1 )
- {
+ if (!in1) {
return in2;
- }
- else if ( !in2 )
- {
+ } else if (!in2) {
return in1;
- }
+ }
size_t len = strlen(in1) + strlen(in2) + 1;
- char* out = new char [ len ];
+ char* out = new char[len];
strcpy(out, in1);
strcat(out, in2);
this->Variables.push_back(out);
return out;
}
-void cmCommandArgumentParserHelper::AllocateParserType
-(cmCommandArgumentParserHelper::ParserType* pt,const char* str, int len)
+void cmCommandArgumentParserHelper::AllocateParserType(
+ cmCommandArgumentParserHelper::ParserType* pt, const char* str, int len)
{
pt->str = 0;
- if ( len == 0 )
- {
+ if (len == 0) {
len = static_cast<int>(strlen(str));
- }
- if ( len == 0 )
- {
+ }
+ if (len == 0) {
return;
- }
- pt->str = new char[ len + 1 ];
+ }
+ pt->str = new char[len + 1];
strncpy(pt->str, str, len);
pt->str[len] = 0;
this->Variables.push_back(pt->str);
}
-bool cmCommandArgumentParserHelper::HandleEscapeSymbol
-(cmCommandArgumentParserHelper::ParserType* pt, char symbol)
+bool cmCommandArgumentParserHelper::HandleEscapeSymbol(
+ cmCommandArgumentParserHelper::ParserType* pt, char symbol)
{
- switch ( symbol )
- {
- case '\\':
- case '"':
- case ' ':
- case '#':
- case '(':
- case ')':
- case '$':
- case '@':
- case '^':
- this->AllocateParserType(pt, &symbol, 1);
- break;
- case ';':
- this->AllocateParserType(pt, "\\;", 2);
- break;
- case 't':
- this->AllocateParserType(pt, "\t", 1);
- break;
- case 'n':
- this->AllocateParserType(pt, "\n", 1);
- break;
- case 'r':
- this->AllocateParserType(pt, "\r", 1);
- break;
- case '0':
- this->AllocateParserType(pt, "\0", 1);
- break;
- default:
- {
- std::ostringstream e;
- e << "Invalid escape sequence \\" << symbol;
- this->SetError(e.str());
- }
- return false;
+ switch (symbol) {
+ case '\\':
+ case '"':
+ case ' ':
+ case '#':
+ case '(':
+ case ')':
+ case '$':
+ case '@':
+ case '^':
+ this->AllocateParserType(pt, &symbol, 1);
+ break;
+ case ';':
+ this->AllocateParserType(pt, "\\;", 2);
+ break;
+ case 't':
+ this->AllocateParserType(pt, "\t", 1);
+ break;
+ case 'n':
+ this->AllocateParserType(pt, "\n", 1);
+ break;
+ case 'r':
+ this->AllocateParserType(pt, "\r", 1);
+ break;
+ case '0':
+ this->AllocateParserType(pt, "\0", 1);
+ break;
+ default: {
+ std::ostringstream e;
+ e << "Invalid escape sequence \\" << symbol;
+ this->SetError(e.str());
}
+ return false;
+ }
return true;
}
@@ -263,10 +233,9 @@ void cmCommandArgument_SetupEscapes(yyscan_t yyscanner, bool noEscapes);
int cmCommandArgumentParserHelper::ParseString(const char* str, int verb)
{
- if ( !str)
- {
+ if (!str) {
return 0;
- }
+ }
this->Verbose = verb;
this->InputBuffer = str;
this->InputBufferPos = 0;
@@ -280,53 +249,43 @@ int cmCommandArgumentParserHelper::ParseString(const char* str, int verb)
cmCommandArgument_SetupEscapes(yyscanner, this->NoEscapeMode);
int res = cmCommandArgument_yyparse(yyscanner);
cmCommandArgument_yylex_destroy(yyscanner);
- if ( res != 0 )
- {
+ if (res != 0) {
return 0;
- }
+ }
this->CleanupParser();
- if ( Verbose )
- {
- std::cerr << "Expanding [" << str << "] produced: ["
- << this->Result << "]" << std::endl;
- }
+ if (Verbose) {
+ std::cerr << "Expanding [" << str << "] produced: [" << this->Result << "]"
+ << std::endl;
+ }
return 1;
}
void cmCommandArgumentParserHelper::CleanupParser()
{
std::vector<char*>::iterator sit;
- for ( sit = this->Variables.begin();
- sit != this->Variables.end();
- ++ sit )
- {
- delete [] *sit;
- }
+ for (sit = this->Variables.begin(); sit != this->Variables.end(); ++sit) {
+ delete[] * sit;
+ }
this->Variables.erase(this->Variables.begin(), this->Variables.end());
}
int cmCommandArgumentParserHelper::LexInput(char* buf, int maxlen)
{
- if ( maxlen < 1 )
- {
+ if (maxlen < 1) {
return 0;
+ }
+ if (this->InputBufferPos < this->InputBuffer.size()) {
+ buf[0] = this->InputBuffer[this->InputBufferPos++];
+ if (buf[0] == '\n') {
+ this->CurrentLine++;
}
- if ( this->InputBufferPos < this->InputBuffer.size() )
- {
- buf[0] = this->InputBuffer[ this->InputBufferPos++ ];
- if ( buf[0] == '\n' )
- {
- this->CurrentLine ++;
- }
- return(1);
- }
- else
- {
+ return (1);
+ } else {
buf[0] = '\n';
- return( 0 );
- }
+ return (0);
+ }
}
void cmCommandArgumentParserHelper::Error(const char* str)
@@ -346,19 +305,17 @@ void cmCommandArgumentParserHelper::SetMakefile(const cmMakefile* mf)
void cmCommandArgumentParserHelper::SetResult(const char* value)
{
- if ( !value )
- {
+ if (!value) {
this->Result = "";
return;
- }
+ }
this->Result = value;
}
void cmCommandArgumentParserHelper::SetError(std::string const& msg)
{
// Keep only the first error.
- if(this->ErrorString.empty())
- {
+ if (this->ErrorString.empty()) {
this->ErrorString = msg;
- }
+ }
}