[GME-commit] GMESRC/GME/ConstraintManager ConstraintManager.vcproj,1.1,1.2 OCLCommon.h,1.6,1.7 OCLConfig.h,1.2,1.3 OCLContext.h,1.6,1.7 OCLException.h,1.9,1.10 OCLFactory.h,1.3,1.4 OCLFeature.cpp,1.2,1.3 OCLFeature.h,1.4,1.5 OCLFeatureImplementation.h,1.7,1.8 OCLFormalParameter.h,1.2,1.3 OCLObject.cpp,1.8,1.9 OCLObject.h,1.5,1.6 OCLRefCount.h,1.2,1.3 OCLTree.cpp,1.32,1.33 OCLTree.h,1.16,1.17 OCLType.cpp,1.8,1.9 OCLType.h,1.4,1.5 OclConstraint.cpp,1.9,1.10 OclViolation.h,1.4,1.5 ocl.g,1.16,1.17

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Jul 13 21:10:58 CDT 2005


Update of /project/gme-repository/GMESRC/GME/ConstraintManager
In directory escher:/tmp/cvs-serv21762

Modified Files:
	ConstraintManager.vcproj OCLCommon.h OCLConfig.h OCLContext.h 
	OCLException.h OCLFactory.h OCLFeature.cpp OCLFeature.h 
	OCLFeatureImplementation.h OCLFormalParameter.h OCLObject.cpp 
	OCLObject.h OCLRefCount.h OCLTree.cpp OCLTree.h OCLType.cpp 
	OCLType.h OclConstraint.cpp OclViolation.h ocl.g 
Log Message:
Modifications again from the UDM team. (Ported to linux)


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: OCLTree.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLTree.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** OCLTree.cpp	22 Jun 2005 17:40:22 -0000	1.32
--- OCLTree.cpp	13 Jul 2005 20:10:55 -0000	1.33
***************
*** 27,32 ****
--- 27,44 ----
  
  	#define ADDEX( ex ) \
+ 	{ \
+ 		OclCommon::Exception exp( ex ); \
+ 		context.m_poolExceptions.Add( exp ); \
+ 	}
+ 
+ 	#define ADDEXP( ex ) \
  		context.m_poolExceptions.Add( ex )
  
+ 	#define POOLADDEX( ex_pool, ex ) \
+ 	{ \
+ 		OclCommon::Exception exp( ex ); \
+ 		ex_pool.Add( exp ); \
+ 	}
+ 
  	#define SETEXPOS( ex, pos ) \
  		ex.SetLine( pos.iLine ); ex.SetColumn( pos.iColumn );
***************
*** 129,134 ****
  	{
  		m_vecType.clear();
  
! 		for ( unsigned int i = 0 ; i < vecTypeReturn.size() - 1 ; i++ )
  			m_vecType.push_back( vecTypeReturn[ i ] );
  
--- 141,147 ----
  	{
  		m_vecType.clear();
+ 		int i;
  
! 		for ( i = 0 ; i < (int) vecTypeReturn.size() - 1 ; i++ )
  			m_vecType.push_back( vecTypeReturn[ i ] );
  
***************
*** 136,140 ****
  
  		if ( strLastType == TYPE_AGGREGATED_OBJECT ) {
! 			for ( i = 1 ; i < vecType1.size() ; i++ )
  				m_vecType.push_back( vecType1[ i ] );
  			return m_vecType;
--- 149,153 ----
  
  		if ( strLastType == TYPE_AGGREGATED_OBJECT ) {
! 			for ( i = 1 ; i < (int) vecType1.size() ; i++ )
  				m_vecType.push_back( vecType1[ i ] );
  			return m_vecType;
***************
*** 144,148 ****
  
  			if ( strLastType == TYPE_EXPRESSION_RETURN ) {
! 				for ( i = 0 ; i < vecType2.size() ; i++ )
  					m_vecType.push_back( vecType2[ i ] );
  				return m_vecType;
--- 157,161 ----
  
  			if ( strLastType == TYPE_EXPRESSION_RETURN ) {
! 				for ( i = 0 ; i < (int) vecType2.size() ; i++ )
  					m_vecType.push_back( vecType2[ i ] );
  				return m_vecType;
***************
*** 161,165 ****
  
  					vecTypeS = GetTreeManager()->GetTypeManager()->GetTypeBase( vecTypeS, vecTypeA );
! 					for ( i = 0 ; i < vecTypeS.size() ; i++ )
  						m_vecType.push_back( vecTypeS[ i ] );
  
--- 174,178 ----
  
  					vecTypeS = GetTreeManager()->GetTypeManager()->GetTypeBase( vecTypeS, vecTypeA );
! 					for ( i = 0 ; i < (int) vecTypeS.size() ; i++ )
  						m_vecType.push_back( vecTypeS[ i ] );
  
***************
*** 231,235 ****
  				if ( feature1 )
  					vecAmbiguities[ 0 ] = 0;
! 				exAmbiguity.Add( OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, vecAmbiguities[ 2 ], vecSignatures[ 0 ]->Print(), vecSignatures[ 1 ]->Print() ) );
  				return NULL;
  			}
--- 244,248 ----
  				if ( feature1 )
  					vecAmbiguities[ 0 ] = 0;
! 				POOLADDEX(exAmbiguity, OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, vecAmbiguities[ 2 ], vecSignatures[ 0 ]->Print(), vecSignatures[ 1 ]->Print() ) );
  				return NULL;
  			}
***************
*** 247,251 ****
  					if ( feature1 )
  						vecAmbiguities[ 0 ] = 0;
! 					exAmbiguity.Add( OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, vecAmbiguities[ 2 ], vecSignatures[ 0 ]->Print(), vecSignatures[ 1 ]->Print() ) );
  					return NULL;
  				}
--- 260,264 ----
  					if ( feature1 )
  						vecAmbiguities[ 0 ] = 0;
! 					POOLADDEX(exAmbiguity, OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, vecAmbiguities[ 2 ], vecSignatures[ 0 ]->Print(), vecSignatures[ 1 ]->Print() ) );
  					return NULL;
  				}
***************
*** 299,305 ****
--- 312,320 ----
  			string str = vecItems[ i ].item.Print();
  			violation.vecObjects.push_back( str );
+ #ifdef _WIN32
  			IUnknown* iu;
  			iu = vecItems[ i ].item.GetObject();
  			violation.vecObjectsPtr.push_back(iu);
+ #endif
  		}
  		context.vecViolations.push_back( violation );
***************
*** 498,502 ****
  
  		if ( context.m_ctxTypes.ExistsVariable( m_strName ) )
! 			ADDEX( EXCEPTION1( EX_VARIABLE_ALREADY_EXISTS, m_strName, m_mapPositions[ LID_VARIABLE_NAME ] ) );
  		else
  			if ( ! m_vecTypeDecl.empty() )
--- 513,517 ----
  
  		if ( context.m_ctxTypes.ExistsVariable( m_strName ) )
! 			ADDEX( EXCEPTION1( EX_VARIABLE_ALREADY_EXISTS, m_strName, m_mapPositions[ LID_VARIABLE_NAME ] ) )
  		else
  			if ( ! m_vecTypeDecl.empty() )
***************
*** 1159,1163 ****
  				int iLastCode = GetLastExceptionCode( contextIterator );
  				if ( iLastCode != EX_ITERATOR_DOESNT_EXIST && iLastCode != EX_TYPE_NOT_COMPOUND_ITERATOR && iLastCode != -1 ) {
! 					ADDEX( contextIterator.m_poolExceptions );
  					return false;
  				}
--- 1174,1178 ----
  				int iLastCode = GetLastExceptionCode( contextIterator );
  				if ( iLastCode != EX_ITERATOR_DOESNT_EXIST && iLastCode != EX_TYPE_NOT_COMPOUND_ITERATOR && iLastCode != -1 ) {
! 					ADDEXP( contextIterator.m_poolExceptions );
  					return false;
  				}
***************
*** 1365,1369 ****
  						pIIterator->SetSubResult( spAccu );
  						pIIterator->SetSubOriResult( objectIter );
! 						(*pIIterator)(); 
  						if ( pIIterator->DoStop() )
  							bDoStop = true;
--- 1380,1384 ----
  						pIIterator->SetSubResult( spAccu );
  						pIIterator->SetSubOriResult( objectIter );
! 						(*pIIterator)();
  						if ( pIIterator->DoStop() )
  							bDoStop = true;
***************
*** 1475,1479 ****
  
  				bool bArgumentsValid = true;
! 				for ( unsigned int i = 0 ; i < m_vecArguments.size() ; i++ )
  					bArgumentsValid = m_vecArguments[ i ]->Check( context ) && bArgumentsValid;
  
--- 1490,1495 ----
  
  				bool bArgumentsValid = true;
! 				unsigned int i;
! 				for ( i = 0 ; i < m_vecArguments.size() ; i++ )
  					bArgumentsValid = m_vecArguments[ i ]->Check( context ) && bArgumentsValid;
  
***************
*** 1548,1557 ****
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEX( poolResult );
  					return false;
  				}
  				else {
  					if ( iPrecedence == -1 ) {
! 						ADDEX( contextMethod.m_poolExceptions );
  						TypeContext contextTemp = context;
  						m_vecArguments[ 0 ]->Check( contextTemp );
--- 1564,1573 ----
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEXP( poolResult );
  					return false;
  				}
  				else {
  					if ( iPrecedence == -1 ) {
! 						ADDEXP( contextMethod.m_poolExceptions );
  						TypeContext contextTemp = context;
  						m_vecArguments[ 0 ]->Check( contextTemp );
***************
*** 1562,1566 ****
  					}
  					else {
! 						ADDEX( contextIterator.m_poolExceptions );
  						if ( ! bIteratorValid )
  							return false;
--- 1578,1582 ----
  					}
  					else {
! 						ADDEXP( contextIterator.m_poolExceptions );
  						if ( ! bIteratorValid )
  							return false;
***************
*** 1599,1608 ****
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEX( poolResult );
  					return false;
  				}
  				else {
  					if ( iPrecedence == 1 ) {
! 						ADDEX( contextMethod.m_poolExceptions );
  						if ( pFeature->IsDependence() )
  							context.m_setDependencies.insert( OclMeta::Dependency( sigMethod.Print(), m_mapPositions[ LID_FEATURE_NAME ] ) );
--- 1615,1624 ----
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEXP( poolResult );
  					return false;
  				}
  				else {
  					if ( iPrecedence == 1 ) {
! 						ADDEXP( contextMethod.m_poolExceptions );
  						if ( pFeature->IsDependence() )
  							context.m_setDependencies.insert( OclMeta::Dependency( sigMethod.Print(), m_mapPositions[ LID_FEATURE_NAME ] ) );
***************
*** 1610,1614 ****
  					}
  					else {
! 						ADDEX( contextIterator.m_poolExceptions );
  						m_pIterator= GetTreeManager()->CreateIterator();
  						m_pIterator->m_bTester = true;
--- 1626,1630 ----
  					}
  					else {
! 						ADDEXP( contextIterator.m_poolExceptions );
  						m_pIterator= GetTreeManager()->CreateIterator();
  						m_pIterator->m_bTester = true;
***************
*** 1629,1635 ****
  			}
  			if ( m_strCallOperator == "->" )
! 				ADDEX( contextIterator.m_poolExceptions );
  			else
! 				ADDEX( contextMethod.m_poolExceptions );
  			return false;
  		}
--- 1645,1651 ----
  			}
  			if ( m_strCallOperator == "->" )
! 				ADDEXP( contextIterator.m_poolExceptions );
  			else
! 				ADDEXP( contextMethod.m_poolExceptions );
  			return false;
  		}
***************
*** 1655,1659 ****
  
  		StringVector vecTypes;
! 		for ( unsigned int i = 0 ; i < m_vecArguments.size() ; i++ )
  			vecTypes.push_back( m_vecArguments[ i ]->m_vecType[ 0 ] );
  		OclSignature::Method signature( m_strName, m_pThisNode->m_vecType[ 0 ], vecTypes );
--- 1671,1676 ----
  
  		StringVector vecTypes;
! 		unsigned int i;
! 		for ( i = 0 ; i < m_vecArguments.size() ; i++ )
  			vecTypes.push_back( m_vecArguments[ i ]->m_vecType[ 0 ] );
  		OclSignature::Method signature( m_strName, m_pThisNode->m_vecType[ 0 ], vecTypes );
***************
*** 1686,1694 ****
  			if ( ! pIMethod )
  				THROWOCL0( ET_RUNTIME, EX_METHOD_NOT_IMPLEMENTED );
! 			
  			if (((OclMeta::Feature*)pMethod)->IsDynamic()) // userdef method
  			{
  				lastFuncName = currFuncName;
! 				currFuncName =  m_strName; // GetFullName(); 
  			}
  
--- 1703,1711 ----
  			if ( ! pIMethod )
  				THROWOCL0( ET_RUNTIME, EX_METHOD_NOT_IMPLEMENTED );
! 
  			if (((OclMeta::Feature*)pMethod)->IsDynamic()) // userdef method
  			{
  				lastFuncName = currFuncName;
! 				currFuncName =  m_strName; // GetFullName();
  			}
  
***************
*** 1704,1708 ****
  
  			// all of the violations collected in pIMethod (((OclGmeCM::ConstraintMethod*)pIMethod)->m_spFunction)
! 			// will lose, one violation will be added to context depending on spResult 
  			// ?? !! terge
  			OclTree::ViolationVector vec = pIMethod->GetViolations();
--- 1721,1725 ----
  
  			// all of the violations collected in pIMethod (((OclGmeCM::ConstraintMethod*)pIMethod)->m_spFunction)
! 			// will lose, one violation will be added to context depending on spResult
  			// ?? !! terge
  			OclTree::ViolationVector vec = pIMethod->GetViolations();
***************
*** 1783,1787 ****
  
  		bool bArgumentsValid = true;
! 		for ( int i = 0 ; i < (int) m_vecArguments.size() ; i++ )
  			bArgumentsValid = m_vecArguments[ i ]->Check( contextFunction ) && bArgumentsValid;
  
--- 1800,1805 ----
  
  		bool bArgumentsValid = true;
! 		int i;
! 		for ( i = 0 ; i < (int) m_vecArguments.size() ; i++ )
  			bArgumentsValid = m_vecArguments[ i ]->Check( contextFunction ) && bArgumentsValid;
  
***************
*** 1796,1800 ****
  			try {
  				OclMeta::Function* pFunction = GetTreeManager()->GetTypeManager()->GetFunction( sigFunction );
! 				ADDEX( contextFunction.m_poolExceptions );
  				GetParametralTypeSeq( TypeSeq(), ( m_vecArguments.empty() ) ? TypeSeq() : m_vecArguments[ 0 ]->m_vecType, pFunction->GetReturnTypeSeq() );
  				if ( pFunction->IsDependence() )
--- 1814,1818 ----
  			try {
  				OclMeta::Function* pFunction = GetTreeManager()->GetTypeManager()->GetFunction( sigFunction );
! 				ADDEXP( contextFunction.m_poolExceptions );
  				GetParametralTypeSeq( TypeSeq(), ( m_vecArguments.empty() ) ? TypeSeq() : m_vecArguments[ 0 ]->m_vecType, pFunction->GetReturnTypeSeq() );
  				if ( pFunction->IsDependence() )
***************
*** 1805,1809 ****
  				SETEXPOS( ex, m_mapPositions[ LID_FEATURE_NAME ] );
  				if ( ex.GetCode() != EX_FUNCTION_DOESNT_EXIST ) {
! 					ADDEX( contextFunction.m_poolExceptions );
  					ADDEX( ex );
  					return false;
--- 1823,1827 ----
  				SETEXPOS( ex, m_mapPositions[ LID_FEATURE_NAME ] );
  				if ( ex.GetCode() != EX_FUNCTION_DOESNT_EXIST ) {
! 					ADDEXP( contextFunction.m_poolExceptions );
  					ADDEX( ex );
  					return false;
***************
*** 1830,1834 ****
  
  			if ( m_pMethod->Check( contextMethod ) ) {
! 				ADDEX( contextMethod.m_poolExceptions );
  				m_pMethod->m_bTester = false;
  				m_bSelfTester = true;
--- 1848,1852 ----
  
  			if ( m_pMethod->Check( contextMethod ) ) {
! 				ADDEXP( contextMethod.m_poolExceptions );
  				m_pMethod->m_bTester = false;
  				m_bSelfTester = true;
***************
*** 1843,1847 ****
  				int iLastCode = GetLastExceptionCode( contextMethod);
  				if ( iLastCode != EX_METHOD_DOESNT_EXIST && iLastCode != EX_ITERATOR_DOESNT_EXIST &&  iLastCode != EX_TYPE_NOT_COMPOUND_ITERATOR && iLastCode != -1 ) {
! 					ADDEX( contextMethod.m_poolExceptions );
  					return false;
  				}
--- 1861,1865 ----
  				int iLastCode = GetLastExceptionCode( contextMethod);
  				if ( iLastCode != EX_METHOD_DOESNT_EXIST && iLastCode != EX_ITERATOR_DOESNT_EXIST &&  iLastCode != EX_TYPE_NOT_COMPOUND_ITERATOR && iLastCode != -1 ) {
! 					ADDEXP( contextMethod.m_poolExceptions );
  					return false;
  				}
***************
*** 1859,1863 ****
  		int iLineFeatureName = m_mapPositions[ LID_FEATURE_NAME ].iLine;
  		StringVector vecTypes;
! 		for ( unsigned int i = 0 ; i < m_vecArguments.size() ; i++ )
  			vecTypes.push_back( m_vecArguments[ i ]->m_vecType[ 0 ] );
  		OclSignature::Function signature( m_strName, vecTypes );
--- 1877,1882 ----
  		int iLineFeatureName = m_mapPositions[ LID_FEATURE_NAME ].iLine;
  		StringVector vecTypes;
! 		unsigned int i;
! 		for ( i = 0 ; i < m_vecArguments.size() ; i++ )
  			vecTypes.push_back( m_vecArguments[ i ]->m_vecType[ 0 ] );
  		OclSignature::Function signature( m_strName, vecTypes );
***************
*** 1964,1968 ****
  				int iLastCode = GetLastExceptionCode( contextAssociation );
  				if ( iLastCode != EX_ASSOCIATION_DOESNT_EXIST ) {
! 					ADDEX( contextAssociation.m_poolExceptions );
  					return false;
  				}
--- 1983,1987 ----
  				int iLastCode = GetLastExceptionCode( contextAssociation );
  				if ( iLastCode != EX_ASSOCIATION_DOESNT_EXIST ) {
! 					ADDEXP( contextAssociation.m_poolExceptions );
  					return false;
  				}
***************
*** 2140,2144 ****
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEX( poolResult );
  					return false;
  				}
--- 2159,2163 ----
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEXP( poolResult );
  					return false;
  				}
***************
*** 2189,2193 ****
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEX( poolResult );
  					return false;
  				}
--- 2208,2212 ----
  				OclMeta::Feature* pFeature = CheckAmbiguity( vecTypes, vecSignatures, vecCodes, iPrecedence, poolResult );
  				if ( ! pFeature ) {
! 					ADDEXP( poolResult );
  					return false;
  				}
***************
*** 2336,2340 ****
  			m_pType = NULL;
  			if ( m_strName.find( ":" ) != std::string::npos ) {
! 				ADDEX( contextType.m_poolExceptions );
  				return false;
  			}
--- 2355,2359 ----
  			m_pType = NULL;
  			if ( m_strName.find( ":" ) != std::string::npos ) {
! 				ADDEXP( contextType.m_poolExceptions );
  				return false;
  			}
***************
*** 2378,2382 ****
  				int iLastCode = GetLastExceptionCode( contextAttribute );
  				if ( iLastCode != EX_ATTRIBUTE_DOESNT_EXIST && iLastCode != EX_ASSOCIATION_DOESNT_EXIST ) {
! 					ADDEX( contextAttribute.m_poolExceptions );
  					return false;
  				}
--- 2397,2401 ----
  				int iLastCode = GetLastExceptionCode( contextAttribute );
  				if ( iLastCode != EX_ATTRIBUTE_DOESNT_EXIST && iLastCode != EX_ASSOCIATION_DOESNT_EXIST ) {
! 					ADDEXP( contextAttribute.m_poolExceptions );
  					return false;
  				}
***************
*** 2471,2475 ****
  				m_vecParameters[ i ] = OclCommon::FormalParameter( strName, strType, m_vecParameters[ i ].IsRequired() );
  			if ( context.m_ctxTypes.ExistsVariable( strName ) )
! 				ADDEX( EXCEPTION1( EX_VARIABLE_ALREADY_EXISTS, strName, m_mapPositions[ LID_PARAMETER_NAME + i ] ) );
  			else
  				if ( ! vecType.empty() )
--- 2490,2494 ----
  				m_vecParameters[ i ] = OclCommon::FormalParameter( strName, strType, m_vecParameters[ i ].IsRequired() );
  			if ( context.m_ctxTypes.ExistsVariable( strName ) )
! 				ADDEX( EXCEPTION1( EX_VARIABLE_ALREADY_EXISTS, strName, m_mapPositions[ LID_PARAMETER_NAME + i ] ) )
  			else
  				if ( ! vecType.empty() )
***************
*** 2837,2839 ****
  //udmoclpat_ocltree_cpp_1 __please do not remove or change this line__
  
! }; // namespace OclTree
\ No newline at end of file
--- 2856,2858 ----
  //udmoclpat_ocltree_cpp_1 __please do not remove or change this line__
  
! }; // namespace OclTree

Index: ConstraintManager.vcproj
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/ConstraintManager.vcproj,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ConstraintManager.vcproj	26 Jan 2005 17:28:23 -0000	1.1
--- ConstraintManager.vcproj	13 Jul 2005 20:10:55 -0000	1.2
***************
*** 25,29 ****
  				Optimization="0"
  				AdditionalIncludeDirectories=".;../Common;../interfaces;../include/STLport"
! 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
  				BasicRuntimeChecks="3"
  				RuntimeLibrary="3"
--- 25,29 ----
  				Optimization="0"
  				AdditionalIncludeDirectories=".;../Common;../interfaces;../include/STLport"
! 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FOR_GME"
  				BasicRuntimeChecks="3"
  				RuntimeLibrary="3"
***************
*** 96,100 ****
  				InlineFunctionExpansion="1"
  				AdditionalIncludeDirectories="../Common,../interfaces,../include/STLport,."
! 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
  				StringPooling="TRUE"
  				RuntimeLibrary="2"
--- 96,100 ----
  				InlineFunctionExpansion="1"
  				AdditionalIncludeDirectories="../Common,../interfaces,../include/STLport,."
! 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FOR_GME"
  				StringPooling="TRUE"
  				RuntimeLibrary="2"

Index: OclViolation.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OclViolation.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** OclViolation.h	13 Oct 2004 15:17:54 -0000	1.4
--- OclViolation.h	13 Jul 2005 20:10:55 -0000	1.5
***************
*** 3,6 ****
--- 3,7 ----
  
  #include "OCLCommon.h"
+ #ifdef _WIN32
  #include "unknwn.h"
  // cannot use _com_ptr_t instead of IUnknown *
***************
*** 103,106 ****
--- 104,108 ----
  };
  }; // namespace std
+ #endif //_WIN32
  
  namespace OclTree
***************
*** 114,118 ****
--- 116,122 ----
  		StringVector				vecVariables;
  		StringVector				vecObjects;
+ #ifdef WIN32
  		std::PtrVector				vecObjectsPtr;
+ #endif
  	};
  

Index: OCLType.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLType.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** OCLType.h	13 Oct 2004 15:17:54 -0000	1.4
--- OCLType.h	13 Jul 2005 20:10:55 -0000	1.5
***************
*** 144,148 ****
  					TypeManager* 		GetTypeManager() const;
  
! 		friend TypeManager;
  	};
  
--- 144,148 ----
  					TypeManager* 		GetTypeManager() const;
  
! 		friend class TypeManager;
  	};
  
***************
*** 174,181 ****
  			virtual 	CallResult 				GetResults( const OclSignature::Iterator& signature );
  
! 		friend TypeManager;
  	};
  
  }; // namespace OclMeta
  
! #endif
\ No newline at end of file
--- 174,181 ----
  			virtual 	CallResult 				GetResults( const OclSignature::Iterator& signature );
  
! 		friend class TypeManager;
  	};
  
  }; // namespace OclMeta
  
! #endif

Index: OCLObject.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLObject.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** OCLObject.h	13 Oct 2004 15:17:54 -0000	1.5
--- OCLObject.h	13 Jul 2005 20:10:55 -0000	1.6
***************
*** 11,15 ****
--- 11,17 ----
  #include "OCLCommon.h"
  #include "OCLRefCount.h"
+ #ifdef _WIN32
  #include "unknwn.h"
+ #endif
  
  namespace OclMeta {
***************
*** 67,71 ****
--- 69,75 ----
  			OclImplementation::Object* 	GetImplementation() const;
  			std::string						Print() const;
+ #ifdef _WIN32
  			virtual IUnknown*				GetObject() const;
+ #endif
  	};
  
***************
*** 137,141 ****
--- 141,147 ----
  
  			virtual std::string Print() const = 0;
+ #ifdef _WIN32
  			virtual IUnknown* GetObject() const {return NULL;};
+ #endif
  
  			virtual bool IsUndefined() const
***************
*** 207,209 ****
  }; // namespace OclImplementation
  
! #endif // OCLObject_h
\ No newline at end of file
--- 213,215 ----
  }; // namespace OclImplementation
  
! #endif // OCLObject_h

Index: OCLFeature.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLFeature.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OCLFeature.cpp	18 May 2004 13:30:58 -0000	1.2
--- OCLFeature.cpp	13 Jul 2005 20:10:55 -0000	1.3
***************
*** 6,12 ****
  //###############################################################################################################################################
  #include "Solve4786.h"
! #include "OclFeature.h"
  
  namespace OclMeta
  {
! }; // namespace OclMeta
\ No newline at end of file
--- 6,12 ----
  //###############################################################################################################################################
  #include "Solve4786.h"
! #include "OCLFeature.h"
  
  namespace OclMeta
  {
! }; // namespace OclMeta

Index: OCLException.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLException.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** OCLException.h	13 Oct 2004 15:17:54 -0000	1.9
--- OCLException.h	13 Jul 2005 20:10:55 -0000	1.10
***************
*** 314,318 ****
  					for ( int i = 0 ; i < from ; i++ )
  						m_vecExceptions.push_back( vecTemp[ i ] );
! 					for ( i = to ; i < (int) vecTemp.size() ; i++ )
  						m_vecExceptions.push_back( vecTemp[ i ] );
  				}
--- 314,318 ----
  					for ( int i = 0 ; i < from ; i++ )
  						m_vecExceptions.push_back( vecTemp[ i ] );
! 					for ( int i = to ; i < (int) vecTemp.size() ; i++ )
  						m_vecExceptions.push_back( vecTemp[ i ] );
  				}

Index: OCLFeatureImplementation.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLFeatureImplementation.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** OCLFeatureImplementation.h	13 Oct 2004 15:17:54 -0000	1.7
--- OCLFeatureImplementation.h	13 Jul 2005 20:10:55 -0000	1.8
***************
*** 92,96 ****
  			}
  
! 		friend OclMeta::TypeManager;
  	};
  
--- 92,96 ----
  			}
  
! 		friend class OclMeta::TypeManager;
  	};
  

Index: OCLFactory.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLFactory.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** OCLFactory.h	13 Oct 2004 15:17:54 -0000	1.3
--- OCLFactory.h	13 Jul 2005 20:10:55 -0000	1.4
***************
*** 53,57 ****
  			}
  
! 		friend OclMeta::TypeManager;
  	};
  
--- 53,57 ----
  			}
  
! 		friend class OclMeta::TypeManager;
  	};
  
***************
*** 90,94 ****
  			}
  
! 		friend OclMeta::TypeManager;
  	};
  
--- 90,94 ----
  			}
  
! 		friend class OclMeta::TypeManager;
  	};
  
***************
*** 126,133 ****
  			}
  
! 		friend OclMeta::TypeManager;
  	};
  
  }; // namespace OclImplementation
  
! #endif OCLFactory_h
--- 126,133 ----
  			}
  
! 		friend class OclMeta::TypeManager;
  	};
  
  }; // namespace OclImplementation
  
! #endif //OCLFactory_h

Index: OCLContext.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLContext.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** OCLContext.h	26 Jan 2005 17:28:24 -0000	1.6
--- OCLContext.h	13 Jul 2005 20:10:55 -0000	1.7
***************
*** 114,118 ****
  				item.object = object;
  				item.bAssignable = bAssignable;
! 				m_mapVariables.insert( TMap::value_type( strName, item ) );
  				return true;
  			}
--- 114,118 ----
  				item.object = object;
  				item.bAssignable = bAssignable;
! 				m_mapVariables.insert( typename TMap::value_type( strName, item ) );
  				return true;
  			}
***************
*** 144,148 ****
  				m_mapVariables.erase( strName );
  				item.object = object;
! 				m_mapVariables.insert( TMap::value_type( strName, item ) );
  				return true;
  			}
--- 144,148 ----
  				m_mapVariables.erase( strName );
  				item.object = object;
! 				m_mapVariables.insert( typename TMap::value_type( strName, item ) );
  				return true;
  			}
***************
*** 153,157 ****
  				CItem selfItem;
  				bool bHasSelf = false;
! 				for ( TMap::const_iterator i = m_mapVariables.begin() ; i != m_mapVariables.end() ; ++i ) {
  					if ( (*i).first == "self" ) {
  						bHasSelf = true;
--- 153,157 ----
  				CItem selfItem;
  				bool bHasSelf = false;
! 				for ( typename TMap::const_iterator i = m_mapVariables.begin() ; i != m_mapVariables.end() ; ++i ) {
  					if ( (*i).first == "self" ) {
  						bHasSelf = true;
***************
*** 178,182 ****
  			bool GetVariable( const std::string& strName, StoreItem& item ) const
  			{
! 				TMap::const_iterator i = m_mapVariables.find( strName );
  				if ( i == m_mapVariables.end() )
  					return false;
--- 178,182 ----
  			bool GetVariable( const std::string& strName, StoreItem& item ) const
  			{
! 				typename TMap::const_iterator i = m_mapVariables.find( strName );
  				if ( i == m_mapVariables.end() )
  					return false;
***************
*** 231,235 ****
  			{
  				if ( ! m_vecContexts.empty() ) {
! 					CTVector::iterator i = m_vecContexts.end();
  					i--;
  					m_vecContexts.erase( i );
--- 231,235 ----
  			{
  				if ( ! m_vecContexts.empty() ) {
! 					typename CTVector::iterator i = m_vecContexts.end();
  					i--;
  					m_vecContexts.erase( i );
***************
*** 322,324 ****
  }; // namespace OclCommon
  
! #endif // OclContext_h
\ No newline at end of file
--- 322,324 ----
  }; // namespace OclCommon
  
! #endif // OclContext_h

Index: OCLCommon.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLCommon.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** OCLCommon.h	26 Jan 2005 17:28:24 -0000	1.6
--- OCLCommon.h	13 Jul 2005 20:10:55 -0000	1.7
***************
*** 9,12 ****
--- 9,24 ----
  #define OCLCommon_h
  
+ /*
+ in case of GME STLport is used (under VC 7.x)
+ in case of UDM MSVC's own STL
+ */
+ 
+ #ifndef FOR_GME
+ #ifdef _WIN32
+ #if (_MSC_VER == 1200)
+ #include <stl_user_config.h>
+ #endif
+ #endif
+ #endif
  #include <vector>
  #include <map>
***************
*** 39,41 ****
  }; // namespace OclCommon
  
! #endif OCLCommon_h
\ No newline at end of file
--- 51,53 ----
  }; // namespace OclCommon
  
! #endif //OCLCommon_h

Index: OCLTree.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLTree.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** OCLTree.h	16 May 2005 20:35:18 -0000	1.16
--- OCLTree.h	13 Jul 2005 20:10:55 -0000	1.17
***************
*** 669,674 ****
  //udmoclpat_ocltree_h_3 __please do not remove or change this line__
  
! 		friend ObjectNode;
! 		friend CollectionNode;
  	};
  
--- 669,674 ----
  //udmoclpat_ocltree_h_3 __please do not remove or change this line__
  
! 		friend class ObjectNode;
! 		friend class CollectionNode;
  	};
  
***************
*** 676,679 ****
--- 676,680 ----
  
  }; // namespace OclTree
+ 
  
  #endif // OclTree_h

Index: OCLType.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLType.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** OCLType.cpp	13 Oct 2004 15:17:54 -0000	1.8
--- OCLType.cpp	13 Jul 2005 20:10:55 -0000	1.9
***************
*** 313,317 ****
  		StringVector vecTypes;
  		const StringVector& vecSuperTypes = GetType( strName1 )->GetSuperTypeNames();
! 		for ( unsigned int i = 0 ; i < vecSuperTypes.size() ; i++ )
  			vecTypes.push_back( GetTypeBase( vecSuperTypes[ i ], strName2 ) );
  		int iIsA = -1;
--- 313,318 ----
  		StringVector vecTypes;
  		const StringVector& vecSuperTypes = GetType( strName1 )->GetSuperTypeNames();
! 		unsigned int i;
! 		for ( i = 0 ; i < vecSuperTypes.size() ; i++ )
  			vecTypes.push_back( GetTypeBase( vecSuperTypes[ i ], strName2 ) );
  		int iIsA = -1;
***************
*** 656,660 ****
--- 657,665 ----
  		char signoStr[100];
  		std::string signo = signature.Print();
+ #ifdef _WIN32
  		itoa(level, signoStr, 10);  
+ #else
+ 		sprintf( signoStr, "%d", level );
+ #endif
  		signo += signoStr;
  
***************
*** 697,699 ****
  	}
  
! }; // namespace OclMeta
\ No newline at end of file
--- 702,704 ----
  	}
  
! }; // namespace OclMeta

Index: OCLConfig.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLConfig.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OCLConfig.h	2 Oct 2002 21:09:00 -0000	1.2
--- OCLConfig.h	13 Jul 2005 20:10:55 -0000	1.3
***************
*** 14,16 ****
  #define MAX_VIOLATION_FOR_CONSTRAINT			-1
  
! #endif OCLConfig_h
--- 14,16 ----
  #define MAX_VIOLATION_FOR_CONSTRAINT			-1
  
! #endif //OCLConfig_h

Index: ocl.g
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/ocl.g,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** ocl.g	16 May 2005 20:35:18 -0000	1.16
--- ocl.g	13 Jul 2005 20:10:55 -0000	1.17
***************
*** 325,329 ****
  			void AddException( const string& strMessage, const string& strParam1, const string& strParam2, int iLine )
  			{
! 				m_ExceptionPool.Add( OclCommon::Exception( OclCommon::Exception::ET_SYNTACTIC, strMessage, strParam1, strParam2, iLine ) );
  			}
  	>>
--- 325,330 ----
  			void AddException( const string& strMessage, const string& strParam1, const string& strParam2, int iLine )
  			{
! 				OclCommon::Exception exp( OclCommon::Exception( OclCommon::Exception::ET_SYNTACTIC, strMessage, strParam1, strParam2, iLine ) );
! 				m_ExceptionPool.Add( exp );
  			}
  	>>
***************
*** 648,652 ****
  			}
  	>>
! 
  //udmoclpat_ocl_g_4 __please do not remove or change this line__
  
--- 649,653 ----
  			}
  	>>
! 	
  //udmoclpat_ocl_g_4 __please do not remove or change this line__
  
***************
*** 1665,1667 ****
  #token								"~[\n\r]+"			<< skip(); >>
  
! //udmoclpat_ocl_g_12 __please do not remove or change this line__
\ No newline at end of file
--- 1666,1668 ----
  #token								"~[\n\r]+"			<< skip(); >>
  
! //udmoclpat_ocl_g_12 __please do not remove or change this line__

Index: OCLRefCount.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLRefCount.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OCLRefCount.h	23 Oct 2002 14:05:00 -0000	1.2
--- OCLRefCount.h	13 Jul 2005 20:10:55 -0000	1.3
***************
*** 42,46 ****
  			}
  
! 		friend RCSmart< TRefCount >;
  	};
  
--- 42,46 ----
  			}
  
! 		friend class RCSmart< TRefCount >;
  	};
  
***************
*** 63,67 ****
  		public :
  			RCSmart()
! 				: m_p( NULL )
  			{
  			}
--- 63,67 ----
  		public :
  			RCSmart()
! 				: m_p( 0 )
  			{
  			}
***************
*** 137,141 ****
  			bool IsNull() const
  			{
! 				return m_p == NULL;
  			}
  
--- 137,141 ----
  			bool IsNull() const
  			{
! 				return m_p == 0;
  			}
  
***************
*** 152,156 ****
  					if ( --m_p->m_iRefCount == 0 ) {
  						delete m_p;
! 						m_p = NULL;
  					}
  			}
--- 152,156 ----
  					if ( --m_p->m_iRefCount == 0 ) {
  						delete m_p;
! 						m_p = 0;
  					}
  			}
***************
*** 175,179 ****
  		public :
  			Smart()
! 				: m_p( NULL )
  			{
  			}
--- 175,179 ----
  		public :
  			Smart()
! 				: m_p( 0 )
  			{
  			}
***************
*** 232,236 ****
  			bool IsNull() const
  			{
! 				return m_p == NULL;
  			}
  	};
--- 232,236 ----
  			bool IsNull() const
  			{
! 				return m_p == 0;
  			}
  	};

Index: OCLFormalParameter.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLFormalParameter.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OCLFormalParameter.h	13 Oct 2004 15:17:54 -0000	1.2
--- OCLFormalParameter.h	13 Jul 2005 20:10:55 -0000	1.3
***************
*** 9,13 ****
  #define OCLFormalParameter_h
  
! #include "OclCommon.h"
  
  namespace OclCommon
--- 9,13 ----
  #define OCLFormalParameter_h
  
! #include "OCLCommon.h"
  
  namespace OclCommon
***************
*** 102,104 ****
  }; // namespace OclCommon
  
! #endif // OCLFormalParameter_h
\ No newline at end of file
--- 102,104 ----
  }; // namespace OclCommon
  
! #endif // OCLFormalParameter_h

Index: OCLObject.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLObject.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** OCLObject.cpp	13 Oct 2004 15:17:54 -0000	1.8
--- OCLObject.cpp	13 Jul 2005 20:10:55 -0000	1.9
***************
*** 119,126 ****
--- 119,128 ----
  	}
  
+ #ifdef _WIN32
  	IUnknown* Object::GetObject() const
  	{
  		return ( IsUndefined() ) ? NULL : Ptr()->GetObject();
  	}
+ #endif
  
  }; // namespace OclMeta

Index: OCLFeature.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OCLFeature.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** OCLFeature.h	26 Jan 2005 17:28:24 -0000	1.4
--- OCLFeature.h	13 Jul 2005 20:10:55 -0000	1.5
***************
*** 130,140 ****
  
  	class Attribute
! 		: 	public Feature,
  			public OclSignature::Attribute,
! 			public FeatureAppendix< OclImplementation::Attribute >
  	{
  		public :
  			Attribute( const std::string& strName, const TypeSeq& vecTypeReturn, OclImplementation::Attribute* pImplementation, bool bDynamic, bool bDependence = false )
! 				: Feature( strName, OclSignature::Feature::FK_ATTRIBUTE, vecTypeReturn, bDynamic, bDependence ), OclSignature::Attribute( strName ), FeatureAppendix<OclImplementation::Attribute>( pImplementation )
  			{
  			}
--- 130,140 ----
  
  	class Attribute
! 		: 	public OclMeta::Feature,
  			public OclSignature::Attribute,
! 			public OclMeta::FeatureAppendix< OclImplementation::Attribute >
  	{
  		public :
  			Attribute( const std::string& strName, const TypeSeq& vecTypeReturn, OclImplementation::Attribute* pImplementation, bool bDynamic, bool bDependence = false )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_ATTRIBUTE, vecTypeReturn, bDynamic, bDependence ), OclSignature::Attribute( strName ), OclMeta::FeatureAppendix<OclImplementation::Attribute>( pImplementation )
  			{
  			}
***************
*** 157,167 ****
  
  	class Association
! 		: 	public Feature,
  			public OclSignature::Association,
! 			public FeatureAppendix< OclImplementation::Association >
  	{
  		public :
  			Association( const std::string& strName, const std::string& strAcceptable, TypeSeq& vecTypeReturn, OclImplementation::Association* pImplementation, bool bDynamic )
! 				: Feature( strName, OclSignature::Feature::FK_ASSOCIATION, vecTypeReturn, bDynamic ), OclSignature::Association( strName, strAcceptable ), FeatureAppendix<OclImplementation::Association>( pImplementation )
  			{
  			}
--- 157,167 ----
  
  	class Association
! 		: 	public OclMeta::Feature,
  			public OclSignature::Association,
! 			public OclMeta::FeatureAppendix< OclImplementation::Association >
  	{
  		public :
  			Association( const std::string& strName, const std::string& strAcceptable, TypeSeq& vecTypeReturn, OclImplementation::Association* pImplementation, bool bDynamic )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_ASSOCIATION, vecTypeReturn, bDynamic ), OclSignature::Association( strName, strAcceptable ), OclMeta::FeatureAppendix<OclImplementation::Association>( pImplementation )
  			{
  			}
***************
*** 184,194 ****
  
  	class Iterator
! 		: 	public Feature,
  			public OclSignature::Iterator,
! 			public FeatureAppendix< OclImplementation::Iterator >
  	{
  		public :
  			Iterator( const std::string& strName, const std::string& strParameterType, TypeSeq& vecTypeReturn, OclImplementation::Iterator* pImplementation, bool bDynamic )
! 				: Feature( strName, OclSignature::Feature::FK_ITERATOR, vecTypeReturn, bDynamic ), OclSignature::Iterator( strName, strParameterType ), FeatureAppendix<OclImplementation::Iterator>( pImplementation )
  			{
  			}
--- 184,194 ----
  
  	class Iterator
! 		: 	public OclMeta::Feature,
  			public OclSignature::Iterator,
! 			public OclMeta::FeatureAppendix< OclImplementation::Iterator >
  	{
  		public :
  			Iterator( const std::string& strName, const std::string& strParameterType, TypeSeq& vecTypeReturn, OclImplementation::Iterator* pImplementation, bool bDynamic )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_ITERATOR, vecTypeReturn, bDynamic ), OclSignature::Iterator( strName, strParameterType ), OclMeta::FeatureAppendix<OclImplementation::Iterator>( pImplementation )
  			{
  			}
***************
*** 211,221 ****
  
  	class Method
! 		: 	public Feature,
  			public OclSignature::Method,
! 			public FeatureAppendix< OclImplementation::Method >
  	{
  		public :
  			Method( const std::string& strName, const OclCommon::FormalParameterVector& vecParameters, TypeSeq& vecTypeReturn, OclImplementation::Method* pImplementation, bool bDynamic, bool bDependence = false )
! 				: Feature( strName, OclSignature::Feature::FK_METHOD, vecTypeReturn, bDynamic, bDependence ), OclSignature::Method( strName, vecParameters ), FeatureAppendix<OclImplementation::Method>( pImplementation )
  			{
  			}
--- 211,221 ----
  
  	class Method
! 		: 	public OclMeta::Feature,
  			public OclSignature::Method,
! 			public OclMeta::FeatureAppendix< OclImplementation::Method >
  	{
  		public :
  			Method( const std::string& strName, const OclCommon::FormalParameterVector& vecParameters, TypeSeq& vecTypeReturn, OclImplementation::Method* pImplementation, bool bDynamic, bool bDependence = false )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_METHOD, vecTypeReturn, bDynamic, bDependence ), OclSignature::Method( strName, vecParameters ), OclMeta::FeatureAppendix<OclImplementation::Method>( pImplementation )
  			{
  			}
***************
*** 238,253 ****
  
  	class Operator
! 		: 	public Feature,
  			public OclSignature::Operator,
! 			public FeatureAppendix< OclImplementation::Operator >
  	{
  		public :
  			Operator( const std::string& strName, const std::string& strOperand1Type, const TypeSeq& vecTypeReturn, OclImplementation::Operator* pImplementation, bool bDynamic )
! 				: Feature( strName, OclSignature::Feature::FK_OPERATOR, vecTypeReturn, bDynamic ), OclSignature::Operator( strName, strOperand1Type ), FeatureAppendix<OclImplementation::Operator>( pImplementation )
  			{
  			}
  
  			Operator( const std::string& strName, const std::string& strOperand1Type, const std::string& strOperand2Type, const TypeSeq& vecTypeReturn, OclImplementation::Operator* pImplementation, bool bDynamic )
! 				: Feature( strName, OclSignature::Feature::FK_OPERATOR, vecTypeReturn, bDynamic ), OclSignature::Operator( strName, strOperand1Type, strOperand2Type ), FeatureAppendix<OclImplementation::Operator>( pImplementation )
  			{
  			}
--- 238,253 ----
  
  	class Operator
! 		: 	public OclMeta::Feature,
  			public OclSignature::Operator,
! 			public OclMeta::FeatureAppendix< OclImplementation::Operator >
  	{
  		public :
  			Operator( const std::string& strName, const std::string& strOperand1Type, const TypeSeq& vecTypeReturn, OclImplementation::Operator* pImplementation, bool bDynamic )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_OPERATOR, vecTypeReturn, bDynamic ), OclSignature::Operator( strName, strOperand1Type ), OclMeta::FeatureAppendix<OclImplementation::Operator>( pImplementation )
  			{
  			}
  
  			Operator( const std::string& strName, const std::string& strOperand1Type, const std::string& strOperand2Type, const TypeSeq& vecTypeReturn, OclImplementation::Operator* pImplementation, bool bDynamic )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_OPERATOR, vecTypeReturn, bDynamic ), OclSignature::Operator( strName, strOperand1Type, strOperand2Type ), OclMeta::FeatureAppendix<OclImplementation::Operator>( pImplementation )
  			{
  			}
***************
*** 270,280 ****
  
  	class Function
! 		: 	public Feature,
  			public OclSignature::Function,
! 			public FeatureAppendix< OclImplementation::Function >
  	{
  		public :
  			Function( const std::string& strName, const OclCommon::FormalParameterVector& vecParameters, TypeSeq& vecTypeReturn, OclImplementation::Function* pImplementation, bool bDynamic )
! 				: Feature( strName, OclSignature::Feature::FK_FUNCTION, vecTypeReturn, bDynamic ), OclSignature::Function( strName, vecParameters ), FeatureAppendix<OclImplementation::Function>( pImplementation )
  			{
  			}
--- 270,280 ----
  
  	class Function
! 		: 	public OclMeta::Feature,
  			public OclSignature::Function,
! 			public OclMeta::FeatureAppendix< OclImplementation::Function >
  	{
  		public :
  			Function( const std::string& strName, const OclCommon::FormalParameterVector& vecParameters, TypeSeq& vecTypeReturn, OclImplementation::Function* pImplementation, bool bDynamic )
! 				: OclMeta::Feature( strName, OclSignature::Feature::FK_FUNCTION, vecTypeReturn, bDynamic ), OclSignature::Function( strName, vecParameters ), OclMeta::FeatureAppendix<OclImplementation::Function>( pImplementation )
  			{
  			}
***************
*** 300,304 ****
  		public :
  			Position 	m_position;
! 			std::string	m_strSignature;
  			bool 		m_bFailed;
  			bool 		m_bChecked;
--- 300,304 ----
  		public :
  			Position 	m_position;
! 			std::string		m_strSignature;
  			bool 		m_bFailed;
  			bool 		m_bChecked;

Index: OclConstraint.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/ConstraintManager/OclConstraint.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** OclConstraint.cpp	16 May 2005 20:35:18 -0000	1.9
--- OclConstraint.cpp	13 Jul 2005 20:10:55 -0000	1.10
***************
*** 258,262 ****
  			if ( (*i).m_bFailed ) {
  				bWasError = true;
! 				m_poolExceptions.Add( OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, EX_CONSTRAINT_DEF_FAILED, (*i).m_strSignature, (*i).m_position.iLine, (*i).m_position.iColumn ) );
  			}
  		}
--- 258,263 ----
  			if ( (*i).m_bFailed ) {
  				bWasError = true;
! 				OclCommon::Exception exp( OclCommon::Exception( OclCommon::Exception::ET_SEMANTIC, EX_CONSTRAINT_DEF_FAILED, (*i).m_strSignature, (*i).m_position.iLine, (*i).m_position.iColumn ) );
! 				m_poolExceptions.Add( exp );
  			}
  		}
***************
*** 315,319 ****
  
  	// this method called once at the end not for each constarint function ?? !!
! 	// m_vecViolations will lose for the constarint functions 
  	OclTree::ViolationVector Constraint::GetViolations()
  	{
--- 316,320 ----
  
  	// this method called once at the end not for each constarint function ?? !!
! 	// m_vecViolations will lose for the constarint functions
  	OclTree::ViolationVector Constraint::GetViolations()
  	{
***************
*** 332,334 ****
  //udmoclpat_oclconstraint_cpp_2 __please do not remove or change this line__
  
! }; // namespace Ocl
\ No newline at end of file
--- 333,335 ----
  //udmoclpat_oclconstraint_cpp_2 __please do not remove or change this line__
  
! }; // namespace Ocl



More information about the GME-commit mailing list