forked from OSchip/llvm-project
640 lines
15 KiB
C++
640 lines
15 KiB
C++
//===-- DWARFDefines.cpp ----------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "DWARFDefines.h"
|
|
#include "lldb/Utility/ConstString.h"
|
|
#include <cstdio>
|
|
#include <cstring>
|
|
#include <string>
|
|
|
|
namespace lldb_private {
|
|
|
|
const char *DW_TAG_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
|
|
if (val == 0)
|
|
return "NULL";
|
|
|
|
llvm::StringRef llvmstr = llvm::dwarf::TagString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_TAG constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_CHILDREN_value_to_name(uint8_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::ChildrenString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_CHILDREN constant: 0x%x",
|
|
val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_AT_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::AttributeString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_AT constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_FORM_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::FormEncodingString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_FORM constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_OP_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::OperationEncodingString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_OP constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
DRC_class DW_OP_value_to_class(uint32_t val) {
|
|
switch (val) {
|
|
case 0x03:
|
|
return DRC_ONEOPERAND;
|
|
case 0x06:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x08:
|
|
return DRC_ONEOPERAND;
|
|
case 0x09:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0a:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0b:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0c:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0d:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0e:
|
|
return DRC_ONEOPERAND;
|
|
case 0x0f:
|
|
return DRC_ONEOPERAND;
|
|
case 0x10:
|
|
return DRC_ONEOPERAND;
|
|
case 0x11:
|
|
return DRC_ONEOPERAND;
|
|
case 0x12:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x13:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x14:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x15:
|
|
return DRC_ONEOPERAND;
|
|
case 0x16:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x17:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x18:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x19:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x1f:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x20:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x21:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x22:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x23:
|
|
return DRC_ONEOPERAND;
|
|
case 0x24:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x25:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x26:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x27:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2f:
|
|
return DRC_ONEOPERAND;
|
|
case 0x28:
|
|
return DRC_ONEOPERAND;
|
|
case 0x29:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x2e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x30:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x31:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x32:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x33:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x34:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x35:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x36:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x37:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x38:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x39:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x3f:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x40:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x41:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x42:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x43:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x44:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x45:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x46:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x47:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x48:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x49:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x4f:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x50:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x51:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x52:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x53:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x54:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x55:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x56:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x57:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x58:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x59:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x5f:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x60:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x61:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x62:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x63:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x64:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x65:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x66:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x67:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x68:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x69:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6a:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6b:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6c:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6d:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6e:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x6f:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x70:
|
|
return DRC_ONEOPERAND;
|
|
case 0x71:
|
|
return DRC_ONEOPERAND;
|
|
case 0x72:
|
|
return DRC_ONEOPERAND;
|
|
case 0x73:
|
|
return DRC_ONEOPERAND;
|
|
case 0x74:
|
|
return DRC_ONEOPERAND;
|
|
case 0x75:
|
|
return DRC_ONEOPERAND;
|
|
case 0x76:
|
|
return DRC_ONEOPERAND;
|
|
case 0x77:
|
|
return DRC_ONEOPERAND;
|
|
case 0x78:
|
|
return DRC_ONEOPERAND;
|
|
case 0x79:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7a:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7b:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7c:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7d:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7e:
|
|
return DRC_ONEOPERAND;
|
|
case 0x7f:
|
|
return DRC_ONEOPERAND;
|
|
case 0x80:
|
|
return DRC_ONEOPERAND;
|
|
case 0x81:
|
|
return DRC_ONEOPERAND;
|
|
case 0x82:
|
|
return DRC_ONEOPERAND;
|
|
case 0x83:
|
|
return DRC_ONEOPERAND;
|
|
case 0x84:
|
|
return DRC_ONEOPERAND;
|
|
case 0x85:
|
|
return DRC_ONEOPERAND;
|
|
case 0x86:
|
|
return DRC_ONEOPERAND;
|
|
case 0x87:
|
|
return DRC_ONEOPERAND;
|
|
case 0x88:
|
|
return DRC_ONEOPERAND;
|
|
case 0x89:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8a:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8b:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8c:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8d:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8e:
|
|
return DRC_ONEOPERAND;
|
|
case 0x8f:
|
|
return DRC_ONEOPERAND;
|
|
case 0x90:
|
|
return DRC_ONEOPERAND;
|
|
case 0x91:
|
|
return DRC_ONEOPERAND;
|
|
case 0x92:
|
|
return DRC_TWOOPERANDS;
|
|
case 0x93:
|
|
return DRC_ONEOPERAND;
|
|
case 0x94:
|
|
return DRC_ONEOPERAND;
|
|
case 0x95:
|
|
return DRC_ONEOPERAND;
|
|
case 0x96:
|
|
return DRC_ZEROOPERANDS;
|
|
case 0x97:
|
|
return DRC_DWARFv3 | DRC_ZEROOPERANDS;
|
|
case 0x98:
|
|
return DRC_DWARFv3 | DRC_ONEOPERAND;
|
|
case 0x99:
|
|
return DRC_DWARFv3 | DRC_ONEOPERAND;
|
|
case 0x9a:
|
|
return DRC_DWARFv3 | DRC_ONEOPERAND;
|
|
case 0xf0:
|
|
return DRC_ZEROOPERANDS; /* DW_OP_APPLE_uninit */
|
|
case 0xe0:
|
|
return 0;
|
|
case 0xff:
|
|
return 0;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
const char *DW_ATE_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::AttributeEncodingString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_ATE constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_ACCESS_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
|
|
llvm::StringRef llvmstr = llvm::dwarf::AccessibilityString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_ACCESS constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_VIS_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::VisibilityString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_VIS constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_VIRTUALITY_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::VirtualityString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_VIRTUALITY constant: 0x%x",
|
|
val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_LANG_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::LanguageString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_LANG constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_ID_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::CaseString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_ID constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_CC_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::ConventionString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_CC constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_INL_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::InlineCodeString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_INL constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_ORD_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::ArrayOrderString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_ORD constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_LNS_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::LNStandardString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_LNS constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_LNE_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::LNExtendedString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_LNE constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_MACINFO_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::MacinfoString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_MACINFO constant: 0x%x",
|
|
val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
const char *DW_CFA_value_to_name(uint32_t val) {
|
|
static char invalid[100];
|
|
llvm::StringRef llvmstr = llvm::dwarf::CallFrameString(val);
|
|
if (llvmstr.empty()) {
|
|
snprintf(invalid, sizeof(invalid), "Unknown DW_CFA constant: 0x%x", val);
|
|
return invalid;
|
|
}
|
|
return llvmstr.data();
|
|
}
|
|
|
|
DW_TAG_CategoryEnum get_tag_category(uint16_t tag) {
|
|
switch (tag) {
|
|
case DW_TAG_array_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_class_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_entry_point:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_enumeration_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_formal_parameter:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_imported_declaration:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_label:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_lexical_block:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_member:
|
|
return TagCategoryType;
|
|
case DW_TAG_pointer_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_reference_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_compile_unit:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_string_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_structure_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_subroutine_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_typedef:
|
|
return TagCategoryType;
|
|
case DW_TAG_union_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_unspecified_parameters:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_variant:
|
|
return TagCategoryType;
|
|
case DW_TAG_common_block:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_common_inclusion:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_inheritance:
|
|
return TagCategoryType;
|
|
case DW_TAG_inlined_subroutine:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_module:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_ptr_to_member_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_set_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_subrange_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_with_stmt:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_access_declaration:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_base_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_catch_block:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_const_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_constant:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_enumerator:
|
|
return TagCategoryType;
|
|
case DW_TAG_file_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_friend:
|
|
return TagCategoryType;
|
|
case DW_TAG_namelist:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_namelist_item:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_packed_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_subprogram:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_template_type_parameter:
|
|
return TagCategoryType;
|
|
case DW_TAG_template_value_parameter:
|
|
return TagCategoryType;
|
|
case DW_TAG_GNU_template_parameter_pack:
|
|
return TagCategoryType;
|
|
case DW_TAG_thrown_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_try_block:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_variant_part:
|
|
return TagCategoryType;
|
|
case DW_TAG_variable:
|
|
return TagCategoryVariable;
|
|
case DW_TAG_volatile_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_dwarf_procedure:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_restrict_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_interface_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_namespace:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_imported_module:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_unspecified_type:
|
|
return TagCategoryType;
|
|
case DW_TAG_partial_unit:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_imported_unit:
|
|
return TagCategoryProgram;
|
|
case DW_TAG_shared_type:
|
|
return TagCategoryType;
|
|
default:
|
|
break;
|
|
}
|
|
return TagCategoryProgram;
|
|
}
|
|
|
|
} // namespace lldb_private
|