diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/classpath/files/SimpleName.diff | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) | |
download | openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/classpath/files/SimpleName.diff')
-rw-r--r-- | recipes/classpath/files/SimpleName.diff | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/recipes/classpath/files/SimpleName.diff b/recipes/classpath/files/SimpleName.diff new file mode 100644 index 0000000000..ff2bec0f1c --- /dev/null +++ b/recipes/classpath/files/SimpleName.diff @@ -0,0 +1,66 @@ +Index: vm/reference/java/lang/VMClass.java +=================================================================== +RCS file: /sources/classpath/classpath/vm/reference/java/lang/VMClass.java,v +retrieving revision 1.20 +diff -u -r1.20 VMClass.java +--- vm/reference/java/lang/VMClass.java 18 Sep 2007 21:52:38 -0000 1.20 ++++ vm/reference/java/lang/VMClass.java 19 Apr 2008 15:19:00 -0000 +@@ -296,27 +296,43 @@ + */ + static String getSimpleName(Class klass) + { ++ int arrayCount = 0; ++ while (klass.isArray()) ++ { ++ klass = klass.getComponentType(); ++ ++arrayCount; ++ } ++ // now klass is the component type ++ ++ String simpleComponentName = null; + if (isAnonymousClass(klass)) +- return ""; +- if (isArray(klass)) + { +- return getComponentType(klass).getSimpleName() + "[]"; ++ simpleComponentName = ""; + } +- String fullName = getName(klass); +- int pos = fullName.lastIndexOf("$"); +- if (pos == -1) +- pos = 0; + else + { +- ++pos; +- while (Character.isDigit(fullName.charAt(pos))) +- ++pos; ++ String fullName = getName(klass); ++ int pos = fullName.lastIndexOf("$"); ++ if (pos != -1) ++ { //inner class or local class ++ // skip digits of local classes ++ while (Character.isDigit(fullName.charAt(pos+1))) ++ pos++; ++ } ++ else ++ { ++ pos = fullName.lastIndexOf("."); ++ } ++ simpleComponentName = fullName.substring(pos+1); + } +- int packagePos = fullName.lastIndexOf(".", pos); +- if (packagePos == -1) +- return fullName.substring(pos); +- else +- return fullName.substring(packagePos + 1); ++ ++ if (arrayCount == 0) ++ return simpleComponentName; ++ ++ StringBuffer sb = new StringBuffer(simpleComponentName); ++ while (arrayCount-- > 0) ++ sb.append("[]"); ++ return sb.toString(); + } + + /** |