GNOME Bugzilla – Bug 682969
girparser: Track methods/constructors by symbol
Last modified: 2015-02-07 17:02:34 UTC
We need to this so that we can calculate links by symbol, e.g. doc_examples_obj_new() in doc comments. It's a set of potentially dangerous changes. All tests pass, but I'm not quite sure of the history here. I couldn't spot any differences in GLib/Gio/GObject, either.
Created attachment 222815 [details] [review] ast: Remove what looks to be a copy/paste error A symbol isn't a ctype. None of the tests failed when I removed this, git blame wasn't very enlightening, and we don't remove this in the remove method, so I'm thinking it's an error.
Created attachment 222816 [details] [review] girparser: Track methods/constructors by symbol In order to be able to linkify a constructor/method, we need to first track it by symbol.
Review of attachment 222815 [details] [review]: Hmmmm. Were you just reading the code and thought this was odd? This is tingling a vague memory for me. Something like structs having a "symbol" attribute and wanting to look them up by ctype too? Certainly commit 36aa515f isn't going to be helpful here =( But trust me, the code was a lot worse before that... Well, let's just kill it and see what happens I guess. That's about the level of technology we have.
Review of attachment 222816 [details] [review]: No, unless I'm totally misunderstanding, the documentation tool should just use Transformer.split_csymbol(). Adding included symbols to the current namespace is wrong.
http://git.gnome.org/browse/gobject-introspection/commit/giscanner/transformer.py?id=dc6b0cb That's when it appeared, with my research. It's changed since then: http://git.gnome.org/browse/gobject-introspection/commit/giscanner/transformer.py?id=36e76d4 and of course with: http://git.gnome.org/browse/gobject-introspection/commit/giscanner/transformer.py?id=36aa515 I'm going to push it now.
(In reply to comment #4) > Review of attachment 222816 [details] [review]: > > No, unless I'm totally misunderstanding, the documentation tool should just use > Transformer.split_csymbol(). Adding included symbols to the current namespace > is wrong. Why is that? When we parse with the transformer, we float methods and constructors, which explicitly leaves it in self._symbols. Do you want me to just have a method that adds it to the symbols without the other things?
Review of attachment 222816 [details] [review]: Reading this again, I see what you meant. It makes sense.
Attachment 222815 [details] pushed as 2081ad2 - ast: Remove what looks to be a copy/paste error Attachment 222816 [details] pushed as 4f6f32d - girparser: Track methods/constructors by symbol Pushed, along with a bunch of other doctool changes. Thanks! I'm hoping that the new doc tool will be ready to replace gtk-doc for 3.8/3.10.
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]