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
 Feature Requests
 Just one wish...
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Adequat
Tomato Guru

182 Posts

Posted - May 13 2008 :  10:46:44 AM  Show Profile  Reply with Quote
Have a better C++ parser!
I don't really need new features, but I wish better suggestions from VA. In others words, even a higher form of IntelliSense...

feline
Whole Tomato Software

United Kingdom
18951 Posts

Posted - May 13 2008 :  12:41:14 PM  Show Profile  Reply with Quote
Do you have specific situations where VA has a problem parsing C++ code?

There are cases where VA is automatically going to struggle since it is not compiling the code. A good example is #if, #else, #endif blocks. VA does not know which block is active, and sometimes you need to compile the code to find out.

Bug fixes and improvements to our parser are constant, as you can see from the history of changes:

http://www.wholetomato.com/support/history.asp

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

chrispy
New Member

4 Posts

Posted - Jun 10 2008 :  05:09:14 AM  Show Profile  Reply with Quote
> Do you have specific situations where VA has a problem parsing C++ code?

I have, try the following in a header file:

class Wall
{
#define _WALL_DATA_MEMBERS_ \public: \ short pen; \ int index;

_WALL_DATA_MEMBERS_

private:
class InnerState
{
private:
friend class Wall;

_WALL_DATA_MEMBERS_
}
};

The problem is, that members of Wall - which come from a macro - are not recognized. No Alt+G, no syntax highlighting.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18951 Posts

Posted - Jun 10 2008 :  08:51:30 AM  Show Profile  Reply with Quote
chrispy I have tried this test. After setting the two registry flags given in this FAQ entry:

http://docs.wholetomato.com?W363

and telling VA to reparse the header file holding this class VA is seeing these two members in the class Wall. Can you try this and see if it helps for you?

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

chrispy
New Member

4 Posts

Posted - Jun 12 2008 :  09:07:43 AM  Show Profile  Reply with Quote
Thank you, the registry settings solved the problem.

Another minor nuisance working with Alt+G is this. With the code below when you are in Call.cpp you can go to the header and the macro with Alt+G, but when you are in Call.hpp on CallScript, you can only go to the macro, but not the definition in Call.cpp.

Call.cpp ---
#include "Call.h"
void CallScript (short foo)
{
int i = foo;
return;

}

Call.hpp ---
void CallScript (short foo);

Callbacks.hpp ---
#define GS_CALLBACK(a) (a)
#define CallScript(a) GS_CALLBACK((*gsCallbacks.callScript)(a))
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18951 Posts

Posted - Jun 13 2008 :  10:04:57 AM  Show Profile  Reply with Quote
I am seeing the same effect here. Thank you for the clear description.

case=6388

For now you may find that right clicking and using "Go to declaration" or "Go to definition" help, since these IDE commands are independent of VA's alt-g command.

zen is the art of being at one with the two'ness

Edited by - feline on Jun 13 2008 10:06:55 AM
Go to Top of Page

chrispy
New Member

4 Posts

Posted - Jun 16 2008 :  07:21:07 AM  Show Profile  Reply with Quote
Note these registry settings (http://docs.wholetomato.com?W363)
cause a lot of parsing errors, which were correct before. Changing registry back and rebuilding databases correct those parsing errors.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18951 Posts

Posted - Jun 16 2008 :  08:57:41 AM  Show Profile  Reply with Quote
Well that answers the "why are those settings not on by default" question that came up in a different thread.

If you can post a code sample showing the problems you were seeing with these registry flags turned on I can have a look at it.

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