|
From: | Shigio YAMAGUCHI |
Subject: | Re: gtags fail to index C++ exported class |
Date: | Mon, 8 Dec 2014 07:46:08 +0900 |
On 6/12/2014 10:40, Shigio YAMAGUCHI wrote:
> I'm very sorry for my making many requests. But, ... just one more.
I'm very sorry you've had to.
> New parser ignores some symbols which are not definition.
Fixed, and referenced forward declarations and specs (this patch is based on the previous one). There'll be a problem if you use relational or shift operators within a template instantiation, but I'm guessing that's unlikely.
C:\test>cat -n test.cc
1 a() {
2 struct menu *menu = NULL;
3
4 connect(configList, SIGNAL(menuSelected(struct menu *)),
5 SLOT(changeMenu(struct menu *)));
6 }
7
8 struct S1 <int, SR1, SR2, float> {
9 int m1;
10 };
11
12 struct S2 : SR3 {
13 float m2;
14 };
15
16 template struct SR4<int>;
17
18 class {};
19 class CR1;
20 class EXTERN CR2;
21 class C1 {};
22 class IMPORT C2 {};
23 class
24 {};
25 class
26 C3 {};
27 class
28 C4
29 {};
30 class
31 EXPORT
32 C5
33 {};
C:\test>gtags
C:\test>global -x .*
C1 21 test.cc class C1 {};
C2 22 test.cc class IMPORT C2 {};
C3 26 test.cc C3 {};
C4 28 test.cc C4
C5 32 test.cc C5
S1 8 test.cc struct S1 <int, SR1, SR2, float> {
S2 12 test.cc struct S2 : SR3 {
a 1 test.cc a() {
C:\test>global -xrs .*
CR1 19 test.cc class CR1;
CR2 20 test.cc class EXTERN CR2;
EXPORT 31 test.cc EXPORT
EXTERN 20 test.cc class EXTERN CR2;
IMPORT 22 test.cc class IMPORT C2 {};
NULL 2 test.cc struct menu *menu = NULL;
SIGNAL 4 test.cc connect(configList, SIGNAL(menuSelected(struct menu *)),
SLOT 5 test.cc SLOT(changeMenu(struct menu *)));
SR1 8 test.cc struct S1 <int, SR1, SR2, float> {
SR2 8 test.cc struct S1 <int, SR1, SR2, float> {
SR3 12 test.cc struct S2 : SR3 {
SR4 16 test.cc template struct SR4<int>;
changeMenu 5 test.cc SLOT(changeMenu(struct menu *)));
configList 4 test.cc connect(configList, SIGNAL(menuSelected(struct menu *)),
connect 4 test.cc connect(configList, SIGNAL(menuSelected(struct menu *)),
m1 9 test.cc int m1;
m2 13 test.cc float m2;
menu 2 test.cc struct menu *menu = NULL;
menu 4 test.cc connect(configList, SIGNAL(menuSelected(struct menu *)),
menu 5 test.cc SLOT(changeMenu(struct menu *)));
menuSelected 4 test.cc connect(configList, SIGNAL(menuSelected(struct menu *)),
--
Jason.
[Prev in Thread] | Current Thread | [Next in Thread] |