Lines Matching defs:string
24 #include <string>
78 #include "mirror/string-inl.h"
122 // No exc class ~ no <init>-with-string.
129 "<init>", "(Ljava/lang/String;)V", class_linker->GetImagePointerSize());
142 // It's possible the exception doesn't have a <init>(String).
143 std::string temp;
169 std::string extra;
205 std::string temp;
352 std::string* error_msg) {
426 // Setup the char[] class to be used for String.
432 // Setup String.
434 AllocClass(self, java_lang_Class.Get(), mirror::String::ClassSize(image_pointer_size_))));
436 mirror::String::SetClass(java_lang_String.Get());
496 // Set up array classes for string, field, method
499 mirror::ObjectArray<mirror::String>::ClassSize(image_pointer_size_))));
510 // DexCache instances. Needs to be after String, Field, Method arrays since AllocDexCache uses
541 // Object, String and DexCache need to be rerun through FindSystemClass to finish init
546 CheckSystemClass(self, java_lang_String, "Ljava/lang/String;");
933 bool ClassLinker::InitFromBootImage(std::string* error_msg) {
1014 // Special case of setting up the String class early so that we can test arbitrary objects
1016 mirror::String::SetClass(GetClassRoot(kJavaLangString));
1028 // String class root was set above
1076 static mirror::String* GetDexPathListElementName(ScopedObjectAccessUnchecked& soa,
1099 std::list<mirror::String*>* out_dex_file_names,
1100 std::string* error_msg)
1134 mirror::String* const name = GetDexPathListElementName(soa, element);
1233 std::string* out_error_msg) {
1290 GcRoot<mirror::String>* const image_resolved_strings = dex_cache->GetStrings();
1291 GcRoot<mirror::String>* const strings =
1292 reinterpret_cast<GcRoot<mirror::String>*>(raw_arrays + layout.StringsOffset());
1466 // Update the class loader and resolved string dex cache array of classes. Should only be used on
1479 GcRoot<mirror::String>* strings = klass->GetDexCacheStrings();
1484 << "String dex cache array for " << PrettyClass(klass) << " is not in app image";
1486 GcRoot<mirror::String>* new_strings = klass->GetDexCache()->GetStrings();
1503 std::string* error_msg)
1514 std::string inner_error_msg;
1536 std::string* error_msg) {
1546 std::string dex_file_location(dex_cache->GetLocation()->ToModifiedUtf8());
1565 std::string* error_msg) {
1615 std::string dex_file_location(h_dex_cache->GetLocation()->ToModifiedUtf8());
1618 if (dex_file_location.find('/') == std::string::npos) {
1619 std::string dex_location_path = dex_location;
1621 CHECK_NE(pos, std::string::npos);
1675 std::list<mirror::String*> image_dex_file_names;
1676 std::string temp_error_msg;
1682 std::list<mirror::String*> loader_dex_file_names;
1712 for (mirror::String* name : image_dex_file_names) {
1716 for (mirror::String* name : loader_dex_file_names) {
2021 mirror::String::ResetClass();
2089 GcRoot<mirror::String>* strings = (dex_file.NumStringIds() == 0u) ? nullptr :
2090 reinterpret_cast<GcRoot<mirror::String>*>(raw_arrays + layout.StringsOffset());
2363 DCHECK_NE(*descriptor, '\0') << "descriptor is empty string";
2423 std::string class_name_string(DescriptorToDot(descriptor));
2470 } else if (strcmp(descriptor, "Ljava/lang/String;") == 0) {
2498 // Mark the string class by setting its access flag.
2500 if (strcmp(descriptor, "Ljava/lang/String;") == 0) {
3160 std::string temp;
3215 const std::string dex_cache_location = dex_cache->GetLocation()->ToModifiedUtf8();
3218 std::string dex_file_location = dex_file.GetLocation();
3222 const std::string dex_file_suffix = dex_file_location.substr(
3319 std::string location(dex_file.GetLocation());
3374 // "[Ljava/lang/String;".
3411 // java/lang/String -- so we need to look for it there. (The
3551 std::string printable_type(PrintableChar(type));
3559 std::string source;
3681 std::string temp;
3807 std::string error_msg =
3942 std::string error_msg;
4105 std::string temp;
4168 klass->SetName(soa.Decode<mirror::String*>(name));
4171 std::string descriptor(GetDescriptorForProxy(klass.Get()));
4283 Handle<mirror::String> decoded_name = hs2.NewHandle(soa.Decode<mirror::String*>(name));
4284 std::string interfaces_field_name(StringPrintf("java.lang.Class[] %s.interfaces",
4288 std::string throws_field_name(StringPrintf("java.lang.Class[][] %s.throws",
4300 std::string ClassLinker::GetDescriptorForProxy(mirror::Class* proxy_class) {
4302 mirror::String* name = proxy_class->GetName();
4339 DCHECK_EQ(std::string(proxy_constructor->GetName()), "<init>");
4710 std::string temp;
4821 std::string return_type = PrettyType(return_type_idx, *dex_file);
4822 std::string class_loader = PrettyTypeOf(m->GetDeclaringClass()->GetClassLoader());
4843 std::string arg_type = PrettyType(arg_type_idx, *dex_file);
4844 std::string class_loader = PrettyTypeOf(m->GetDeclaringClass()->GetClassLoader());
4858 const std::string& error_msg)
5286 static std::string DumpClasses(const DexFile& dex_file1,
5303 std::string* error_msg) {
5323 std::string class_dump = DumpClasses(dex_file1, dex_class_def1, dex_file2, dex_class_def2);
5331 std::string class_dump = DumpClasses(dex_file1, dex_class_def1, dex_file2, dex_class_def2);
5339 std::string class_dump = DumpClasses(dex_file1, dex_class_def1, dex_file2, dex_class_def2);
5347 std::string class_dump = DumpClasses(dex_file1, dex_class_def1, dex_file2, dex_class_def2);
5393 std::string error_msg;
6481 std::string temp;
7432 std::string temp;
7520 mirror::String* ClassLinker::ResolveString(const DexFile& dex_file,
7524 mirror::String* resolved = dex_cache->GetResolvedString(string_idx);
7530 mirror::String* string = intern_table_->InternStrong(utf16_length, utf8_data);
7531 dex_cache->SetResolvedString(string_idx, string);
7532 return string;
7535 mirror::String* ClassLinker::LookupString(const DexFile& dex_file,
7539 mirror::String* resolved = dex_cache->GetResolvedString(string_idx);
7545 mirror::String* string = intern_table_->LookupStrong(Thread::Current(), utf16_length, utf8_data);
7546 if (string != nullptr) {
7547 dex_cache->SetResolvedString(string_idx, string);
7549 return string;
7622 // Scan using method_idx, this saves string compares but will only hit for matching dex
8052 "Ljava/lang/String;",
8059 "[Ljava/lang/String;",
8142 Handle<mirror::String> h_file_name = hs2.NewHandle(
8143 mirror::String::AllocFromModifiedUtf8(self, dex_file->GetLocation().c_str()));
8289 const std::string& location = dex_file->GetLocation();
8340 std::unordered_set<std::string> ClassLinker::GetClassDescriptorsForProfileKeys(
8343 std::unordered_set<std::string> ret;
8345 std::unordered_map<std::string, const DexFile*> location_to_dex_file;
8362 const std::string& profile_key = info.GetDexLocation();