Lines Matching refs:desc

331         const char* desc = type->GetDescriptor(&descriptor_string);  in Write()  local
332 size_t class_offset = StartClassTag(desc); in Write()
517 size_t WriteTypeDeclaration(const std::string& desc) { in WriteTypeDeclaration() argument
520 DCHECK(!desc.empty()); in WriteTypeDeclaration()
521 const auto it = type_cache_.find(desc); in WriteTypeDeclaration()
527 if (desc[0] == 'L') { in WriteTypeDeclaration()
529 size_t class_offset = StartClassTag(desc.c_str()); in WriteTypeDeclaration()
536 } else if (desc[0] == '[') { in WriteTypeDeclaration()
538 size_t element_type = WriteTypeDeclaration(desc.substr(1)); in WriteTypeDeclaration()
549 DCHECK_EQ(desc.size(), 1u); in WriteTypeDeclaration()
554 switch (desc[0]) { in WriteTypeDeclaration()
599 LOG(FATAL) << "Unknown dex type descriptor: \"" << desc << "\""; in WriteTypeDeclaration()
610 type_cache_.emplace(desc, offset); in WriteTypeDeclaration()
616 size_t StartClassTag(const char* desc) { in StartClassTag() argument
617 std::string name = SetNamespaceForClass(desc); in StartClassTag()
629 std::string SetNamespaceForClass(const char* desc) { in SetNamespaceForClass() argument
630 DCHECK(desc != nullptr && desc[0] == 'L'); in SetNamespaceForClass()
631 desc++; // Skip the initial 'L'. in SetNamespaceForClass()
633 for (const char* end; (end = strchr(desc, '/')) != nullptr; desc = end + 1, ++depth) { in SetNamespaceForClass()
637 if (name.compare(0, name.size(), desc, end - desc) == 0) { in SetNamespaceForClass()
644 std::string name(desc, end - desc); in SetNamespaceForClass()
649 return std::string(desc, strchr(desc, ';') - desc); in SetNamespaceForClass()