Hello!
I think there is a problem with class parsing when a class has Pure Virtual methods. If the '= 0' is defined with a macro and the name of the macro is different from the Windows definition 'PURE', Visual Assist does not seems to understand it.
Here is a little C++ code sample that reproduces the problem:
#define PURE = 0 // Taken from Visual Studio 2005 include file objbase.h at line 198.
#define MYPURE1 = 0
#define MYPURE2 PURE
class ITest
{
public:
virtual void Test1() = 0;
virtual void Test2() MYPURE1;
virtual void Test3() PURE;
virtual void Test4() MYPURE2;
};
void main()
{
ITest* pITest = 0;
pITest->Test1();
pITest->Test2();
pITest->Test3();
pITest->Test4();
}
In the sample, the Test1 and Test3 will be properly recognized but the Test2 and Test4 will not.
Thanks in advance for your help!
Chris
VA_X.dll file version 10.3.1561.0 built 2007.09.13
Licensed to:
VAOpsWin.dll version 1.3.2.7
VATE.dll version 1.0.6.1
DevEnv.exe version 8.0.50727.762 (2005 with SP1)
msenv.dll version 8.0.50727.762
Font: Courier New 13(Pixels)
Comctl32.dll version 6.0.2900.2982
Windows XP 5.1 Build 2600 Service Pack 2
2 processors
Platform: Win32
Stable Includes:
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\include;
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\include;
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\PlatformSDK\\include;
C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\include;
Library Includes:
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfc;
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfcm;
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\atl;
C:\\Program Files\\Microsoft Visual Studio 8\\VC\\crt\\src;
Other Includes: