$Id: TODO.txt,v 1.10 2002/12/24 23:31:15 davidcok Exp $

TODO items - bugs and uncompleted features - for mjdoc
(All items transferred to Sourceforge bugs and feature requests as indicated;
new items may be only in Sourceforge and may not be here)
-------------------------------------------------------

- The tests for mjdoc need to be made public, platform-independent and 
  added to CVS (and junit-ized). [Bug #656952]

- There is ambiguity or multiple meanings for -sourcepath/--sourcepath.
The doclet api uses it only for finding packages on the command-line and uses
CLASSPATH for finding any referenced classes.  But the jml checker uses it
(I think) for finding all types of source files.  Clarify the behavior and
document it.[Bug #656708]

- mjdoc inherits the deprecation flag but it does not have any meaning in
this tool - or should it?  Clarify, implement and document. [Bug #656711]

- There are various quiet and verbose flags that would be entirely confusing
and unjustifiable to the new person working or using these tools [Bug #656721]

- Check that anonymous classes and inner classes are properly documented
[Bug #656725]

- Would like a way to have a javadoc comment for a whole generic function
[Feature Request #656728]

- If a package has spec files and java files in two locations and the spec dir
is before the java dir in the classpath, then applying mjdoc to the package
on the command-line will result in the java files not being found
[Bug #656729]

- Options not implemented: -locale, -extdirs, -docletpath [Bug #656733]

- Both -help and --help work and are equivalent, but the message produced
is not very coherent [Bug #656737]

- figure out the meaning of the warning level [Bug #656741]

- in what path is the warning filter searched for; more about what it is - is it dynamically loaded [Bug #656741]

Issues for multimethods:
	multimethods do not list all overrides (there may be more than one)
	[Bug #656747]

Issues for external GFs:
	- the Prev/Next function go backwards and cross package boundaries
	- is there a better sorting of the order of GFs
	perhaps don't list overrides on gf pages
	put a class hierarchy on a gf page?
	- the Summary and Detail items at the top and bottom do not contain anything.

Issues for internal GFs:
    - If there is only one method in a GF and it is internal, don't make a FCN page or a FCN link.
    - not clear where to put the html files for internal GFs

Issues for documenting compilation units:
	- this is currently turned off and expected to be incomplete
	allclasses-frame.html - needs ext methods comp units from all packages added
	package-frame.html - needs emcu added
	package-index.html - check out the emcu
	prev/next emcu - goes over package boundary
	Questions: are these the right behavior?
		override links in emcu pages send one back to the class html
		links to emcu from class pages send one to the top of the emcu page
		in index, external methods link back to class version


MJC problems:

- Can't have a static external method (not yet implemented)

- Problem with internal functions that override external functions
(actually relates to order of handling of files); see the Makefile of
the todd test for an example

Issues with javadoc comments themselves:

- resolution of class names is not the same between javadoc and mjdoc.  
In the case where a class has an Inner class, using
just the identifier (without the enclosing class) of the inner class in a link works in javadoc, not in mjdoc, and
would seem to be illegal by the documentation for javadoc.   See changes in parsingController.java, CBadClass.java,
JArrayAccessExpression.java .

- anything to do with serializable tags is not implemented [Bug #656752]
 
- isExternalizable is not implemented (MjClassDoc)

- Need some correction & testing of the handling of compiler-generated fields, and isSynthetic
 (cf. FIXME in MjClassDoc.java)
 
- !FIXME!JDK 1.4 compatability, make compatible with JDK 1.4 [Bug #656757]

- in frames mode, the list of all classes does not include non-static inner classes.  Should  it?

- should check @param tags against the actual parameter ids
  [Feature Request #656783]

- See/link tag matching of argument types requires fully qualified types. [Bug #656777]

- resolution of unqualified class names in see/link/throws tags is nonrobust and probably wrong
   [Bug #656777]

- algorithm for first sentence [Bug #656779]

- not every instance of "Generated by javadoc..." is changed to 
"Generated by mjdoc ..." [Bug #656759]

- rendering of signatures for inner class constructors on the index page ???
- rendering of signatures for inner class constructors for navigation ???

- see the results of the todd test.  The filename for the generic function is long and gets mapped
to a mangled name and so the link is not found.

Javadoc and mjdoc problems:

    - deprecated page has navigation bar twice - in both mjdoc and javadoc

    - if there are no methods, but there are inherited methods, should still have the "Method Summary" banner.

    - On all pages (javadoc and mjdoc), the FRAMES button sends one back to the overview page

Internal:

- MjdocWrapper should not be static

- check out the registration of referenced classes

- would like to terminate the parsing at CheckInterfaceTask in mjdoc/Main, but then topMethod does not work for
external methods - can this be fixed?

- the inputs to MjPackageDoc are often /-separated-terminated.  Is this really what we want?

- log all warnings through the mechanism in RootDoc.



