Thanks Paul.
I have another cleaner patch coming - I'll include those
changes as well.
-- daniel
On 29/06/15 11:13, Paul Sandoz wrote:
On Jun 29, 2015, at 10:35 AM, Daniel Fuchs <daniel.fu...@oracle.com> wrote:
On 29/06/15 10:06, Paul Sandoz wrote:
That's odd i would of expected it to work. Here's Joe's patch to changes in the
JDK:
http://cr.openjdk.java.net/~darcy/8078467.0/jdk.patch
(Search for "new PrivilegedAction" in the patch.)
e.g. an expression in java.io.ObjectInputStream:
http://hg.openjdk.java.net/jdk9/dev/jdk/file/93ced310c728/src/java.base/share/classes/java/io/ObjectInputStream.java#l1265
private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
new PrivilegedAction<>() {
public Boolean run() {
Hmmm... Strange indeed. Maybe I did a mistake - or maybe it had to do
with using return directly without passing through an intermediary
Boolean variable?
I modified some of those doPriv blocks in:
src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java
and it compiled without issue:
diff -r 17b47acf5b3d
src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java
--- a/src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java
Tue Jun 23 19:50:10 2015 +0200
+++ b/src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java
Mon Jun 29 11:11:26 2015 +0200
@@ -42,9 +42,9 @@
ClassLoader getContextClassLoader() {
- return (ClassLoader)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return
+ AccessController.doPrivileged(new PrivilegedAction<>() {
+ public ClassLoader run() {
ClassLoader cl = null;
//try {
cl = Thread.currentThread().getContextClassLoader();
@@ -57,9 +57,9 @@
}
String getSystemProperty(final String propName) {
- return (String)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return
+ AccessController.doPrivileged(new PrivilegedAction<>() {
+ public String run() {
return System.getProperty(propName);
}
});
NetBeans didn't suggest replacing with diamonds either - which it
usually does - but then maybe it was busy scanning classpath ;-)
This is a relatively new 9-based language feature, so i don't expect the IDEs
have caught up yet (IntelliJ 15 EAP has not for this feature, or for the
try-with-resources enhancement IIRC).
Paul.