< prev index next >

src/hotspot/share/classfile/javaClasses.cpp

Print this page




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 


< prev index next >