Our VM interface is meant to still be 1.4 compatible. This patch fixes a few issues when trying to compile it with -source 1.4 -target 1.4.
ChangeLog: 2008-05-10 Andrew John Hughes <[EMAIL PROTECTED]> * vm/reference/gnu/java/lang/VMCPStringBuilder.java, * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java, * vm/reference/java/net/VMNetworkInterface.java: Remove use of 1.5 language constructs. -- Andrew :) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
Index: vm/reference/gnu/java/lang/VMCPStringBuilder.java =================================================================== RCS file: /sources/classpath/classpath/vm/reference/gnu/java/lang/VMCPStringBuilder.java,v retrieving revision 1.1 diff -u -r1.1 VMCPStringBuilder.java --- vm/reference/gnu/java/lang/VMCPStringBuilder.java 17 Mar 2008 00:14:35 -0000 1.1 +++ vm/reference/gnu/java/lang/VMCPStringBuilder.java 9 May 2008 23:27:12 -0000 @@ -53,14 +53,16 @@ /** * The package-private constructor for String objects without copying. */ - private static final Constructor<String> cons; + private static final Constructor cons; static { try { - cons = String.class.getDeclaredConstructor(char[].class, Integer.TYPE, - Integer.TYPE, Boolean.TYPE); + cons = String.class.getDeclaredConstructor(new Class[] { char[].class, + Integer.TYPE, + Integer.TYPE, + Boolean.TYPE }); cons.setAccessible(true); } catch (NoSuchMethodException e) @@ -85,7 +87,10 @@ { try { - return cons.newInstance(value, startIndex, count, true); + return (String) + cons.newInstance(new Object[] { value, Integer.valueOf(startIndex), + Integer.valueOf(count), + Boolean.valueOf(true) }); } catch (InstantiationException e) { Index: vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java =================================================================== RCS file: /sources/classpath/classpath/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java,v retrieving revision 1.4 diff -u -r1.4 VMMemoryMXBeanImpl.java --- vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java 15 Aug 2007 23:47:57 -0000 1.4 +++ vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java 9 May 2008 23:27:12 -0000 @@ -42,6 +42,7 @@ import java.lang.management.MemoryType; import java.lang.management.MemoryUsage; +import java.util.Iterator; import java.util.List; /** @@ -121,9 +122,11 @@ */ private static MemoryUsage getUsage(MemoryType type) { long init = 0, committed = 0, used = 0, max = 0; - List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans(); - for (MemoryPoolMXBean pool: pools) + Iterator pools = + ManagementFactory.getMemoryPoolMXBeans().iterator(); + while (pools.hasNext()) { + MemoryPoolMXBean pool = (MemoryPoolMXBean) pools.next(); if (pool.getType() == type) { MemoryUsage usage = pool.getUsage(); Index: vm/reference/java/net/VMNetworkInterface.java =================================================================== RCS file: /sources/classpath/classpath/vm/reference/java/net/VMNetworkInterface.java,v retrieving revision 1.7 diff -u -r1.7 VMNetworkInterface.java --- vm/reference/java/net/VMNetworkInterface.java 18 Dec 2006 21:37:39 -0000 1.7 +++ vm/reference/java/net/VMNetworkInterface.java 9 May 2008 23:27:12 -0000 @@ -57,12 +57,12 @@ final class VMNetworkInterface { String name; - Set<InetAddress> addresses; + Set addresses; VMNetworkInterface(String name) { this.name = name; - addresses = new HashSet<InetAddress>(); + addresses = new HashSet(); } /** @@ -71,7 +71,7 @@ */ public VMNetworkInterface() { - addresses = new HashSet<InetAddress>(); + addresses = new HashSet(); try { addresses.add(InetAddress.getByName("0.0.0.0"));