Author |
Topic |
|
__Daniel__
Senior Member
Poland
36 Posts |
Posted - Sep 22 2009 : 05:35:30 AM
|
Hello. I have: /SDK/defines.h /solution/project1 -def.h /solution/project2 -def.h
project1 and project2 use /sdk/defines.h project1 and project2 are in one solution "solution". in defines.h: #include "def.h" struct SStructCommon { SStructSpecific s; };
in project1/def.h struct SStructSpecific { int i; }; in project2/def.h struct SStructSpecific { int j; };
during writing code in project1/2 SStructCommon sCom; sCom.s <- in listbox appears "i" and "j" not only "i" or "j" suitably
In my "real" solution usually listbox is empty for sCom.s ( sCom.s.i is underlined ) |
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Sep 23 2009 : 5:11:24 PM
|
Firstly, about the your test (not-real) project: VAX pre-parses the header files in your solution, and later will use this cached database in order to be faster. So it parses both your "SStructSpecific" structs and adds the members from both.
About the "real" project: not getting the symbols at all is clearly a problem. It may mean that VA's parser got confused at some point. For example, do you use complex (i.e. recursive and/or very long and complex) macros? Do you get a lot of "odd" underlines in your files? (which shouldn't be there)
You can try turning on
VA Options -> Advanced -> Listboxes -> Get content from default Intellisense
as a workaround. It may help, but only with listboxes. |
Edited by - accord on Sep 23 2009 5:15:04 PM |
|
|
__Daniel__
Senior Member
Poland
36 Posts |
Posted - Sep 24 2009 : 01:55:56 AM
|
1. "Real" project: yes, complex macros ( witch registry LimitMacro/LimitMacroParsing is better but not enougth ) - tough luck 2. "So it parses both your "SStructSpecific" structs and adds the members from both." - not good, i have 15 - 20 projects like "project1" in solution so my real "listbox" is very crazy |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Sep 24 2009 : 5:30:35 PM
|
1. If you can share these macros, and an example cpp with the corresponding header file, then I can investigate the problem and find the cause of the underline. You can submit the files via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up. It would only be used for testing this problem, and would be kept private. I understand this is often not possible, but it is worth asking.
Alternatively a test code that demonstrate the problem with the macro/macros also good.
2. Unfortunately this is how the parser currently works. But it enormously speeds up things: consider a long cpp file with lots of includes and with complex macros: it could take a while to reparse such a file every time you stop typing... But after the macros will be understood, maybe it won't be a problem: you will get much more suggestions but it will refines as you type 1-2 more characters of the symbols. |
|
|
__Daniel__
Senior Member
Poland
36 Posts |
Posted - Sep 25 2009 : 04:43:25 AM
|
When i copy "problematic" files to new project everything are ok. Only in "real" program is problem. I can't send to your program. Maybe exist special build VA which can write logs with problems during parsing? |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Sep 25 2009 : 3:31:40 PM
|
You can turn on VA logging:
http://docs.wholetomato.com?W305
so we can give it a try. However, posting or sending privately some example macros (via the form) may help spotting the problem and to build a simplified version of the macro. You can ask VA to use simplified version of macros or to skip them completely:
http://docs.wholetomato.com?W302
Maybe we can help with this process. |
|
|
|
Topic |
|