From bb6d1402200506db2145c52719fbc0bf769a21e2 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Mon, 20 Feb 2012 10:28:40 +0100 Subject: [PATCH] Fix compilation issue due to jdk bug Inference fails for type variable return constraint, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 --- .../util/internal/LegacyLinkedTransferQueue.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/io/netty/util/internal/LegacyLinkedTransferQueue.java b/common/src/main/java/io/netty/util/internal/LegacyLinkedTransferQueue.java index f0168ea637..7e48c15ddf 100644 --- a/common/src/main/java/io/netty/util/internal/LegacyLinkedTransferQueue.java +++ b/common/src/main/java/io/netty/util/internal/LegacyLinkedTransferQueue.java @@ -612,6 +612,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue @SuppressWarnings("unchecked") static E cast(Object item) { // assert item == null || item.getClass() != Node.class; + // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 return (E) item; } @@ -653,7 +654,8 @@ public class LegacyLinkedTransferQueue extends AbstractQueue } } LockSupport.unpark(p.waiter); - return LegacyLinkedTransferQueue.cast(item); + // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 + return (E) LegacyLinkedTransferQueue.cast(item); } } Node n = p.next; @@ -737,7 +739,8 @@ public class LegacyLinkedTransferQueue extends AbstractQueue if (item != e) { // matched // assert item != s; s.forgetContents(); // avoid garbage - return LegacyLinkedTransferQueue.cast(item); + // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 + return (E) LegacyLinkedTransferQueue.cast(item); } if ((w.isInterrupted() || timed && nanos <= 0) && s.casItem(e, s)) { // cancel @@ -825,7 +828,8 @@ public class LegacyLinkedTransferQueue extends AbstractQueue Object item = p.item; if (p.isData) { if (item != null && item != p) { - return LegacyLinkedTransferQueue.cast(item); + // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 + return (E) LegacyLinkedTransferQueue.cast(item); } } else if (item == null) { @@ -878,7 +882,8 @@ public class LegacyLinkedTransferQueue extends AbstractQueue Object item = p.item; if (p.isData) { if (item != null && item != p) { - nextItem = LegacyLinkedTransferQueue.cast(item); + // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 + nextItem = (E) LegacyLinkedTransferQueue.cast(item); nextNode = p; return; }