Re: PR libgcj/35020: Class.getSimpleName() differs from Sun Java | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Andrew Haley wrote:
> 2008-05-22 Andrew Haley <aph@xxxxxxxxxx>
>
> PR libgcj/35020
> * java/lang/Class.java (getSimpleName): Import from GNU Classpath.
Hmph. It looks like the GNU Classpath version of Class.getSimpleName()
was just as bad as the libgcj version. Fixed thusly.
Andrew.
2008-05-22 Andrew Haley <aph@xxxxxxxxxx>
PR libgcj/35020
* java/lang/Class.java (getSimpleName): Replace incorrect use of
String.lastIndexOf(String, int) with String.substring.
* testsuite/libjava.lang/PR35020.java: New file.
* testsuite/libjava.lang/PR35020.out: New file.
Index: java/lang/Class.java
===================================================================
*** java/lang/Class.java (revision 135771)
--- java/lang/Class.java (working copy)
***************
*** 1090,1099 ****
++pos;
while (Character.isDigit(fullName.charAt(pos)))
++pos;
}
! int packagePos = fullName.lastIndexOf(".", pos);
if (packagePos == -1)
! return fullName.substring(pos);
else
return fullName.substring(packagePos + 1);
}
--- 1090,1101 ----
++pos;
while (Character.isDigit(fullName.charAt(pos)))
++pos;
+ fullName = fullName.substring(pos);
}
!
! int packagePos = fullName.lastIndexOf(".");
if (packagePos == -1)
! return fullName;
else
return fullName.substring(packagePos + 1);
}
Index: testsuite/libjava.lang/PR35020.java
===================================================================
*** testsuite/libjava.lang/PR35020.java (revision 0)
--- testsuite/libjava.lang/PR35020.java (revision 0)
***************
*** 0 ****
--- 1,21 ----
+ public class PR35020
+ {
+ class inner
+ {
+ }
+ public static void main(String[] args)
+ {
+ System.out.println(inner.class.getSimpleName());
+ System.out.println(PR35020.class.getSimpleName());
+ System.out.println(Class.class.getSimpleName());
+ System.out.println((new int[7]).getClass().getSimpleName());
+ System.out.println((new Object[1][1][1][1][1][1][1][1]).getClass().getSimpleName());
+ System.out.println((new java.security.PrivilegedAction()
+ {
+ public Object run() {
+ return null;
+ }
+ }).getClass().getSimpleName());
+ }
+ }
+
Index: testsuite/libjava.lang/PR35020.out
===================================================================
*** testsuite/libjava.lang/PR35020.out (revision 0)
--- testsuite/libjava.lang/PR35020.out (revision 0)
***************
*** 0 ****
--- 1,6 ----
+ inner
+ PR35020
+ Class
+ int[]
+ Object[][][][][][][][]
+
[Home] [Linux Kernel List] [Linux Cryptography] [Fedora] [Fedora Directory] [Red Hat Development] [Red Hat 9 Bible] [Fedora Bible] [Red Hat 9 Mailing List] [Network Security Reading]
![]() |