When using Create Implementation with methods in a namespace with the following code, the command works as expected.
namespace Yar
{
void ar();
}
generates:
namespace Yar
{
void ar();
//////////////////////////////////////////////////////////////
// void ar
// In:
// Out:
//////////////////////////////////////////////////////////////
void ar()
{
}
}
But when using macros to define the beginning and end of a namespace, code generation gets really wonky.
#define NS namespace Yar {
#define endNS }
NS
void ar();
endNS
will generate:
//////////////////////////////////////////////////////////////////////////
// NS
void Yar::ar
// In:
// Out:
//////////////////////////////////////////////////////////////////////
NS
void Yar::ar()
{
}
Note the uncommented line in the function comment block, as well as the namespace being incorrectly identified. The newline between the namespace and the rest of the function declaration breaks commenting when using $SymbolType$. If you take that out of the refactoring snippet, the code generated is this:
#define NS namespace Yar {
#define endNS }
NS
void ar();
//////////////////////////////////////////////////////////////////////
// ar
// In:
// Out:
//////////////////////////////////////////////////////////////////////
NS
void ar()
{
}
endNS
Is this intended behavior?