[kaffe] libraries/javalib/vmspecific/java/lang/reflect/

Ito Kazumitsu kaz at maczuka.gcd.org
Wed Apr 30 15:30:39 PDT 2008


Hi,

libraries/javalib/vmspecific/java/lang/reflect/Field.java has these lines.

  public String toString()
  {
    // 64 is a reasonable buffer initial size for field
    StringBuilder sb = new StringBuilder(64);
    Modifier.toString(getModifiers(), sb).append(' ');
    sb.append(ClassHelper.getUserName(getType())).append(' ');
    sb.append(getDeclaringClass().getName()).append('.');
    sb.append(getName());
    return sb.toString();
  }
 
  public String toGenericString()
  {
    StringBuilder sb = new StringBuilder(64);
    Modifier.toString(getModifiers(), sb).append(' ');
    sb.append(getGenericType()).append(' ');
    sb.append(getDeclaringClass().getName()).append('.');
    sb.append(getName());
    return sb.toString();
  }

But GNU Classpath has already replaced Modifier.toString(int, StringBuilder)
by Modifier.toString(int, CPStringBuilder).  So Kaffe cannot be built with
the current GNU Classpath.

This problem may be solved by either of the following:

  (1) Wait for the release of the new version of GNU Classpath.
      Modify Kaffe's methods so that they use CPStringBuilder.
      Declare that Kaffe requires the new version of GNU Classpath.

  (2) Modify GNU Classpath so that it supports the old method call
      Modifier.toString(int, StringBuilder).

(2) is easy, but I do not think it is acceptable for GNU Classpath
people.




More information about the kaffe mailing list