(file) Return to MethodRep.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common / Attic

Diff for /pegasus/src/Pegasus/Common/Attic/MethodRep.cpp between version 1.2 and 1.3

version 1.2, 2001/01/22 00:45:47 version 1.3, 2001/01/23 01:25:35
Line 23 
Line 23 
 // Author: // Author:
 // //
 // $Log$ // $Log$
   // Revision 1.3  2001/01/23 01:25:35  mike
   // Reworked resolve scheme.
   //
 // Revision 1.2  2001/01/22 00:45:47  mike // Revision 1.2  2001/01/22 00:45:47  mike
 // more work on resolve scheme // more work on resolve scheme
 // //
Line 120 
Line 123 
     const String& nameSpace,     const String& nameSpace,
     const ConstMethod& inheritedMethod)     const ConstMethod& inheritedMethod)
 { {
     if (inheritedMethod)      // ATTN: Check to see if this method has same signature as
     {      // inherited one.
         assert(Name::equal(getName(), inheritedMethod.getName()));  
  
         if (getType() != inheritedMethod.getType())      // Check for type mismatch between return types.
         {  
             String tmp = inheritedMethod.getName();  
             tmp.append("; attempt to change type");  
             throw InvalidMethodOverride(tmp);  
         }  
  
         _classOrigin = inheritedMethod.getClassOrigin();      assert (inheritedMethod);
     }  
  
     // Validate the qualifiers of the method (according to     // Validate the qualifiers of the method (according to
     // superClass's method with the same name). This method     // superClass's method with the same name). This method
     // will throw an exception if the validation fails.     // will throw an exception if the validation fails.
  
     if (inheritedMethod)  
     {  
         _qualifiers.resolve(         _qualifiers.resolve(
             declContext,             declContext,
             nameSpace,             nameSpace,
             Scope::METHOD,             Scope::METHOD,
             false,             false,
             inheritedMethod._rep->_qualifiers);             inheritedMethod._rep->_qualifiers);
     }  
     else  
     {  
         QualifierList dummyQualifiers;  
         _qualifiers.resolve(  
             declContext,  
             nameSpace,  
             Scope::METHOD,  
             false,  
             dummyQualifiers);  
     }  
  
     // Validate each of the parameters:     // Validate each of the parameters:
  
     for (size_t i = 0; i < _parameters.getSize(); i++)     for (size_t i = 0; i < _parameters.getSize(); i++)
         _parameters[i].resolve(declContext, nameSpace);         _parameters[i].resolve(declContext, nameSpace);
   
       _classOrigin = inheritedMethod.getClassOrigin();
 } }
  
 void MethodRep::resolve( void MethodRep::resolve(


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2