-
Bug
-
Resolution: Fixed
-
P5
-
hs25
-
b48
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8083215 | emb-9 | Nils Eliasson | P5 | Resolved | Fixed | team |
According to JLS, identifier name may contain any character that is java letter or digit. For such characters Character.isJavaIdentifierPart return true.
CompileCommand accepts only subset of these characters, so you can't specify some methods in CompileCommand:
it does not works with 0x01 (note that Character.isJavaIdentifierPart(1) returns true):
$jdk1.8.0/fastdebug/bin/java -XX:CompileCommand=exclude,`echo -e "UnicodeIdentifierTest.methodWithUnicode\u0001"` UnicodeIdentifierTest
CompilerOracle: unrecognized line
"exclude UnicodeIdentifierTest methodWithUnicode"
Unrecognized text after command:
Can I use \u0001 in identifier name? yes
but works fine with 0xff:
$ jdk1.8.0/fastdebug/bin/java -XX:CompileCommand=exclude,`echo -e "UnicodeIdentifierTest.methodWithUnicode\u00ff"` UnicodeIdentifierTest
CompilerOracle: exclude UnicodeIdentifierTest.methodWithUnicode\u00ff
Can I use \u0001 in identifier name? yes
Possible workaround is to use wildcards.
ILW = MLL => P5.
CompileCommand accepts only subset of these characters, so you can't specify some methods in CompileCommand:
it does not works with 0x01 (note that Character.isJavaIdentifierPart(1) returns true):
$jdk1.8.0/fastdebug/bin/java -XX:CompileCommand=exclude,`echo -e "UnicodeIdentifierTest.methodWithUnicode\u0001"` UnicodeIdentifierTest
CompilerOracle: unrecognized line
"exclude UnicodeIdentifierTest methodWithUnicode"
Unrecognized text after command:
Can I use \u0001 in identifier name? yes
but works fine with 0xff:
$ jdk1.8.0/fastdebug/bin/java -XX:CompileCommand=exclude,`echo -e "UnicodeIdentifierTest.methodWithUnicode\u00ff"` UnicodeIdentifierTest
CompilerOracle: exclude UnicodeIdentifierTest.methodWithUnicode\u00ff
Can I use \u0001 in identifier name? yes
Possible workaround is to use wildcards.
ILW = MLL => P5.
- backported by
-
JDK-8083215 CompileCommand does not accept all JLS-conformant class/method names
- Resolved
- relates to
-
JDK-8069035 compiler/oracle/CheckCompileCommandOption.java nightly failure
- Closed
-
JDK-8046155 JEP 165: Compiler Control
- Closed