After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 680466 - Merge AnjutaLanguageProvider in language-support-vala
Merge AnjutaLanguageProvider in language-support-vala
Status: RESOLVED OBSOLETE
Product: anjuta
Classification: Applications
Component: plugins: language-support-vala
git master
Other Linux
: Normal normal
: ---
Assigned To: Abderrahim Kitouni
Anjuta maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-23 17:05 UTC by Moritz Lüdecke
Modified: 2020-11-06 20:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add new the interface IAnjutaLanguageProvider and extend IAnjutaEditorAssist (30.44 KB, patch)
2012-07-23 17:05 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the sourceview plugin to the new IAnjutaEditorAssist API (1.63 KB, patch)
2012-07-23 17:05 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the snippets-manager plugin to the new IAnjutaEditorAssist API (1.59 KB, patch)
2012-07-23 17:06 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the language-support-vala plugin to the new IAnjutaEditorAssist API (22.53 KB, patch)
2012-07-23 17:06 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the language-support-python plugin to the new interface IAnjutaLanguageProvider (49.71 KB, patch)
2012-07-23 17:07 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the language-support-js plugin to the new interface IAnjutaLanguageProvider (53.65 KB, patch)
2012-07-23 17:07 UTC, Moritz Lüdecke
reviewed Details | Review
Adapt the parser-cxx plugin to the new interface IAnjutaLanguageProvider (170.48 KB, patch)
2012-07-23 17:08 UTC, Moritz Lüdecke
reviewed Details | Review
Move parser part from the language-support-cpp-java to the new parser-cxx plugin (226.59 KB, application/x-gzip)
2012-07-23 17:11 UTC, Moritz Lüdecke
  Details

Description Moritz Lüdecke 2012-07-23 17:05:19 UTC
Created attachment 219510 [details] [review]
Add new the interface IAnjutaLanguageProvider and extend IAnjutaEditorAssist

I divided it into eight patches to make it more clear.
Comment 1 Moritz Lüdecke 2012-07-23 17:05:54 UTC
Created attachment 219511 [details] [review]
Adapt the sourceview plugin to the new IAnjutaEditorAssist API
Comment 2 Moritz Lüdecke 2012-07-23 17:06:16 UTC
Created attachment 219512 [details] [review]
Adapt the snippets-manager plugin to the new IAnjutaEditorAssist API
Comment 3 Moritz Lüdecke 2012-07-23 17:06:43 UTC
Created attachment 219513 [details] [review]
Adapt the language-support-vala plugin to the new IAnjutaEditorAssist API
Comment 4 Moritz Lüdecke 2012-07-23 17:07:04 UTC
Created attachment 219514 [details] [review]
Adapt the language-support-python plugin to the new interface IAnjutaLanguageProvider
Comment 5 Moritz Lüdecke 2012-07-23 17:07:32 UTC
Created attachment 219515 [details] [review]
Adapt the language-support-js plugin to the new interface IAnjutaLanguageProvider
Comment 6 Moritz Lüdecke 2012-07-23 17:08:29 UTC
Created attachment 219516 [details] [review]
Adapt the parser-cxx plugin to the new interface IAnjutaLanguageProvider
Comment 7 Moritz Lüdecke 2012-07-23 17:11:18 UTC
Created attachment 219517 [details]
Move parser part from the language-support-cpp-java to the new parser-cxx plugin
Comment 8 Johannes Schmid 2012-07-24 14:04:10 UTC
Review of attachment 219510 [details] [review]:

Looks good so far.
Comment 9 Johannes Schmid 2012-07-24 14:04:53 UTC
Review of attachment 219511 [details] [review]:

OK
Comment 10 Johannes Schmid 2012-07-24 14:05:24 UTC
Review of attachment 219512 [details] [review]:

OK
Comment 11 Johannes Schmid 2012-07-24 14:06:16 UTC
Review of attachment 219513 [details] [review]:

OK, so what's the problem here for the vapi file - it doesn't seem you use any of the new methods.
Comment 12 Johannes Schmid 2012-07-24 14:07:41 UTC
Review of attachment 219514 [details] [review]:

OK, removing duplicate code is always good - thanks
Comment 13 Johannes Schmid 2012-07-24 14:14:11 UTC
Review of attachment 219515 [details] [review]:

You said something about broken js preferences - is this fixed by the patch?
Comment 14 Johannes Schmid 2012-07-24 14:16:29 UTC
Review of attachment 219516 [details] [review]:

Looks good codewise - have to test though...
Comment 15 Moritz Lüdecke 2012-07-24 14:24:26 UTC
Review of attachment 219515 [details] [review]:

I tried to fix this, but I couldn't find the problem. So it's just as broke as before.
Comment 16 Moritz Lüdecke 2012-07-24 14:27:24 UTC
Review of attachment 219513 [details] [review]:

No, because I couldn't execute the support methods of AnjutaLanguageProvider.
Comment 17 Abderrahim Kitouni 2012-07-25 17:21:27 UTC
(In reply to comment #16)
> Review of attachment 219513 [details] [review]:
> 
> No, because I couldn't execute the support methods of AnjutaLanguageProvider.

The problem is that we end up with circular dependency between the Anjuta and IAnjuta namespaces. The solution I see is not to declare the types of the objects passed to those methods, i.e. just declare them as GObject. This could be done through gobject-introspection comments so as not to affect C code. This won't be a problem for dynamic languages, but it could be annoying for Vala (but not much, you may just need an extra cast).

The g-i annotation for this is: (type GObject):
Comment 18 Abderrahim Kitouni 2012-07-25 17:39:44 UTC
Review of attachment 219510 [details] [review]:

A couple things I noticed, looks good otherwise.

It would be nice if you could document how this is supposed to be used (in a doc comment for the class), but that can wait for another patch.

::: libanjuta/interfaces/libanjuta.idl
@@ +2728,3 @@
+		 * @type: Type of the object
+		 */
+		struct ProposalData

I think this shouldn't be here. It is only used in anjuta-language-provider.c AFAICT, so it should be declared in the corresponding .h file

@@ +2786,3 @@
+		 * has to be completely renewed.
+		 *
+		 * Returns: (transfer full): the iter where the provider populated, NULL otherwise

add an (allow-none) annotation as it can return NULL

@@ +2788,3 @@
+		 * Returns: (transfer full): the iter where the provider populated, NULL otherwise
+		 */
+		IAnjutaIterable* populate_language (IAnjutaIterable* iter);

I think populate_language isn't a good name for this, maybe populate_completions?
Comment 19 Abderrahim Kitouni 2012-07-25 17:39:58 UTC
Review of attachment 219510 [details] [review]:

A couple things I noticed, looks good otherwise.

It would be nice if you could document how this is supposed to be used (in a doc comment for the class), but that can wait for another patch.

::: libanjuta/interfaces/libanjuta.idl
@@ +2728,3 @@
+		 * @type: Type of the object
+		 */
+		struct ProposalData

I think this shouldn't be here. It is only used in anjuta-language-provider.c AFAICT, so it should be declared in the corresponding .h file

@@ +2786,3 @@
+		 * has to be completely renewed.
+		 *
+		 * Returns: (transfer full): the iter where the provider populated, NULL otherwise

add an (allow-none) annotation as it can return NULL

@@ +2788,3 @@
+		 * Returns: (transfer full): the iter where the provider populated, NULL otherwise
+		 */
+		IAnjutaIterable* populate_language (IAnjutaIterable* iter);

I think populate_language isn't a good name for this, maybe populate_completions?
Comment 20 Johannes Schmid 2012-07-27 10:17:52 UTC
OK, I pushed all this and fixed the things that Abderrahim commented. Changing the bug title, so please somebody fix that for language-support-vala ;)
Comment 21 André Klapper 2020-11-06 20:21:56 UTC
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports in Bugzilla which have not seen updates for many years.

If you can still reproduce this issue in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/anjuta/-/issues/

Thank you for reporting this issue and we are sorry it could not be fixed.