Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Small parser bug with c++
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

thalosii
Starting Member

USA
1 Posts

Posted - Mar 21 2023 :  09:17:35 AM  Show Profile  Reply with Quote
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 {}
    };

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Mar 21 2023 :  11:49:43 AM  Show Profile  Reply with Quote
I am seeing the same effect here. Thank you for the clear description.

case=102410

As a work around, can you please create a new text file called "va_stdafx.h" in the same directory as your SLN file. Edit this file and add the line:

#define SIMPLE_FINAL final

making sure that the file ends with a blank line.

When rebuilding its symbol database VA searches for this file, and if found, it parses it before parsing anything else. This file is used to give our parser helpful hints, and to work around odd problems that we encounter. The file should not be added to your solution, so it doesn't matter if the content of the file conflict with code inside your solution.

Having created and edited the file, in the IDE press the button:

VA Options -> Performance -> Rebuild symbol databases

and restart your IDE. This should fix this for you, it fixes it for me here.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000