//## begin module%1.7%.codegen_version preserve=yes // Read the documentation to learn more about C++ code generator // versioning. //## end module%1.7%.codegen_version //## begin module%4209C61A01F8.cm preserve=no //## end module%4209C61A01F8.cm //## begin module%4209C61A01F8.cp preserve=no // C O P Y R I G H T N O T I C E // This material is confidential to ERG and may not be disclosed in whole // or in part to any third party nor used in any manner whatsoever other // than for the purposes expressly consented to by ERG in writing. // // This material is also copyright and may not be reproduced, stored in a // retrieval system or transmitted in any form or by any means in whole or // in part without the express written consent of ERG. //## end module%4209C61A01F8.cp //## Module: DefinedVariable%4209C61A01F8; Pseudo Package body //## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4 //## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\DefinedVariable.cpp //## begin module%4209C61A01F8.additionalIncludes preserve=no //## end module%4209C61A01F8.additionalIncludes //## begin module%4209C61A01F8.includes preserve=yes #pragma warn -com #include #pragma warn +com //## end module%4209C61A01F8.includes // TransactionSpecificationValue #include "TransactionSpecificationValue.h" // DefinedVariable #include "DefinedVariable.h" // EvaluationContext #include "EvaluationContext.h" //## begin module%4209C61A01F8.additionalDeclarations preserve=yes #include //## end module%4209C61A01F8.additionalDeclarations // Class DefinedVariable //## Operation: DefinedVariable%4209CBCF00A3 DefinedVariable::DefinedVariable (const std::string &variableName) //## begin DefinedVariable::DefinedVariable%4209CBCF00A3.hasinit preserve=no : m_variableName(variableName) //## end DefinedVariable::DefinedVariable%4209CBCF00A3.hasinit //## begin DefinedVariable::DefinedVariable%4209CBCF00A3.initialization preserve=yes //## end DefinedVariable::DefinedVariable%4209CBCF00A3.initialization { //## begin DefinedVariable::DefinedVariable%4209CBCF00A3.body preserve=yes //## end DefinedVariable::DefinedVariable%4209CBCF00A3.body } DefinedVariable::~DefinedVariable() { //## begin DefinedVariable::~DefinedVariable%4209C61A01F8_dest.body preserve=yes //## end DefinedVariable::~DefinedVariable%4209C61A01F8_dest.body } //## Other Operations (implementation) //## Operation: evaluate%420ACC990152 const bool DefinedVariable::evaluate (std::string &value, const bool &sideEffect, EvaluationContext& evaluationContext, std::vector< DefinedVariable * > &path, bool &postponed) { //## begin DefinedVariable::evaluate%420ACC990152.body preserve=yes if ( std::find( path.begin(), path.end(), this ) == path.end() ) { try { path.push_back( this ); return ( m_expression.evaluate( value, sideEffect, evaluationContext, path, postponed ) ); } __finally { path.pop_back(); } } else { MERROR( "Cyclic definition found. Cannot evaluate \"" \ << m_variableName \ << "\"." ); } return ( false ); //## end DefinedVariable::evaluate%420ACC990152.body } //## Operation: getExpression%420ACC82000A const std::string & DefinedVariable::getExpression () const { //## begin DefinedVariable::getExpression%420ACC82000A.body preserve=yes return ( m_expression.getExpression() ); //## end DefinedVariable::getExpression%420ACC82000A.body } //## Operation: setExpression%420ACC82000B const std::string & DefinedVariable::setExpression (const std::string &value) { //## begin DefinedVariable::setExpression%420ACC82000B.body preserve=yes return ( m_expression.setExpression( value ) ); //## end DefinedVariable::setExpression%420ACC82000B.body } // Additional Declarations //## begin DefinedVariable%4209C61A01F8.declarations preserve=yes //## end DefinedVariable%4209C61A01F8.declarations //## begin module%4209C61A01F8.epilog preserve=yes //## end module%4209C61A01F8.epilog