if (! Character.isJavaIdentifierStart(c))
if (! isVMIdentifierStart(c))
  public static boolean isJavaClassNameInternalForm(                char val[], int first, int last)   {    if (val[first++] != ClassTypeCode) // the L      return false;    if (val[last--] != ';')      // malformed("a class ('L') must end in a ';'");      return false;    boolean identStart = true;  // pretend we just saw a separator    for (int i = first; i <= last; ++i) {      char c = val[i];      if (identStart) {        if (! Character.isJavaIdentifierStart(c))          return false;         // failure to match identifier start.        identStart = false;     // on to the next one.        continue;      }      if (c == '/') {        identStart = true;        continue;      }      /* We have a character that is not the first one of a Java identifier */      if (!Character.isJavaIdentifierPart(c))        return false;      // for Jikes 1.22, the -target 1.5 option causes anonymous      // classes to be named <class name>-<num> instead of      // <class name>$<num>. isJavaIdentifierPart will return false      // for a '-' in this situation which means compiling the      // Jikes RVM with jikes with -target 1.5 won't work. You can      // add "&& (c != '-')" to the test above to avoid this      // problem      /* And on we go around the loop */    }    // Must not finish by needing the start of another identifier.    return ! identStart;  }