Name: siR10004 Date: 06/19/2002
The javadoc parser in sigtest Setup uses value of NAME attribute
in <A> tag to extract the signatures of constructors/methods.
However, this value doesn't always coincide with the signature
in question.
See, for example, the following fragment from javadoc file
(generated by Javadoc from JDK 1.3) describing default constructor
of inner class java.applet.Applet.AccessibleApplet :
-------- doc/api/java/applet/Applet.AccessibleApplet.html -------
<A NAME="Applet.AccessibleApplet(java.applet.Applet)"><!-- --></A>
<H3>Applet.AccessibleApplet</H3>
<PRE>protected <B>Applet.AccessibleApplet</B>()</PRE>
-----------------------------------------------------------------
Its obvious that <PRE> ... </PRE> element should be used instead
of <A> tag, because it is what any browsers would show on user's
screen as a constructor/method signature. The <A> tag is intended for
other purposes. Besides, in this particular case its NAME attribute
has wrong value.
Moreover, Javadoc from JDK 1.4 generates slightly different files
in which value of NAME attribute coincides with signature.
So the result of parsing javadoc files generated for the same API
by different versions of Javadoc tool is different.
To workaround this problem, -JavaDocHideCtorArg command line option
was introduced. This option can be removed and javadoc parsing made
less sensitive to differences in javadoc files syntax if <PRE>
elements are parsed.
Javadoc parsing is implemented directly using methods of classes
String and StringTokenizer without any library for dealing with
html tags and attributes. With such approach parsing <PRE> elements
is a quite difficult task.
To simplify this task, package javax.swing.text.html.parser can
be used. With this package all procedures for scanning html tags
and attributes can be removed from javadoc parser.
======================================================================
The javadoc parser in sigtest Setup uses value of NAME attribute
in <A> tag to extract the signatures of constructors/methods.
However, this value doesn't always coincide with the signature
in question.
See, for example, the following fragment from javadoc file
(generated by Javadoc from JDK 1.3) describing default constructor
of inner class java.applet.Applet.AccessibleApplet :
-------- doc/api/java/applet/Applet.AccessibleApplet.html -------
<A NAME="Applet.AccessibleApplet(java.applet.Applet)"><!-- --></A>
<H3>Applet.AccessibleApplet</H3>
<PRE>protected <B>Applet.AccessibleApplet</B>()</PRE>
-----------------------------------------------------------------
Its obvious that <PRE> ... </PRE> element should be used instead
of <A> tag, because it is what any browsers would show on user's
screen as a constructor/method signature. The <A> tag is intended for
other purposes. Besides, in this particular case its NAME attribute
has wrong value.
Moreover, Javadoc from JDK 1.4 generates slightly different files
in which value of NAME attribute coincides with signature.
So the result of parsing javadoc files generated for the same API
by different versions of Javadoc tool is different.
To workaround this problem, -JavaDocHideCtorArg command line option
was introduced. This option can be removed and javadoc parsing made
less sensitive to differences in javadoc files syntax if <PRE>
elements are parsed.
Javadoc parsing is implemented directly using methods of classes
String and StringTokenizer without any library for dealing with
html tags and attributes. With such approach parsing <PRE> elements
is a quite difficult task.
To simplify this task, package javax.swing.text.html.parser can
be used. With this package all procedures for scanning html tags
and attributes can be removed from javadoc parser.
======================================================================