STYLE: variables: have separate token type

This commit is contained in:
mattijs
2012-10-26 12:10:56 +01:00
parent 8f90eb6037
commit af1f43183c
5 changed files with 37 additions and 9 deletions

View File

@ -266,7 +266,7 @@ Foam::Istream& Foam::ISstream::read(token& t)
else
{
t = sPtr;
t.type() = token::STRING;
t.type() = token::VARIABLE;
}
return *this;
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -77,6 +77,7 @@ public:
PUNCTUATION,
WORD,
VARIABLE,
STRING,
VERBATIMSTRING,
LABEL,
@ -331,6 +332,8 @@ public:
inline bool isWord() const;
inline const word& wordToken() const;
inline bool isVariable() const;
inline bool isString() const;
inline const string& stringToken() const;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -39,7 +39,7 @@ inline void token::clear()
{
delete wordTokenPtr_;
}
else if (type_ == STRING || type_ == VERBATIMSTRING)
else if (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING)
{
delete stringTokenPtr_;
}
@ -88,6 +88,7 @@ inline token::token(const token& t)
break;
case STRING:
case VARIABLE:
case VERBATIMSTRING:
stringTokenPtr_ = new string(*t.stringTokenPtr_);
break;
@ -235,14 +236,19 @@ inline const word& token::wordToken() const
}
}
inline bool token::isVariable() const
{
return (type_ == VARIABLE);
}
inline bool token::isString() const
{
return (type_ == STRING || type_ == VERBATIMSTRING);
return (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING);
}
inline const string& token::stringToken() const
{
if (type_ == STRING || type_ == VERBATIMSTRING)
if (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING)
{
return *stringTokenPtr_;
}
@ -411,6 +417,7 @@ inline void token::operator=(const token& t)
break;
case STRING:
case VARIABLE:
case VERBATIMSTRING:
stringTokenPtr_ = new string(*t.stringTokenPtr_);
break;
@ -518,6 +525,7 @@ inline bool token::operator==(const token& t) const
return *wordTokenPtr_ == *t.wordTokenPtr_;
case STRING:
case VARIABLE:
case VERBATIMSTRING:
return *stringTokenPtr_ == *t.stringTokenPtr_;
@ -552,7 +560,11 @@ inline bool token::operator==(const word& w) const
inline bool token::operator==(const string& s) const
{
return ((type_ == STRING || type_ == VERBATIMSTRING) && stringToken() == s);
return
(
(type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING)
&& stringToken() == s
);
}
inline bool token::operator==(const label l) const

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -74,6 +74,11 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const token& t)
os << *t.stringTokenPtr_;
break;
case token::VARIABLE:
// Write variable as word so without ""
os.writeQuoted(*t.stringTokenPtr_, false);
break;
case token::LABEL:
os << t.labelToken_;
break;
@ -157,6 +162,10 @@ ostream& Foam::operator<<(ostream& os, const InfoProxy<token>& ip)
os << " the string " << t.stringToken();
break;
case token::VARIABLE:
os << " the variable " << t.stringToken();
break;
case token::VERBATIMSTRING:
os << " the verbatim string " << t.stringToken();
break;
@ -231,6 +240,10 @@ Ostream& operator<<(Ostream& os, const InfoProxy<token>& ip)
os << " the string " << t.stringToken();
break;
case token::VARIABLE:
os << " the variable " << t.stringToken();
break;
case token::VERBATIMSTRING:
os << " the verbatim string " << t.stringToken();
break;

View File

@ -55,7 +55,7 @@ void Foam::primitiveEntry::append
newElmt(tokenIndex()++) = currToken;
}
}
else if (currToken.isString())
else if (currToken.isVariable())
{
const string& w = currToken.stringToken();