I filed a ticket on this around 3+ years ago and I'm still waiting. It would be great if VAX could understand namespaces and nested namespaces.
if I have something like this:
namespace Some::Nested::Namespace
{
struct Foo
{
enum class Bar
{
A,
B,
C
};
Bar GetBar() const;
};
}
then if I generate an implementation for GetBar, I end up with this mess:
namespace Some::Nested::Namespace
{
Some::Nested::Namespace::Foo::Bar Foo::GetBar() const
{
}
}
If I try to autogenerate a switch statement for the enum, then I get this mess:
namespace Some::Nested::Namespace
{
Some::Nested::Namespace::Foo::Bar Foo::GetBar() const
{
Bar varBar;
switch ( varBar )
{
case Some::Nested::Namespace::Foo::Bar::A:
break;
case Some::Nested::Namespace::Foo::Bar::B:
break;
case Some::Nested::Namespace::Foo::Bar::C:
break;
default:
break;
}
}
}
VAX obviously has some understanding of namespaces as it will create the definition of the function in the correct namespace block but it seems to fail when generating the types within those blocks.
what I would like is this:
namespace Some::Nested::Namespace
{
Foo::Bar Foo::GetBar() const
{
Bar varBar;
switch ( varBar )
{
case Bar::A:
break;
case Bar::B:
break;
case Bar::C:
break;
default:
break;
}
}
}