>>> Joakim Verona <joakim@...> seems to think that:
>Hello,
>
>Im having some trouble trying to relink a cogre node to its
>corresponding node.
>
>Currently I have refactored cogre-uml a bit so I can refresh the node
>from a token interactively.
Nifty!
>The problem is to get the token :-) (the one i use now is the one
>stored in the node, which is useless)
>
>I'm scratching my head over how to do the query properly:
>- which input should I provide to get an as unambiguous reply as
>possible? An unqualified java class name is no good. ("Parser" as
>opposed to "x.y.x.Parser"). How do I specify "project root" to search in?
Right now when a tag is unlinked to be saved into a file, only the
relative positions are stored.
Ideally, an API could be added to semantic that would unlink a tag in
a more flexible way, perhaps inserting directory or path names
relative to a provided COGRE file. Then a target would be available
for restoration of the tag.
>- which function should I use? many query functions seem to be marked
>"obsolete".
[ ... ]
`semanticdb-find-*' are the ones to use. You probably noticed that
seemingly useful semanticdb search functions are obsolete and there is
some missing functionality in the semanticdb-find routines. I
intentionally tried to abandon particularly slow or inaccurate search
techniques.
---
I poked around and think that whenever a new COGRE node is created
from a given semantic tag, the root semantic tag for the node should
be duplicated using "semantic-tag-copy" and set the 'keep-file'
argument to true.
This will allow semantic-tag functions to then get the filename back,
and update the node even after a save. This is probably better than
messing with the link/unlink stuff too much. Having COGRE always run
with unlinked TAGS would make it more consistent internally and
robust to possibly mystic architectural changes in semantic.
Even if you do not have an opportunity to try this, I would be
interested in the other patches you may have.
Thanks
Eric
--
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org
|