-
Bug
-
Resolution: Fixed
-
P3
-
None
-
b21
Looking specifically at `javax.lang.model.SourceVersion.valueOf(Runtime.Version)`
the form of the qualified names depends on the source vs.class origin.
When reading from .class files, `Runtime$Version` is seen.
When reading from .java files, `Runtime.Version` is seen.
This makes it hard to compare types across versions when one comes from class files and the other from source files.
There is no reason to believe that this is specific to `SourceVersion` or `Runtime.Version`. It's probably a general characteristic of nested classes and their origin.
Attached is an annotation processor to dump the methods of any given class.
the form of the qualified names depends on the source vs.class origin.
When reading from .class files, `Runtime$Version` is seen.
When reading from .java files, `Runtime.Version` is seen.
This makes it hard to compare types across versions when one comes from class files and the other from source files.
There is no reason to believe that this is specific to `SourceVersion` or `Runtime.Version`. It's probably a general characteristic of nested classes and their origin.
Attached is an annotation processor to dump the methods of any given class.
- csr for
-
JDK-8331106 Qualified name of a type element depends on its origin (source vs class)
- Closed