4109 // Caller needs ResourceMark.
4110 const char* java_lang_ClassLoader::describe_external(const oop loader) {
4111 if (loader == NULL) {
4112 return "<bootstrap>";
4113 }
4114
4115 const char* name = NULL;
4116 oop nameOop = java_lang_ClassLoader::name(loader);
4117 if (nameOop != NULL) {
4118 name = java_lang_String::as_utf8_string(nameOop);
4119 }
4120
4121 stringStream ss;
4122 const char *seperator;
4123 // If we have a name set for this loader, display it. Otherwise use
4124 // the class of the loader.
4125 if (name != NULL) {
4126 ss.print("\"%s\" (instance of %s", name, loader->klass()->external_name());
4127 seperator = ", ";
4128 } else {
4129 ss.print("%s", loader->klass()->external_name());
4130 seperator = " (";
4131 }
4132
4133 oop pl = java_lang_ClassLoader::parent(loader);
4134 if (pl != NULL) {
4135 ss.print("%sparent: ", seperator);
4136 oop parentNameOop = java_lang_ClassLoader::name(pl);
4137 if (parentNameOop != NULL) {
4138 const char* parentName = java_lang_String::as_utf8_string(parentNameOop);
4139 if (parentName != NULL) {
4140 ss.print("\"%s\" ", parentName);
4141 }
4142 }
4143 ss.print("%s)", pl->klass()->external_name());
4144 } else {
4145 ss.print("%sparent: <bootstrap>)", seperator);
4146 }
4147 return ss.as_string();
4148 }
4149
|
4109 // Caller needs ResourceMark.
4110 const char* java_lang_ClassLoader::describe_external(const oop loader) {
4111 if (loader == NULL) {
4112 return "<bootstrap>";
4113 }
4114
4115 const char* name = NULL;
4116 oop nameOop = java_lang_ClassLoader::name(loader);
4117 if (nameOop != NULL) {
4118 name = java_lang_String::as_utf8_string(nameOop);
4119 }
4120
4121 stringStream ss;
4122 const char *seperator;
4123 // If we have a name set for this loader, display it. Otherwise use
4124 // the class of the loader.
4125 if (name != NULL) {
4126 ss.print("\"%s\" (instance of %s", name, loader->klass()->external_name());
4127 seperator = ", ";
4128 } else {
4129 ss.print("instance of %s", loader->klass()->external_name());
4130 seperator = " (";
4131 }
4132
4133 oop pl = java_lang_ClassLoader::parent(loader);
4134 if (pl != NULL) {
4135 ss.print("%sparent: ", seperator);
4136 oop parentNameOop = java_lang_ClassLoader::name(pl);
4137 if (parentNameOop != NULL) {
4138 const char* parentName = java_lang_String::as_utf8_string(parentNameOop);
4139 if (parentName != NULL) {
4140 ss.print("\"%s\" ", parentName);
4141 }
4142 }
4143 ss.print("%s)", pl->klass()->external_name());
4144 } else {
4145 ss.print("%sparent: <bootstrap>)", seperator);
4146 }
4147 return ss.as_string();
4148 }
4149
|