--- /dev/null
+// Code generated by "stringer -type Attr -trimprefix=Attr"; DO NOT EDIT.
+
+package dwarf
+
+import "strconv"
+
+const _Attr_name = "SiblingLocationNameOrderingByteSizeBitOffsetBitSizeStmtListLowpcHighpcLanguageDiscrDiscrValueVisibilityImportStringLengthCommonRefCompDirConstValueContainingTypeDefaultValueInlineIsOptionalLowerBoundProducerPrototypedReturnAddrStartScopeStrideSizeUpperBoundAbstractOriginAccessibilityAddrClassArtificialBaseTypesCallingCountDataMemberLocDeclColumnDeclFileDeclLineDeclarationDiscrListEncodingExternalFrameBaseFriendIdentifierCaseMacroInfoNamelistItemPrioritySegmentSpecificationStaticLinkTypeUseLocationVarParamVirtualityVtableElemLocAllocatedAssociatedDataLocationStrideEntrypcUseUTF8ExtensionRangesTrampolineCallColumnCallFileCallLineDescription"
+
+var _Attr_map = map[Attr]string{
+ 1: _Attr_name[0:7],
+ 2: _Attr_name[7:15],
+ 3: _Attr_name[15:19],
+ 9: _Attr_name[19:27],
+ 11: _Attr_name[27:35],
+ 12: _Attr_name[35:44],
+ 13: _Attr_name[44:51],
+ 16: _Attr_name[51:59],
+ 17: _Attr_name[59:64],
+ 18: _Attr_name[64:70],
+ 19: _Attr_name[70:78],
+ 21: _Attr_name[78:83],
+ 22: _Attr_name[83:93],
+ 23: _Attr_name[93:103],
+ 24: _Attr_name[103:109],
+ 25: _Attr_name[109:121],
+ 26: _Attr_name[121:130],
+ 27: _Attr_name[130:137],
+ 28: _Attr_name[137:147],
+ 29: _Attr_name[147:161],
+ 30: _Attr_name[161:173],
+ 32: _Attr_name[173:179],
+ 33: _Attr_name[179:189],
+ 34: _Attr_name[189:199],
+ 37: _Attr_name[199:207],
+ 39: _Attr_name[207:217],
+ 42: _Attr_name[217:227],
+ 44: _Attr_name[227:237],
+ 46: _Attr_name[237:247],
+ 47: _Attr_name[247:257],
+ 49: _Attr_name[257:271],
+ 50: _Attr_name[271:284],
+ 51: _Attr_name[284:293],
+ 52: _Attr_name[293:303],
+ 53: _Attr_name[303:312],
+ 54: _Attr_name[312:319],
+ 55: _Attr_name[319:324],
+ 56: _Attr_name[324:337],
+ 57: _Attr_name[337:347],
+ 58: _Attr_name[347:355],
+ 59: _Attr_name[355:363],
+ 60: _Attr_name[363:374],
+ 61: _Attr_name[374:383],
+ 62: _Attr_name[383:391],
+ 63: _Attr_name[391:399],
+ 64: _Attr_name[399:408],
+ 65: _Attr_name[408:414],
+ 66: _Attr_name[414:428],
+ 67: _Attr_name[428:437],
+ 68: _Attr_name[437:449],
+ 69: _Attr_name[449:457],
+ 70: _Attr_name[457:464],
+ 71: _Attr_name[464:477],
+ 72: _Attr_name[477:487],
+ 73: _Attr_name[487:491],
+ 74: _Attr_name[491:502],
+ 75: _Attr_name[502:510],
+ 76: _Attr_name[510:520],
+ 77: _Attr_name[520:533],
+ 78: _Attr_name[533:542],
+ 79: _Attr_name[542:552],
+ 80: _Attr_name[552:564],
+ 81: _Attr_name[564:570],
+ 82: _Attr_name[570:577],
+ 83: _Attr_name[577:584],
+ 84: _Attr_name[584:593],
+ 85: _Attr_name[593:599],
+ 86: _Attr_name[599:609],
+ 87: _Attr_name[609:619],
+ 88: _Attr_name[619:627],
+ 89: _Attr_name[627:635],
+ 90: _Attr_name[635:646],
+}
+
+func (i Attr) String() string {
+ if str, ok := _Attr_map[i]; ok {
+ return str
+ }
+ return "Attr(" + strconv.FormatInt(int64(i), 10) + ")"
+}
package dwarf
-import "strconv"
+//go:generate stringer -type Attr -trimprefix=Attr
// An Attr identifies the attribute type in a DWARF Entry's Field.
type Attr uint32
AttrDescription Attr = 0x5A
)
-var attrNames = [...]string{
- AttrSibling: "Sibling",
- AttrLocation: "Location",
- AttrName: "Name",
- AttrOrdering: "Ordering",
- AttrByteSize: "ByteSize",
- AttrBitOffset: "BitOffset",
- AttrBitSize: "BitSize",
- AttrStmtList: "StmtList",
- AttrLowpc: "Lowpc",
- AttrHighpc: "Highpc",
- AttrLanguage: "Language",
- AttrDiscr: "Discr",
- AttrDiscrValue: "DiscrValue",
- AttrVisibility: "Visibility",
- AttrImport: "Import",
- AttrStringLength: "StringLength",
- AttrCommonRef: "CommonRef",
- AttrCompDir: "CompDir",
- AttrConstValue: "ConstValue",
- AttrContainingType: "ContainingType",
- AttrDefaultValue: "DefaultValue",
- AttrInline: "Inline",
- AttrIsOptional: "IsOptional",
- AttrLowerBound: "LowerBound",
- AttrProducer: "Producer",
- AttrPrototyped: "Prototyped",
- AttrReturnAddr: "ReturnAddr",
- AttrStartScope: "StartScope",
- AttrStrideSize: "StrideSize",
- AttrUpperBound: "UpperBound",
- AttrAbstractOrigin: "AbstractOrigin",
- AttrAccessibility: "Accessibility",
- AttrAddrClass: "AddrClass",
- AttrArtificial: "Artificial",
- AttrBaseTypes: "BaseTypes",
- AttrCalling: "Calling",
- AttrCount: "Count",
- AttrDataMemberLoc: "DataMemberLoc",
- AttrDeclColumn: "DeclColumn",
- AttrDeclFile: "DeclFile",
- AttrDeclLine: "DeclLine",
- AttrDeclaration: "Declaration",
- AttrDiscrList: "DiscrList",
- AttrEncoding: "Encoding",
- AttrExternal: "External",
- AttrFrameBase: "FrameBase",
- AttrFriend: "Friend",
- AttrIdentifierCase: "IdentifierCase",
- AttrMacroInfo: "MacroInfo",
- AttrNamelistItem: "NamelistItem",
- AttrPriority: "Priority",
- AttrSegment: "Segment",
- AttrSpecification: "Specification",
- AttrStaticLink: "StaticLink",
- AttrType: "Type",
- AttrUseLocation: "UseLocation",
- AttrVarParam: "VarParam",
- AttrVirtuality: "Virtuality",
- AttrVtableElemLoc: "VtableElemLoc",
- AttrAllocated: "Allocated",
- AttrAssociated: "Associated",
- AttrDataLocation: "DataLocation",
- AttrStride: "Stride",
- AttrEntrypc: "Entrypc",
- AttrUseUTF8: "UseUTF8",
- AttrExtension: "Extension",
- AttrRanges: "Ranges",
- AttrTrampoline: "Trampoline",
- AttrCallColumn: "CallColumn",
- AttrCallFile: "CallFile",
- AttrCallLine: "CallLine",
- AttrDescription: "Description",
-}
-
-func (a Attr) String() string {
- if int(a) < len(attrNames) {
- s := attrNames[a]
- if s != "" {
- return s
- }
- }
- return strconv.Itoa(int(a))
-}
-
func (a Attr) GoString() string {
- if int(a) < len(attrNames) {
- s := attrNames[a]
- if s != "" {
- return "dwarf.Attr" + s
- }
+ if str, ok := _Attr_map[a]; ok {
+ return "dwarf.Attr" + str
}
- return "dwarf.Attr(" + strconv.FormatInt(int64(a), 10) + ")"
+ return "dwarf." + a.String()
}
// A format is a DWARF data encoding format.
formGnuStrpAlt format = 0x1f21
)
+//go:generate stringer -type Tag -trimprefix=Tag
+
// A Tag is the classification (the type) of an Entry.
type Tag uint32
TagTemplateAlias Tag = 0x43
)
-var tagNames = [...]string{
- TagArrayType: "ArrayType",
- TagClassType: "ClassType",
- TagEntryPoint: "EntryPoint",
- TagEnumerationType: "EnumerationType",
- TagFormalParameter: "FormalParameter",
- TagImportedDeclaration: "ImportedDeclaration",
- TagLabel: "Label",
- TagLexDwarfBlock: "LexDwarfBlock",
- TagMember: "Member",
- TagPointerType: "PointerType",
- TagReferenceType: "ReferenceType",
- TagCompileUnit: "CompileUnit",
- TagStringType: "StringType",
- TagStructType: "StructType",
- TagSubroutineType: "SubroutineType",
- TagTypedef: "Typedef",
- TagUnionType: "UnionType",
- TagUnspecifiedParameters: "UnspecifiedParameters",
- TagVariant: "Variant",
- TagCommonDwarfBlock: "CommonDwarfBlock",
- TagCommonInclusion: "CommonInclusion",
- TagInheritance: "Inheritance",
- TagInlinedSubroutine: "InlinedSubroutine",
- TagModule: "Module",
- TagPtrToMemberType: "PtrToMemberType",
- TagSetType: "SetType",
- TagSubrangeType: "SubrangeType",
- TagWithStmt: "WithStmt",
- TagAccessDeclaration: "AccessDeclaration",
- TagBaseType: "BaseType",
- TagCatchDwarfBlock: "CatchDwarfBlock",
- TagConstType: "ConstType",
- TagConstant: "Constant",
- TagEnumerator: "Enumerator",
- TagFileType: "FileType",
- TagFriend: "Friend",
- TagNamelist: "Namelist",
- TagNamelistItem: "NamelistItem",
- TagPackedType: "PackedType",
- TagSubprogram: "Subprogram",
- TagTemplateTypeParameter: "TemplateTypeParameter",
- TagTemplateValueParameter: "TemplateValueParameter",
- TagThrownType: "ThrownType",
- TagTryDwarfBlock: "TryDwarfBlock",
- TagVariantPart: "VariantPart",
- TagVariable: "Variable",
- TagVolatileType: "VolatileType",
- TagDwarfProcedure: "DwarfProcedure",
- TagRestrictType: "RestrictType",
- TagInterfaceType: "InterfaceType",
- TagNamespace: "Namespace",
- TagImportedModule: "ImportedModule",
- TagUnspecifiedType: "UnspecifiedType",
- TagPartialUnit: "PartialUnit",
- TagImportedUnit: "ImportedUnit",
- TagMutableType: "MutableType",
- TagCondition: "Condition",
- TagSharedType: "SharedType",
- TagTypeUnit: "TypeUnit",
- TagRvalueReferenceType: "RvalueReferenceType",
- TagTemplateAlias: "TemplateAlias",
-}
-
-func (t Tag) String() string {
- if int(t) < len(tagNames) {
- s := tagNames[t]
- if s != "" {
- return s
- }
- }
- return strconv.Itoa(int(t))
-}
-
func (t Tag) GoString() string {
- if int(t) < len(tagNames) {
- s := tagNames[t]
- if s != "" {
- return "dwarf.Tag" + s
- }
+ if t <= TagTemplateAlias {
+ return "dwarf.Tag" + t.String()
}
- return "dwarf.Tag(" + strconv.FormatInt(int64(t), 10) + ")"
+ return "dwarf." + t.String()
}
// Location expression operators.
--- /dev/null
+// Code generated by "stringer -type Tag -trimprefix=Tag"; DO NOT EDIT.
+
+package dwarf
+
+import "strconv"
+
+const (
+ _Tag_name_0 = "ArrayTypeClassTypeEntryPointEnumerationTypeFormalParameter"
+ _Tag_name_1 = "ImportedDeclaration"
+ _Tag_name_2 = "LabelLexDwarfBlock"
+ _Tag_name_3 = "Member"
+ _Tag_name_4 = "PointerTypeReferenceTypeCompileUnitStringTypeStructType"
+ _Tag_name_5 = "SubroutineTypeTypedefUnionTypeUnspecifiedParametersVariantCommonDwarfBlockCommonInclusionInheritanceInlinedSubroutineModulePtrToMemberTypeSetTypeSubrangeTypeWithStmtAccessDeclarationBaseTypeCatchDwarfBlockConstTypeConstantEnumeratorFileTypeFriendNamelistNamelistItemPackedTypeSubprogramTemplateTypeParameterTemplateValueParameterThrownTypeTryDwarfBlockVariantPartVariableVolatileTypeDwarfProcedureRestrictTypeInterfaceTypeNamespaceImportedModuleUnspecifiedTypePartialUnitImportedUnitMutableTypeConditionSharedTypeTypeUnitRvalueReferenceTypeTemplateAlias"
+)
+
+var (
+ _Tag_index_0 = [...]uint8{0, 9, 18, 28, 43, 58}
+ _Tag_index_2 = [...]uint8{0, 5, 18}
+ _Tag_index_4 = [...]uint8{0, 11, 24, 35, 45, 55}
+ _Tag_index_5 = [...]uint16{0, 14, 21, 30, 51, 58, 74, 89, 100, 117, 123, 138, 145, 157, 165, 182, 190, 205, 214, 222, 232, 240, 246, 254, 266, 276, 286, 307, 329, 339, 352, 363, 371, 383, 397, 409, 422, 431, 445, 460, 471, 483, 494, 503, 513, 521, 540, 553}
+)
+
+func (i Tag) String() string {
+ switch {
+ case 1 <= i && i <= 5:
+ i -= 1
+ return _Tag_name_0[_Tag_index_0[i]:_Tag_index_0[i+1]]
+ case i == 8:
+ return _Tag_name_1
+ case 10 <= i && i <= 11:
+ i -= 10
+ return _Tag_name_2[_Tag_index_2[i]:_Tag_index_2[i+1]]
+ case i == 13:
+ return _Tag_name_3
+ case 15 <= i && i <= 19:
+ i -= 15
+ return _Tag_name_4[_Tag_index_4[i]:_Tag_index_4[i+1]]
+ case 21 <= i && i <= 67:
+ i -= 21
+ return _Tag_name_5[_Tag_index_5[i]:_Tag_index_5[i+1]]
+ default:
+ return "Tag(" + strconv.FormatInt(int64(i), 10) + ")"
+ }
+}