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
 VAX 1426: caching of functions?
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Oct 17 2005 :  8:22:03 PM  Show Profile
I'm seeing occasionally functions appearing in the completion list, which do not exist (anymore).

So far I could notice that it happens in the following case: new C++ .h/.cpp files containing new classes and functions with multiple different signatures.
As often, when you write new classes you add functions which are removed /changed pretty soon. It seems that VAX caches these functions until: the .h/.cpp files are closed, or the IDE is restarted.

To repro just add a new class to your workspace, add a new function (e.g. Function1(int), Function1(string)), use it in a .cpp file, then remove one of the functions. It will still show up in the completion lists. Reparsing does not solve it.

feline
Whole Tomato Software

United Kingdom
19014 Posts

Posted - Oct 18 2005 :  4:04:43 PM  Show Profile
i have the feeling i am not following you. for me overloaded functions are only listed once in completion listboxes, and you have to enter them to cycle through the overloads in a tooltip.

i have added the two files "felineOverload.cpp" and "felineOverload.h" to my solution, using VS 2003 and VA 1426.

into the header i have placed the code:

class felineOverload
{
public:
    felineOverload();
    ~felineOverload();

    void increase(long n);
    void increase(std::string);

    void decrease(int n);
    void decrease(std::string);
};


then in the cpp file i added the code:

felineOverload::felineOverload()
{
    increase(3);
    increase(4);
}


i then deleted the two functions called "increase" in the header, swapped back to the cpp file (using alt_o) and in the constructor i typed:

this->|

the function "increase" is not suggested. how close or far away am i from what you are doing?

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Oct 18 2005 :  5:44:23 PM  Show Profile
Almost there. Delete only one of the functions and it will still list the remaining one and the deleted one too.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Oct 19 2005 :  2:12:38 PM  Show Profile
With build 1422+, save your file(s) and pause for a bit. VA X should forget about definitions that no longer exist.

Does this happen for you?

Related cases were 14 and 86, and TOPIC_ID 2329.
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Oct 19 2005 :  2:23:26 PM  Show Profile
No, it does not happen for me. I have to close the .h file and re-open. (Feline: yes, you are right, its not the completion list, but tooltip and context list where it shows up)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19014 Posts

Posted - Oct 19 2005 :  4:46:50 PM  Show Profile
got it. for me, now using 1428 if i manually reparse the .h file then VA catches up with the change, and now only gives me the one valid overload for increase().

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