“semantic-analyze-proto-im pl-toggle” can't jump to suitable implement for my simple c++ project

zhao zhou <[email protected]> Thu, 9 Feb 2017 16:29:33 +0000
Newsgroups gmane.emacs.semantic
Message-ID <HK2PR01MB073907EE84A82B7B2849A96EDB450@HK2PR01MB0739.apcprd01.prod.exchangelabs.com>
--===============0645199421074185197==
Content-Language: zh-CN
Content-Type: multipart/alternative;
	boundary="_000_HK2PR01MB073907EE84A82B7B2849A96EDB450HK2PR01MB0739apcp_"

--_000_HK2PR01MB073907EE84A82B7B2849A96EDB450HK2PR01MB0739apcp_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

YWZ0ZXIgcmVhZCAgYSBncmVhdCBhcnRpY2xlIGNhbGxlZCAiQSBHZW50bGUgSW50cm9kdWN0aW9u
IHRvIENFREVUIiB0aGF0IHdyaXR0ZW4gYnkgQWxleCBPdHQgLiBJIGRvIHNvbWUgZXhwZXJpbWVu
dCBmb3IgYysrIHByb2plY3RzIGluIG15IGVtYWNzIDI0LjMgYW5kICBsYXRlc3QgY2VkZXQgaW4g
Imh0dHBzOi8vZ2l0LmNvZGUuc2YubmV0L3AvY2VkZXQvZ2l0IiAoYWxzbyBpbiBlbWFjcyAyMy4x
IGFuZCBzdGFibGUgY2VkZXQxLjEpLiBJIGFtIHF1aXRlIHNhdGlzZmllZCB3aXRoIGl0IGV4Y2Vw
dCBmb3Igb25lIHNtYWxsICJqdW1wIHRvIGZ1bmN0aW9uIGltcGxlbWVudCIgaXNzdWUgaW4gInNl
bWFudGljLWFuYWx5emUtcHJvdG8taW1wbC10b2dnbGUiLg0KIG15IHByb2plY3QgaXMgdmVyeSBz
aW1wbGUob25seSAyIGZpbGVzKToNCg0KICAxKSBoZWFkIGZpbGUgInkuaHBwIiBpbiBkaXIgIn4v
ZW1hY3MvdGVzdC96ejEvIg0KDQogICAgICBjbGFzcyB5ew0KICAgICAgICAgcHVibGljOg0KICAg
ICAgICAgICBpbnQgeTEoaW50KTsvL2Vycm9yIGhlcmUhIHNlbWFudGljIGNhbid0IGZvdW5kIGlt
cGxlbWVudCBpbiB5LmNwcA0KICAgIH07DQogMikgaW1wbGVtZW50IGZpbGUgInkuY3BwIiBpbiBk
aXIgIn4vZW1hY3MvdGVzdC96ejIvIg0KDQogICAgICAgI2luY2x1ZGUgInkuaHBwIg0KICAgICAg
IGludCB5Ojp5MShpbnQgYikgLy8gc2VtYW50aWMgY2FuIGZvdW5kIGRlZmluaXRpb24gdXNlICJz
ZW1hbnRpYy1pYS1mYXN0LWp1bXAiIGluIHkuaHBwDQogICAgICAgIHsNCiAgICAgICAgIHJldHVy
biAwOw0KICAgICAgICB9DQpteSBjZWRldCBjb25maWcgaXMgYmFzZWQgb24gYWxleCBvb3QgJ3Mg
Im1pbmltaWFsLWNlZGV0LWNvbmZpZy5lbCIoW2h0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FsZXhv
dHQvMzkzMDEyMF1bMV0pIGFuZCBvbmx5IGFkZCBmb2xsb3dpbmcgdHdvIGxpbmVzOg0KDQogKHNl
bWFudGljLWFkZC1zeXN0ZW0taW5jbHVkZSAifi9lbWFjcy90ZXN0L3p6MS8iICdjKystbW9kZSkN
Cg0KIChzZW1hbnRpYy1hZGQtc3lzdGVtLWluY2x1ZGUgIn4vZW1hY3MvdGVzdC96ejIvIiAnYysr
LW1vZGUpDQoNCiBpIGNoZWNrZWQgbXkgc2VtYW50aWMgZGIgY2FjaGUgYW5kIGZvdW5kIGFsbCBk
YiBmaWxlIGlzIGNyZWF0ZSBjb3JyZWN0bHksDQp0aGlzIGlzIGluZm8gaW4gIGNhY2hlIGRiIGZv
ciB5LmhwcCBpbiB6ejE6DQo7OyBPYmplY3QgenoxLw0KOzsgU0VNQU5USUNEQiBUYWdzIHNhdmUg
ZmlsZQ0KKHNlbWFudGljZGItcHJvamVjdC1kYXRhYmFzZS1maWxlICJ6ejEvIg0KICA6dGFibGVz
IChsaXN0DQogICAoc2VtYW50aWNkYi10YWJsZSAieS5ocHAiDQogICAgOm1ham9yLW1vZGUgJ2Mr
Ky1tb2RlDQogICAgOnRhZ3MNCiAgICAgICAgJyggKCJ5IiB0eXBlDQogICAgICAgICAgICAgICAo
Om1lbWJlcnMNCiAgICAgICAgICAgICAgICAgICggKCJwdWJsaWMiIGxhYmVsIG5pbCAocmVwYXJz
ZS1zeW1ib2wgY2xhc3NzdWJwYXJ0cykgWzEwIDE3XSkNCiAgICAgICAgICAgICAgICAgICAgKCJ5
MSIgZnVuY3Rpb24NCiAgICAgICAgICAgICAgICAgICAgICAgKDpwcm90b3R5cGUtZmxhZyB0DQog
ICAgICAgICAgICAgICAgICAgICAgICA6YXJndW1lbnRzDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICggKCIiIHZhcmlhYmxlICg6dHlwZSAiaW50IikgKHJlcGFyc2Utc3ltYm9sIGFyZy1zdWIt
bGlzdCkgWzI3IDMxXSkpDQogICAgICAgICAgICAgICAgICAgICAgICA6dHlwZSAiaW50IikNCiAg
ICAgICAgICAgICAgICAgICAgICAgIChyZXBhcnNlLXN5bWJvbCBjbGFzc3N1YnBhcnRzKSBbMjAg
MzJdKSkNCiAgICAgICAgICAgICAgICA6dHlwZSAiY2xhc3MiKQ0KICAgICAgICAgICAgICAgIG5p
bCBbMSAzNV0pKQ0KICAgIDpmaWxlICJ5LmhwcCINCiAgICA6cG9pbnRtYXggMzcNCiAgICA6ZnNp
emUgMzYNCiAgICA6bGFzdG1vZHRpbWUgJygyMjY4NCAzNDIyMSA1OTU2OTkgMjc2MDAwKQ0KICAg
IDp1bm1hdGNoZWQtc3ludGF4ICduaWwNCiAgICApDQogICApDQogIDpmaWxlICIhaG9tZSF6emhh
bzAxMCFlbWFjcyF0ZXN0IXp6MSFzZW1hbnRpYy5jYWNoZSINCiAgOnNlbWFudGljLXRhZy12ZXJz
aW9uICIyLjAiDQogIDpzZW1hbnRpY2RiLXZlcnNpb24gIjIuMiINCiAgKQ0KDQoNCiB0aGlzIGlz
ICBpbmZvIGluIGNhY2hlIGRiIGZvciB5LmNwcCBpbiB6ejI6DQoNCg0KOzsgT2JqZWN0IHp6Mi8N
Cjs7IFNFTUFOVElDREIgVGFncyBzYXZlIGZpbGUNCihzZW1hbnRpY2RiLXByb2plY3QtZGF0YWJh
c2UtZmlsZSAienoyLyINCiAgOnRhYmxlcyAobGlzdA0KICAgKHNlbWFudGljZGItdGFibGUgInku
Y3BwIg0KICAgIDptYWpvci1tb2RlICdjKystbW9kZQ0KICAgIDp0YWdzDQogICAgICAgICcoICgi
eS5ocHAiIGluY2x1ZGUgbmlsIG5pbCBbMSAxN10pDQogICAgICAgICAgICAoInkxIiBmdW5jdGlv
bg0KICAgICAgICAgICAgICAgKDpwYXJlbnQgInkiDQogICAgICAgICAgICAgICAgOmFyZ3VtZW50
cw0KICAgICAgICAgICAgICAgICAgKCAoImIiIHZhcmlhYmxlICg6dHlwZSAiaW50IikgKHJlcGFy
c2Utc3ltYm9sIGFyZy1zdWItbGlzdCkgWzI4IDM0XSkpDQogICAgICAgICAgICAgICAgOnR5cGUg
ImludCIpDQogICAgICAgICAgICAgICAgbmlsIFsxOCA1MF0pKQ0KICAgIDpmaWxlICJ5LmNwcCIN
CiAgICA6cG9pbnRtYXggNTENCiAgICA6ZnNpemUgNTANCiAgICA6bGFzdG1vZHRpbWUgJygyMjY4
NCAzNDI0NSA0OTk2MjEgMTU1MDAwKQ0KICAgIDp1bm1hdGNoZWQtc3ludGF4ICduaWwNCiAgICAp
DQogICApDQogIDpmaWxlICIhaG9tZSF6emhhbzAxMCFlbWFjcyF0ZXN0IXp6MiFzZW1hbnRpYy5j
YWNoZSINCiAgOnNlbWFudGljLXRhZy12ZXJzaW9uICIyLjAiDQogIDpzZW1hbnRpY2RiLXZlcnNp
b24gIjIuMiINCiAgKQ0KDQoNCg0KDQoNCg==

--_000_HK2PR01MB073907EE84A82B7B2849A96EDB450HK2PR01MB0739apcp_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
n-bottom:0;} --></style>
</head>
<body dir=3D"ltr">
<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
-family:Calibri,Arial,Helvetica,sans-serif;" dir=3D"ltr">
<p></p>
<div>after read &nbsp;a great article called &quot;A Gentle Introduction to=
 CEDET&quot; that written by Alex Ott . I do some experiment for c&#43;&#43=
; projects in my emacs 24.3 and &nbsp;latest cedet in &quot;https://git.cod=
e.sf.net/p/cedet/git&quot; (also in emacs 23.1 and stable cedet1.1). I
 am quite satisfied with it except for one small &quot;jump to function imp=
lement&quot; issue in &quot;semantic-analyze-proto-impl-toggle&quot;.&nbsp;=
</div>
<div>&nbsp;my project is very simple(only 2 files):</div>
<div><br>
</div>
<div>&nbsp; 1) head file &quot;y.hpp&quot; in dir &quot;~/emacs/test/zz1/&q=
uot;</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; class y{</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;public:</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int y1(int);<span style=3D"co=
lor: rgb(255, 0, 0);"><b>//error here! semantic can't found implement in y.=
cpp</b></span></div>
<div>&nbsp; &nbsp; };</div>
<div>&nbsp;2) implement file &quot;y.cpp&quot; in dir &quot;~/emacs/test/zz=
2/&quot;</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;#include &quot;y.hpp&quot;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;int y::y1(int b) <span style=3D"color: rgb(=
75, 165, 36);"><b>// semantic can found definition use &quot;<span>semantic=
-ia-fast-jump</span>&quot; in y.hpp</b></span></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>my cedet config is based on alex oot 's &quot;<b>minimial-cedet-config=
.el</b>&quot;([https://gist.github.com/alexott/3930120][1]) and only add fo=
llowing two lines:</div>
<div><br>
</div>
<div><span style=3D"color: rgb(255, 0, 0);">&nbsp;</span><span style=3D"col=
or: rgb(255, 0, 0);">(semantic-add-system-include &quot;~/emacs/test/zz1/&q=
uot; 'c&#43;&#43;-mode)</span></div>
<div><br>
</div>
<div><span style=3D"color: rgb(255, 0, 0);">&nbsp;(semantic-add-system-incl=
ude &quot;~/emacs/test/zz2/&quot; 'c&#43;&#43;-mode)</span></div>
<div><br>
</div>
<div>&nbsp;i checked my semantic db cache and found all db file is create c=
orrectly,</div>
<div>this is info in &nbsp;cache db for y.hpp in zz1:</div>
<div>
<div><span style=3D"color: rgb(189, 19, 152);">;; Object zz1/</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">;; SEMANTICDB Tags save file=
</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">(semanticdb-project-database=
-file &quot;zz1/&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :tables (list&nbsp;</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp;(semanticdb-tab=
le &quot;y.hpp&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :major-mode 'c=
&#43;&#43;-mode</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :tags&nbsp;</s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
'( (&quot;y&quot; type</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;(:members&nbsp;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( (&quot;public&quot; label nil (reparse=
-symbol classsubparts) [10 17])</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&quot;y1&quot; function</span></=
div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(:prototype-flag t</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :arguments&nbsp;</s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( (&quot;&qu=
ot; variable (:type &quot;int&quot;) (reparse-symbol arg-sub-list) [27 31])=
) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :type &quot;int&quo=
t;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reparse-symbol cla=
sssubparts) [20 32])) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; :type &quot;class&quot;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; nil [1 35])) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :file &quot;y.=
hpp&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :pointmax 37</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :fsize 36</spa=
n></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :lastmodtime '=
(22684 34221 595699 276000)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :unmatched-syn=
tax 'nil</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :file &quot;!home!zzh=
ao010!emacs!test!zz1!semantic.cache&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :semantic-tag-version=
 &quot;2.0&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :semanticdb-version &=
quot;2.2&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; )</span></div>
<div><br>
</div>
<br>
</div>
<div></div>
<div>&nbsp;this is &nbsp;info in cache db for y.cpp in zz2:</div>
<div><br>
</div>
<div>&nbsp;
<div><span style=3D"color: rgb(189, 19, 152);">;; Object zz2/</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">;; SEMANTICDB Tags save file=
</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">(semanticdb-project-database=
-file &quot;zz2/&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :tables (list&nbsp;</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp;(semanticdb-tab=
le &quot;y.cpp&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :major-mode 'c=
&#43;&#43;-mode</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :tags&nbsp;</s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
'( (&quot;y.hpp&quot; include nil nil [1 17])</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; (&quot;y1&quot; function</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;(:parent &quot;y&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; :arguments&nbsp;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( (&quot;b&quot; variable (:type &quot;i=
nt&quot;) (reparse-symbol arg-sub-list) [28 34])) &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; :type &quot;int&quot;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; nil [18 50])) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :file &quot;y.=
cpp&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :pointmax 51</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :fsize 50</spa=
n></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :lastmodtime '=
(22684 34245 499621 155000)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; :unmatched-syn=
tax 'nil</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp; )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; &nbsp;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :file &quot;!home!zzh=
ao010!emacs!test!zz2!semantic.cache&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :semantic-tag-version=
 &quot;2.0&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; :semanticdb-version &=
quot;2.2&quot;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);">&nbsp; )</span></div>
<div><br>
</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<p></p>
</div>
</body>
</html>

--_000_HK2PR01MB073907EE84A82B7B2849A96EDB450HK2PR01MB0739apcp_--


--===============0645199421074185197==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
--===============0645199421074185197==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
cedet-semantic mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cedet-semantic

--===============0645199421074185197==--