JDK-8048890 : Add option to keep track of symbol completion dependencies
  • Type: Enhancement
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-07-01
  • Updated: 2014-08-29
  • Resolved: 2014-07-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b26Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
When reasoning about convoluted examples containing one or more symbol completion 'races', it is often useful to visualize the completion process in terms of a dependency graph. It would be nice if javac could be able to generate such a graph automatically. Attached is an example of source code and corresponding dependency graph.

This could be useful for both debugging and testing.
Comments
There should be a class in javac keeping track of all completion actions triggered during MemberEnter and ClassReader. When javac terminates, such dependencies could be flushes in a dot file - this could be done either by adding the class to the list of javac's Closeables or by having the class register itself as a TaskListener.
01-07-2014