Bug 5614 - JavaBinding project does not pick up parameter names from javadoc
Summary: JavaBinding project does not pick up parameter names from javadoc
Status: RESOLVED INVALID
Alias: None
Product: Android
Classification: Xamarin
Component: Tools and Addins ()
Version: 4.2.x
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Atsushi Eno
URL:
Depends on:
Blocks:
 
Reported: 2012-06-12 08:28 UTC by Emiel Metselaar
Modified: 2012-10-11 10:02 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
The easytracker javabinding project (228.53 KB, application/x-zip-compressed)
2012-06-12 08:28 UTC, Emiel Metselaar
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED INVALID

Description Emiel Metselaar 2012-06-12 08:28:01 UTC
The attached project wraps the Google Analytics easytracker jar file. This is a jar which is an enhancement arround Google Analytics to make it easier to include GA in Android and perform the heavy lifting on a different thread.

The problem is that the supplied javadocs are not used to generate parameter names. E.g.
java:
EasyTracker.setCustomVar(int index, String name, String value) 
c#
EasyTracker.SetCustomVar (int p0, string p1, string p2)


For more information:
http://mono-for-android.1047100.n5.nabble.com/Renaming-EventHandlers-and-Properties-in-JavaBindling-projects-Rules-and-recommendations-td5710170.html
http://code.google.com/p/analytics-api-samples/downloads/list
Comment 1 Emiel Metselaar 2012-06-12 08:28:58 UTC
Created attachment 2040 [details]
The easytracker javabinding project
Comment 2 Atsushi Eno 2012-06-12 15:39:06 UTC
From where did you get the "supplied javadocs" ? The parsable javadocs are very limited and there is no assurance that existing code can handle others.
Comment 3 Emiel Metselaar 2012-06-13 02:15:13 UTC
I've obtained them from svn and copied those in the project (where i've deleted the svn binding directories).
http://code.google.com/p/analytics-api-samples/source/checkout
Comment 4 Atsushi Eno 2012-06-13 06:51:28 UTC
OK, thanks.
It seems that the method you are expecting to get parameter names from the docs does *not* actually exist in the Javadoc, hence our binding generator can't know the parameter names.

If you have a look at obj/Debug/api.xml you'll find that other methods in EasyTracker, like this:

<method abstract="false" deprecated="not deprecated" final="false" name="addTransaction" native="false" return="void" static="false" synchronized="false" visibility="public">
<parameter name="transaction" type="com.google.android.apps.analytics.Transaction">
</parameter>
</method>

This "transaction" parameter cannot be filled without valid Javadoc reference, which means, the javadoc is successfully parsed. And the resulting EasyTracker.dll contains EasyTracker class whose AddTransaction() method contains a (meaningfully) named parameter.
Comment 5 Jeremy Kolb 2012-10-11 09:35:18 UTC
I'm having thee same problem.  I see that the javadoc has parameter names and comments but I'm not seeing them in the generated binary.  I've added JavadocPaths to my csproj and I can see that it's being passed to jar2xml but the generated api.xml is unchanged.
Comment 6 Atsushi Eno 2012-10-11 09:47:52 UTC
Note that if you have the *same* problem, that's your problem. We cannot fill parameter names from non-existent docs.
Comment 7 Jeremy Kolb 2012-10-11 09:51:16 UTC
The docs exist... they are in a directory and I can view them in my web browser.  The problem is that they are not being picked up by jar2xml (though the directory is being passed in according to msbuild).
Comment 8 Atsushi Eno 2012-10-11 09:55:55 UTC
Could you open another bug (so that irrelevant people keep receiving notifications which is annoying) and attach your project along with javadoc files so that we can investigate?
Comment 9 Jeremy Kolb 2012-10-11 10:02:15 UTC
Bug 7797