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"));