Community
Participate
Working Groups
Found testing RC1 candidate. Not sure what's failing here, there may be more than one thing wrong. 1. Load in TargetRTS project and index using the Full Indexer. 2. Goto include/RTBindingEnd.h and select the struct specifier name (RTBindingEnd). 3. Ctrl-Shift-G Search for all references finds none. 4. File Search shows us this class if forward declared and used in other files. 5. Similarly, go to include/RTProtocol.h, see the forward reference to struct RTBindingEnd. 6. Ctrl-Shift-G Search for all references finds the 2 references within that file. 7. Goto one of the references and hit F2 and no definition was found. 8. Goto the same reference and hit F3 and you will goto the forward declaration.
Created attachment 24210 [details] fix for this PR Andrew, can you take a look at this patch? The problem is with DOMSearchUtil#createSearchFor(IBinding). If an ICompositeType#getKey() is ICompositeType.k_struct then should ONLY structs be searched for instead of classes and structs? If this is the case then how will you know when to search for a class/struct/union because ICompositeType only has k_struct and k_union? Should the code look like this: switch(((ICompositeType)binding).getKey()) { case ICompositeType.k_struct: searchFor = ICSearchConstants.STRUCT; break; case ICompositeType.k_union: searchFor = ICSearchConstants.UNION; break; default: searchFor = ICSearchConstants.CLASS; // or maybe CLASS_STRUCT here? break; }
Note 102328 as I think that it is the same bug as this one but caused from a Class Template instead.
You need to add ICPPClassType.k_class to the switch since thats what c++ classes will return (even when you get the key through ICompositeType) I would suggest using ICSearchConstants.CLASS_STRUCT for both k_struct and k_class since the following code compiles under GCC: struct A; class A{}; The default case should probably be CLASS_STRUCT, or even the less restrictive TYPE.
Created attachment 24350 [details] fix for this PR
Please take a look at the attached patch and apply/reject it.
applied.