“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 a great article called "A Gentle Introduction to=
CEDET" that written by Alex Ott . I do some experiment for c++=
; projects in my emacs 24.3 and latest cedet in "https://git.cod=
e.sf.net/p/cedet/git" (also in emacs 23.1 and stable cedet1.1). I
am quite satisfied with it except for one small "jump to function imp=
lement" issue in "semantic-analyze-proto-impl-toggle". =
</div>
<div> my project is very simple(only 2 files):</div>
<div><br>
</div>
<div> 1) head file "y.hpp" in dir "~/emacs/test/zz1/&q=
uot;</div>
<div><br>
</div>
<div> class y{</div>
<div> public:</div>
<div> 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> };</div>
<div> 2) implement file "y.cpp" in dir "~/emacs/test/zz=
2/"</div>
<div><br>
</div>
<div> #include "y.hpp"</div>
<div> int y::y1(int b) <span style=3D"color: rgb(=
75, 165, 36);"><b>// semantic can found definition use "<span>semantic=
-ia-fast-jump</span>" in y.hpp</b></span></div>
<div> {</div>
<div> return 0;</div>
<div> }</div>
<div>my cedet config is based on alex oot 's "<b>minimial-cedet-config=
.el</b>"([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);"> </span><span style=3D"col=
or: rgb(255, 0, 0);">(semantic-add-system-include "~/emacs/test/zz1/&q=
uot; 'c++-mode)</span></div>
<div><br>
</div>
<div><span style=3D"color: rgb(255, 0, 0);"> (semantic-add-system-incl=
ude "~/emacs/test/zz2/" 'c++-mode)</span></div>
<div><br>
</div>
<div> i checked my semantic db cache and found all db file is create c=
orrectly,</div>
<div>this is info in 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 "zz1/"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :tables (list </=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> (semanticdb-tab=
le "y.hpp"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :major-mode 'c=
++-mode</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :tags </s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
'( ("y" type</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
(:members </span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
( ("public" label nil (reparse=
-symbol classsubparts) [10 17])</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
("y1" function</span></=
div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
(:prototype-flag t</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
:arguments </s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
( ("&qu=
ot; variable (:type "int") (reparse-symbol arg-sub-list) [27 31])=
) &nb=
sp; </span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
:type "int&quo=
t;)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
(reparse-symbol cla=
sssubparts) [20 32])) &nbs=
p; </span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
:type "class")</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
nil [1 35])) =
</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :file "y.=
hpp"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :pointmax 37</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :fsize 36</spa=
n></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :lastmodtime '=
(22684 34221 595699 276000)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :unmatched-syn=
tax 'nil</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :file "!home!zzh=
ao010!emacs!test!zz1!semantic.cache"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :semantic-tag-version=
"2.0"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :semanticdb-version &=
quot;2.2"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</span></div>
<div><br>
</div>
<br>
</div>
<div></div>
<div> this is info in cache db for y.cpp in zz2:</div>
<div><br>
</div>
<div>
<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 "zz2/"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :tables (list </=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> (semanticdb-tab=
le "y.cpp"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :major-mode 'c=
++-mode</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :tags </s=
pan></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
'( ("y.hpp" include nil nil [1 17])</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
("y1" function</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
(:parent "y"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
:arguments </span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
( ("b" variable (:type "i=
nt") (reparse-symbol arg-sub-list) [28 34])) &nbs=
p; </span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
:type "int")</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> =
nil [18 50]))  =
;</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :file "y.=
cpp"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :pointmax 51</=
span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :fsize 50</spa=
n></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :lastmodtime '=
(22684 34245 499621 155000)</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :unmatched-syn=
tax 'nil</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :file "!home!zzh=
ao010!emacs!test!zz2!semantic.cache"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :semantic-tag-version=
"2.0"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> :semanticdb-version &=
quot;2.2"</span></div>
<div><span style=3D"color: rgb(189, 19, 152);"> )</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==--