// Code generated by "stringer -bitset -type ActualExprPropBits"; DO NOT EDIT.

package inlheur

import "strconv"
import "bytes"

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[ActualExprConstant-1]
	_ = x[ActualExprIsConcreteConvIface-2]
	_ = x[ActualExprIsFunc-4]
	_ = x[ActualExprIsInlinableFunc-8]
}

var _ActualExprPropBits_value = [...]uint64{
	0x1, /* ActualExprConstant */
	0x2, /* ActualExprIsConcreteConvIface */
	0x4, /* ActualExprIsFunc */
	0x8, /* ActualExprIsInlinableFunc */
}

const _ActualExprPropBits_name = "ActualExprConstantActualExprIsConcreteConvIfaceActualExprIsFuncActualExprIsInlinableFunc"

var _ActualExprPropBits_index = [...]uint8{0, 18, 47, 63, 88}

func (i ActualExprPropBits) String() string {
	var b bytes.Buffer

	remain := uint64(i)
	seen := false

	for k, v := range _ActualExprPropBits_value {
		x := _ActualExprPropBits_name[_ActualExprPropBits_index[k]:_ActualExprPropBits_index[k+1]]
		if v == 0 {
			if i == 0 {
				b.WriteString(x)
				return b.String()
			}
			continue
		}
		if (v & remain) == v {
			remain &^= v
			x := _ActualExprPropBits_name[_ActualExprPropBits_index[k]:_ActualExprPropBits_index[k+1]]
			if seen {
				b.WriteString("|")
			}
			seen = true
			b.WriteString(x)
		}
	}
	if remain == 0 {
		return b.String()
	}
	return "ActualExprPropBits(0x" + strconv.FormatInt(int64(i), 16) + ")"
}
