The c++ parser has issues with the following example. It ends up identifying class 'Bar' as 'SIMPLE_FINAL'.
class SimpleInterface
{
virtual ~SimpleInterface() = default;
virtual void Foo() = 0;
};
#define SIMPLE_FINAL final
class Bar SIMPLE_FINAL : public SimpleInterface
{
void Foo() override {}
};