Hi,
I use some Microsoft Source Annotation Language macros in C++ function signatures to allow static analysis to enforce the function contracts (especially for function and reference arguments). I ran into some trouble using the Change Signature refactoring for functions that use these macros, and I was wondering if there was a workaround or if this non-standard feature is in fact supported by VA.
http://msdn.microsoft.com/en-us/library/hh916382.aspx
So if I have a function declared like
int foo(_In_ double* pd, _Out_ bool& rb);
I have had issues using Change Signature. The expected behavior woudl be to have the macros _In_, _Out_, etc, be treated like part of the parameter. Each one would travel with the others.
Additionally, since Microsoft requires the annotations on all declarations to match, it would be handy to be able to introduce these annotations with Change Signature, so I wouldn't have to edit two or more files by hand.
Thanks,
Jay