ENH: support file-scope 'localCode' in dynamicCode

This commit is contained in:
Mark Olesen
2011-03-08 11:08:42 +01:00
parent 8c3a8fcd21
commit e8a3587df4
6 changed files with 58 additions and 8 deletions

View File

@ -35,6 +35,7 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict)
:
dict_(dict),
code_(stringOps::trim(dict["code"])),
localCode_(),
include_(),
options_()
{
@ -45,6 +46,13 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict)
// - necessary for compilation options, convenient for includes
// and body.
// optional
if (dict.found("localCode"))
{
localCode_ = stringOps::trim(dict["localCode"]);
stringOps::inplaceExpand(localCode_, dict);
}
// optional
if (dict.found("codeInclude"))
{
@ -59,9 +67,9 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict)
stringOps::inplaceExpand(options_, dict);
}
// calculate SHA1 digest from include, options, code
// calculate SHA1 digest from include, options, localCode, code
OSHA1stream os;
os << include_ << options_ << code_;
os << include_ << options_ << localCode_ << code_;
sha1_ = os.digest();
}