// Code generated by "stringer -type=CheckableKind check.go"; DO NOT EDIT.

package addrs

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[CheckableKindInvalid-0]
	_ = x[CheckableResource-82]
	_ = x[CheckableOutputValue-79]
}

const (
	_CheckableKind_name_0 = "CheckableKindInvalid"
	_CheckableKind_name_1 = "CheckableOutputValue"
	_CheckableKind_name_2 = "CheckableResource"
)

func (i CheckableKind) String() string {
	switch {
	case i == 0:
		return _CheckableKind_name_0
	case i == 79:
		return _CheckableKind_name_1
	case i == 82:
		return _CheckableKind_name_2
	default:
		return "CheckableKind(" + strconv.FormatInt(int64(i), 10) + ")"
	}
}
