Author |
Topic |
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 09 2005 : 4:00:47 PM
|
Using VAX 1435, when I try to navigate to specific method using the Context menu, not all the methods are listed. It only lists about half, of the 120 methods, while the microsoft version lists all the methods.. This is using a C style file..no classes involved just straight methods.
I've rebuild the Symbol database but still happens. In files that are class implemetaion files things are fine, just the "c style" seems to be 'broken'. Its mixed in what is shown in hte context menu. As some methods that are defined only in the file show and some don't, and some that are referenced out side the file show and some don't
- Thanks. |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Dec 09 2005 : 8:19:58 PM
|
Can you provide an example, or sample file, to help us reproduce the problem?
You are welcome to send via email to [email protected] |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Dec 10 2005 : 2:09:40 PM
|
I have seen something like this with the "K&R" style function definitions. Is this possibly the case here? |
Joe Pizzi |
|
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 10 2005 : 5:49:08 PM
|
"K&R" being this style.
void func( void ) { // do stuff }
if so then, the files I work with use that style extensivly. |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Dec 11 2005 : 12:44:44 PM
|
Your simple examle of K&R works fine for us. We still can't reproduce the problem.
Do you have an example that fails consistently? A file or project you can send to us?
Does the problem depend on your settings for "View Context..." in the "Text Editor|General" node of our options dialog? |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Dec 11 2005 : 8:52:44 PM
|
No, sorry. What I mean by K&R is this style:
int main(argc, argv) int argc; char* argv[]; { . . . } |
Joe Pizzi |
|
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 12 2005 : 10:11:55 AM
|
I have a file that reproduces this consistanly, I'll move to to a blank project, I'll see if I can get it to you as its part of a commerical product underdevelopment. |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
|
feline
Whole Tomato Software
United Kingdom
19009 Posts |
Posted - Dec 12 2005 : 5:17:54 PM
|
if you can reproduce this problem in a blank project you can probably shrink the file right down and still retain the problem, leaving you with a sample piece of code that you should be able to post or email in without any problems. |
zen is the art of being at one with the two'ness |
|
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 12 2005 : 6:48:07 PM
|
I've experimented around with this file and it seems to be a #ifdef/#endif issue. We use a lot of #ifdef/#else and a few nested #ifdef's
I made a copy of the file and started removing all our #ifdef/#ifndefs until the Context Field filled in all the members. I can't say if its just the # of #idefs or the code between it confuses VA, I'll try to get a sample file tomorrow, but I was able to confirm its a #ifdef issue. |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 13 2005 : 4:42:20 PM
|
Ok, File sent to you guys. |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Dec 14 2005 : 12:48:50 AM
|
We have your source file and whittled down the 6000 lines to find the offending piece. The debugging is a lot easier if you sort the Alt+M list by occurrence in the VA X options dialog. You can compare the Alt+M list with your source method by method. We found the Alt+M list stops at Brush_ModelIntersect. No methods after it appear.
If you try collapsing your code to definitions via Edit|Outlining, you notice the IDE cannot collapse Brush_ModelIntersect.
Two products get stuck at the same method. Good clue.
We found this in your Brush_Modelntersect:
#ifdef _MD5R_SUPPORT rvRenderModelMD5R *md5rModel = dynamic_cast<rvRenderModelMD5R *>( model ); if ( md5rModel != NULL && md5rModel->NumJoints() || dynamic_cast<idRenderModelMD5 *>( model ) ) { #else if ( dynamic_cast<idRenderModelMD5 *>( model ) ) { #endif
If you look carefully, each of the #ifdef clauses ends with an open brace. Since VA X and the IDE, during edit, parse all clauses of an #ifdef (long story but you want assistance with both clauses so both are parsed), you get unbalanced braces.
Simply eliminate one and move the other open brace below the #endif.
Check out the section, "Errant Context" at the bottom of:
http://www.wholetomato.com/products/features/context.html?more=yes
|
|
|
rhummer
Tomato Guru
USA
527 Posts |
Posted - Dec 14 2005 : 10:09:55 AM
|
Ah, Ok great thanks! I'll keep that in mind |
Tools Engineer - Raven Software VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64
|
|
|
|
Topic |
|