src/hotspot/share/classfile/classLoader.cpp
changeset 57897 e2e315f1aa63
parent 57865 489b8e142559
child 57898 5ddb746d45e0
--- a/src/hotspot/share/classfile/classLoader.cpp	Wed Aug 28 11:00:55 2019 +0800
+++ b/src/hotspot/share/classfile/classLoader.cpp	Tue Aug 27 22:14:15 2019 -0700
@@ -69,6 +69,7 @@
 #include "runtime/vm_version.hpp"
 #include "services/management.hpp"
 #include "services/threadService.hpp"
+#include "utilities/classpathStream.hpp"
 #include "utilities/events.hpp"
 #include "utilities/hashtable.inline.hpp"
 #include "utilities/macros.hpp"
@@ -168,41 +169,6 @@
   return (const char*)version_string;
 }
 
-class ClasspathStream : public StackObj {
-  const char* _class_path;
-  int _len;
-  int _start;
-  int _end;
-
-public:
-  ClasspathStream(const char* class_path) {
-    _class_path = class_path;
-    _len = (int)strlen(class_path);
-    _start = 0;
-    _end = 0;
-  }
-
-  bool has_next() {
-    return _start < _len;
-  }
-
-  const char* get_next() {
-    while (_class_path[_end] != '\0' && _class_path[_end] != os::path_separator()[0]) {
-      _end++;
-    }
-    int path_len = _end - _start;
-    char* path = NEW_RESOURCE_ARRAY(char, path_len + 1);
-    strncpy(path, &_class_path[_start], path_len);
-    path[path_len] = '\0';
-
-    while (_class_path[_end] == os::path_separator()[0]) {
-      _end++;
-    }
-    _start = _end;
-    return path;
-  }
-};
-
 bool ClassLoader::string_ends_with(const char* str, const char* str_to_find) {
   size_t str_len = strlen(str);
   size_t str_to_find_len = strlen(str_to_find);