// Code generated by "stringer -type MoveEndpointKind"; 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[MoveEndpointModule-77]
	_ = x[MoveEndpointResource-82]
}

const (
	_MoveEndpointKind_name_0 = "MoveEndpointModule"
	_MoveEndpointKind_name_1 = "MoveEndpointResource"
)

func (i MoveEndpointKind) String() string {
	switch {
	case i == 77:
		return _MoveEndpointKind_name_0
	case i == 82:
		return _MoveEndpointKind_name_1
	default:
		return "MoveEndpointKind(" + strconv.FormatInt(int64(i), 10) + ")"
	}
}
