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
 VA Outline / refactoring bug in 2021.01.26
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

evolution
Tomato Guru

USA
105 Posts

Posted - Feb 18 2021 :  8:55:38 PM  Show Profile  Reply with Quote
I've noticed that in the latest version, some of my files were being parsed incorrectly by VAX after a certain point in the file. But this only seems to affect things like VA Outline and refactoring commands.

Here it should be listing methods, but it's showing member variable and method parameters from the header instead:




I tracked it down to an unmatched opening parenthesis in a string. like:

printf("hey there, let's break VAX parsing (just kidding!");

When I add a closing parenthesis at the end of that string, the outline shows everything correctly.

what could possibly go wrong? :D

feline
Whole Tomato Software

United Kingdom
18751 Posts

Posted - Feb 19 2021 :  06:38:25 AM  Show Profile  Reply with Quote
Is this a .cpp file, a .h file, or some other extension?

In a simple test case, I am not seeing any problems with either VA Outline, Alt-M list or Find References when I add your printf statement to a function near the top of a file.

If you have the time, can you try making a new, default C++ console solution, and then copy across the problem file, on its own, in the problem state, and see if you still get the problem?

The fact that I cannot reproduce this here with a simple test case suggests that there is something else at work here, which might be coming from one of your include files. If so, then the file will (probably) work correctly in a new, default solution.

zen is the art of being at one with the two'ness
Go to Top of Page

evolution
Tomato Guru

USA
105 Posts

Posted - Feb 19 2021 :  12:53:25 PM  Show Profile  Reply with Quote
It was in a .cpp file inside a UE4 solution. I also have not been able to reproduce it in a small console app. But I can reproduce it 100% in my real solution. There are about a dozen logs in there that contain parenthesis inside the string. I can reproduce it with almost every one of them (by deleting the closing parenthesis) except one random one that is in the middle of the file. So it doesn't seem like it's a specific thing being parsed that is breaking it....more like it's matching braces and the count gets off.

The string is being passed to a wrapper macro that invokes UE_LOG. If I get time today, I'll try setting up a blank uproject to see if I can repro there.

what could possibly go wrong? :D
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18751 Posts

Posted - Feb 22 2021 :  06:42:17 AM  Show Profile  Reply with Quote
Thank you for this, hopefully a blank / new default UE project will let you reproduce it. It would make some sense that this is somehow related to VA's parsing of UE macros or the engine, since this adds quite a bit of complexity.

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