Retrotranslator is a Java bytecode transformer that translates Java classes compiled with JDK 5.0 into classes that can be run on JVM 1.4. Supported features: generics, annotations, reflection on generics and annotations, enums, autoboxing, for-each loop, varargs, static import, concurrency utilities, collections framework enhancements.
Changes in Retrotranslator 1.0.8:
- Supported: all constructors of java.io.PrintWriter.
- Supported: java.rmi.server.RemoteObjectInvocationHandler.
- Supported: IllegalArgumentException(String, Throwable), IllegalArgumentException(Throwable).
- Supported: java.util.concurrent.locks.Condition.awaitNanos(long) but with very little accuracy guarantees.
- Supported in BigDecimal: divideAndRemainder(BigDecimal), divideToIntegralValue(BigDecimal), remainder(BigDecimal).
- Bug fixed: translation did not work for ReentrantReadWriteLock.readLock() and ReentrantReadWriteLock.writeLock().
- New -retainapi option to make classes compatible with JVM 1.4 but keep use of Java 5 API.