- 
    Bug 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    8, 9, 10, 11
- 
        b19
- 
        generic
- 
        generic
- 
        Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8205833 | 11.0.1 | Bernard Blaser | P4 | Resolved | Fixed | team | 
                    A DESCRIPTION OF THE PROBLEM :
javac compiles the code below instead of rejecting it. I've tested all major versions starting from 1.8 up to 11-ea-14. The problem starts at http://hg.openjdk.java.net/jdk/jdk/file/7a7285477153/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java#l3119 , and later checks don't reject such qualified identifiers if they refer to an entity having the expected type ("C.c" field in my example).
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac C.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A compilation error, e.g.:
C.java:3: error: ')' expected
void foo(C c.c) {
^
ACTUAL -
Compilation succeeds.
---------- BEGIN SOURCE ----------
class C {
C c;
void foo(C c.c) {
}
}
---------- END SOURCE ----------
            
javac compiles the code below instead of rejecting it. I've tested all major versions starting from 1.8 up to 11-ea-14. The problem starts at http://hg.openjdk.java.net/jdk/jdk/file/7a7285477153/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java#l3119 , and later checks don't reject such qualified identifiers if they refer to an entity having the expected type ("C.c" field in my example).
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac C.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A compilation error, e.g.:
C.java:3: error: ')' expected
void foo(C c.c) {
^
ACTUAL -
Compilation succeeds.
---------- BEGIN SOURCE ----------
class C {
C c;
void foo(C c.c) {
}
}
---------- END SOURCE ----------
- backported by
- 
                    JDK-8205833 javac accepts an illegal name as a receiver parameter name -           
- Resolved
 
-