// generated by stringer -type=Class; DO NOT EDIT

package dwarf

import "fmt"

const _Class_name = "ClassAddressClassBlockClassConstantClassExprLocClassFlagClassLinePtrClassLocListPtrClassMacPtrClassRangeListPtrClassReferenceClassStringClassReferenceAltClassStringAlt"

var _Class_index = [...]uint8{0, 12, 22, 35, 47, 56, 68, 83, 94, 111, 125, 136, 153, 167}

func (i Class) String() string {
	i -= 1
	if i < 0 || i+1 >= Class(len(_Class_index)) {
		return fmt.Sprintf("Class(%d)", i+1)
	}
	return _Class_name[_Class_index[i]:_Class_index[i+1]]
}
