Example #1
0
 private static List<String> getParameterDescriptors(CharBuffer cb) {
   List<String> result = new ArrayList<String>();
   cb.get(); // Skip the initial '('
   while (cb.hasRemaining() && cb.get(cb.position()) != ')') {
     StringBuilder sb = new StringBuilder();
     nextDescriptor(cb, sb);
     result.add(sb.toString());
   }
   return result;
 }
Example #2
0
 private static void nextDescriptor(CharBuffer cb, StringBuilder sb) {
   char c = cb.get();
   sb.append(c);
   if (c == 'L') {
     do {
       c = cb.get();
       sb.append(c);
     } while (c != ';');
   } else if (c == '[') {
     nextDescriptor(cb, sb);
   } else {
     // Must be a primitive
   }
 }