La Classe Java.getSimpleName() et .getName() de se comporter différemment sur le Cacao versus Sun Java

Ce que quelqu'un a une idée de pourquoi ce qui se passe?

C'est en quelques lignes modifiées à partir de la Java DBus liaisons (2.6)

  //don't let people import things which don't have a
  //valid D-Bus interface name
  System.out.println("type.getName: " + type.getName() + "   type.getSimpleName: " + type.getSimpleName() );
  if (type.getName().equals(type.getSimpleName()))  {
      throw new DBusException(_("DBusInterfaces cannot be declared outside a package: " + "type.getName: " + type.getName()
              + "   type.getSimpleName: " + type.getSimpleName() ));
  }      

Maintenant découvrez la différence en sortie de Cacao (0.99.4) par rapport au Soleil 1.5

@ubuntu:~/tmp/cacao$ java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)

@ubuntu:~/tmp/cacao$ cacao -version
java version "1.5.0"
CACAO version 0.99.3+hg

java -Djava.library.path=/usr/lib/classpath:/ho... DBusChat 

type.getName: org.freedesktop.DBus   type.getSimpleName: DBus
...Exception in thread "main" org.freedesktop.dbus.exceptions.DBusExecutionException: Could not get owner of name 'framez.tests.dbus.DbusChatInterface': no such name

contre...

 cacao -Djava.library.path=/usr/lib/classpath:/ho... DBusChat
 type.getName: org.freedesktop.DBus   type.getSimpleName: org.freedesktop.DBus

L'Exception est sans importance - être causé par ce comportement... des idées? Ou est-ce quelque bug bizarre avec du Cacao.

Personne ne sait si .getName() est une machine virtuelle dépendante de la chose?

Info:

GNU Classpath 0.98 sur les deux machines virtuelles
DBus liaisons 2.6

Votre chanter le "mauvais" mécanisme pour déterminer si une classe est une application autonome ou à l'intérieur de la classe.getEnclosingClass (), etc.

OriginalL'auteur EdH | 2009-08-28