mirror of https://github.com/golang/go.git
all: add more uses of stringer
By grepping for ]string{$, one can find many manual implementations of
stringer. The debug/dwarf ones needed the new -trimprefix flag, too.
html/template was fairly simple, just implementing the fallback as
stringer would. The changes there are trivial.
The ones in debug/dwarf needed a bit of extra logic since the GoString
wants to use its own format, depending on whether or not the value is
one of the known constants.
Change-Id: I501ea7deaa538fa425c8e9c2bb895f480169273f
Reviewed-on: https://go-review.googlesource.com/77253
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
3cb54c8604
commit
60cf9ec677
|
|
@ -0,0 +1,89 @@
|
|||
// 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) + ")"
|
||||
}
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
// generated by stringer -type=Class; DO NOT EDIT
|
||||
// Code generated by "stringer -type=Class"; DO NOT EDIT.
|
||||
|
||||
package dwarf
|
||||
|
||||
import "fmt"
|
||||
import "strconv"
|
||||
|
||||
const _Class_name = "ClassUnknownClassAddressClassBlockClassConstantClassExprLocClassFlagClassLinePtrClassLocListPtrClassMacPtrClassRangeListPtrClassReferenceClassReferenceSigClassStringClassReferenceAltClassStringAlt"
|
||||
|
||||
var _Class_index = [...]uint8{0, 12, 24, 34, 47, 59, 68, 80, 95, 106, 123, 137, 154, 165, 182, 196}
|
||||
|
||||
func (i Class) String() string {
|
||||
if i < 0 || i+1 >= Class(len(_Class_index)) {
|
||||
return fmt.Sprintf("Class(%d)", i)
|
||||
if i < 0 || i >= Class(len(_Class_index)-1) {
|
||||
return "Class(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||
}
|
||||
return _Class_name[_Class_index[i]:_Class_index[i+1]]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
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
|
||||
|
|
@ -86,99 +86,11 @@ const (
|
|||
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.
|
||||
|
|
@ -218,6 +130,8 @@ const (
|
|||
formGnuStrpAlt format = 0x1f21
|
||||
)
|
||||
|
||||
//go:generate stringer -type Tag -trimprefix=Tag
|
||||
|
||||
// A Tag is the classification (the type) of an Entry.
|
||||
type Tag uint32
|
||||
|
||||
|
|
@ -287,88 +201,11 @@ const (
|
|||
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.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
// 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) + ")"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
// Code generated by "stringer -type attr"; DO NOT EDIT.
|
||||
|
||||
package template
|
||||
|
||||
import "strconv"
|
||||
|
||||
const _attr_name = "attrNoneattrScriptattrScriptTypeattrStyleattrURLattrSrcset"
|
||||
|
||||
var _attr_index = [...]uint8{0, 8, 18, 32, 41, 48, 58}
|
||||
|
||||
func (i attr) String() string {
|
||||
if i >= attr(len(_attr_index)-1) {
|
||||
return "attr(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||
}
|
||||
return _attr_name[_attr_index[i]:_attr_index[i+1]]
|
||||
}
|
||||
|
|
@ -314,6 +314,8 @@ func (e element) String() string {
|
|||
return fmt.Sprintf("illegal element %d", int(e))
|
||||
}
|
||||
|
||||
//go:generate stringer -type attr
|
||||
|
||||
// attr identifies the current HTML attribute when inside the attribute,
|
||||
// that is, starting from stateAttrName until stateTag/stateText (exclusive).
|
||||
type attr uint8
|
||||
|
|
@ -332,19 +334,3 @@ const (
|
|||
// attrSrcset corresponds to a srcset attribute.
|
||||
attrSrcset
|
||||
)
|
||||
|
||||
var attrNames = [...]string{
|
||||
attrNone: "attrNone",
|
||||
attrScript: "attrScript",
|
||||
attrScriptType: "attrScriptType",
|
||||
attrStyle: "attrStyle",
|
||||
attrURL: "attrURL",
|
||||
attrSrcset: "attrSrcset",
|
||||
}
|
||||
|
||||
func (a attr) String() string {
|
||||
if int(a) < len(attrNames) {
|
||||
return attrNames[a]
|
||||
}
|
||||
return fmt.Sprintf("illegal attr %d", int(a))
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue