-
Notifications
You must be signed in to change notification settings - Fork 164
Description
In the area of type inference, there is a recurrent stream of non-trivial number of defect reports in the nature of this compiles with ECJ but not with javac and vice versa.
While both compilers attempt to implement the specification as closely as possible in letter and spirit, there are subtle differences that continue to cause grief. It is known that javac's inference engine predates the specification at JDK 8 time and differs in subtle ways in how it does some extra constitutional things. (@stephan-herrmann - Insert a link to some defect comment link that summarizes such)
In the absence of clarity, it is hard to bring about alignment between the three parties.
This ticket is for work on gathering insight into javac's inference engine's internal state by logging/tracing/dumping relevant internal state of the compiler.
To facilitate easy comparison with the trace/log/dump of ECJ's own internal state, we need to ascertain what information should be gathered and in what format it should be expressed.
This ticket is for discussions related to that.
It is conceivable that at some point, we may even submit a patch to OpenJDK so this tracing facility becomes a feature of "stock" OpenJDK javac enabled by a command line option.