code: @SuppressWarnings("signature") // conversion routine
    public static @BinaryName String fieldDescriptorToBinaryName(String classname) {
      if (classname.equals("")) {
        throw new Error("Empty string passed to fieldDescriptorToBinaryName");
      }
      int dims = 0;
      while (classname.startsWith("[")) {
        dims++;
        classname = classname.substring(1);
      }
      String result;
      if (classname.startsWith("L") && classname.endsWith(";")) {
        result = classname.substring(1, classname.length() - 1);
      } else {
        result = primitiveClassesFromJvm.get(classname);
        if (result == null) {
          throw new Error("Malformed base class: " + classname);
        }
      }
      for (int i = 0; i < dims; i++) {
        result += "[]";
      }
      return result.replace('/', '.');
    }
docs: Convert a field descriptor to a binary name. For example, convert "[Ljava/lang/Object;" to
  "java.lang.Object[]" or "I" to "int".
  
  @param classname name of the type, in JVML format
  @return name of the type, in Java format