@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('/', '.');
  }
@SuppressWarnings("signature") 
  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('/', '.');
  }
@ 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 ( ' ' , ' ' ) ; }
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
Convert a field descriptor to a binary name . For example convert [ Ljava / lang / Object ; to java . lang . Object [] or I to int .