Author |
Topic ![Next Topic Next Topic](icon_go_right.png) |
|
evolution
Tomato Guru
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
105 Posts |
Posted - Feb 18 2021 : 8:55:38 PM
|
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:
![](https://forums.wholetomato.com/forum/uploaded/evolution/2021218205247_VAOutlineBug.png)
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
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18751 Posts |
Posted - Feb 19 2021 : 06:38:25 AM
|
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 Go to Top of Page](icon_go_up.png) |
|
evolution
Tomato Guru
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
105 Posts |
Posted - Feb 19 2021 : 12:53:25 PM
|
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 Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18751 Posts |
Posted - Feb 22 2021 : 06:42:17 AM
|
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 Go to Top of Page](icon_go_up.png) |
|
|
Topic ![Next Topic Next Topic](icon_go_right.png) |
|
|
|