Would there be any objections to asking the automated builds (that send
messages to the commit list) to use either the latest Sun compiler (5.0_8)
or the Eclipse compiler?

 

There are a number of places that use ReferenceQueues and Reference, but
can't be generified because of a bug in the Sun compilers prior to 5.0_8. At
the end of this email is an example of code that causes a compiler error in
previous releases. This issue does not affect the Eclipse compiler. I've run
a full rebuild as of revision 440796 and everything compiles fine with both
the Eclipse compiler and Sun 5.0_8 compiler.

 

-Nathan

 

 

    private static final ReferenceQueue<Object> cacheQueue = new
ReferenceQueue<Object>();

 

    private static final class CacheEntry extends WeakReference<Object> {

        String key;

 

        CacheEntry(Object jar, String key, ReferenceQueue<Object> queue) {

            super(jar, queue);

            this.key = key;

        }

    }

 

    // ... code using the queue

 

            CacheEntry entry;

            // This cast fails on Sun 5.0_7 and prior compilers

            while ((entry = (CacheEntry)cacheQueue.poll()) != null) {

                jarCache.remove(entry.key);

            }

 

    // . more code

 

 

Reply via email to