From af1f43183cb985c9f2b64cf64cfc8d6088b52ebe Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Fri, 26 Oct 2012 12:10:56 +0100 Subject: [PATCH] STYLE: variables: have separate token type --- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C | 2 +- src/OpenFOAM/db/IOstreams/token/token.H | 5 ++++- src/OpenFOAM/db/IOstreams/token/tokenI.H | 22 ++++++++++++++----- src/OpenFOAM/db/IOstreams/token/tokenIO.C | 15 ++++++++++++- .../primitiveEntry/primitiveEntryIO.C | 2 +- 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C index a3161386e69..c93aad5a36f 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C +++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C @@ -266,7 +266,7 @@ Foam::Istream& Foam::ISstream::read(token& t) else { t = sPtr; - t.type() = token::STRING; + t.type() = token::VARIABLE; } return *this; } diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index 75c946d1d40..a1523fd3ffd 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -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; diff --git a/src/OpenFOAM/db/IOstreams/token/tokenI.H b/src/OpenFOAM/db/IOstreams/token/tokenI.H index dfa6cdf93e4..e23fc836794 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenI.H +++ b/src/OpenFOAM/db/IOstreams/token/tokenI.H @@ -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 diff --git a/src/OpenFOAM/db/IOstreams/token/tokenIO.C b/src/OpenFOAM/db/IOstreams/token/tokenIO.C index 2aedebe6814..b513a4be0ed 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenIO.C +++ b/src/OpenFOAM/db/IOstreams/token/tokenIO.C @@ -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; diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C index d5626972cc3..04cb8cf1652 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C @@ -55,7 +55,7 @@ void Foam::primitiveEntry::append newElmt(tokenIndex()++) = currToken; } } - else if (currToken.isString()) + else if (currToken.isVariable()) { const string& w = currToken.stringToken(); -- GitLab