func (*placeholderMapSource) CallMode() CallMode {
	return ModeUnknownMapCall
}
CallMode Returns the call mode for a call which depends on this source.
package syntax
import (
	"fmt"
	"strings"
)
type CallMode int
const (
	ModeSingleCall = CallMode(iota)
	ModeArrayCall
	ModeMapCall
	ModeUnknownMapCall
	ModeNullMapCall
)
func (m CallMode) MarshalText() ([]byte, error) {
	switch m {
	case ModeSingleCall:
		return nil, nil
	case ModeArrayCall:
		return []byte(KindArray), nil
	case ModeMapCall:
		return []byte(KindMap), nil
	case ModeUnknownMapCall:
		return []byte("unknown"), nil
	}
	return nil, fmt.Errorf("invalid map call mode %d", m)
}
func (m *CallMode) UnmarshalText(b []byte) error {
	if len(b) == 0 || isNullBytes(b) {
		*m = 0
		return nil
	}
	switch ExpKind(b) {
	case KindArray:
		*m = ModeArrayCall
	case KindMap:
		*m = ModeMapCall
	case "unknown":
		*m = ModeUnknownMapCall
	default:
		return fmt.Errorf("invalid map call mode %s", string(b))
	}
	return nil
}
func (m CallMode) String() string {
	switch m {
	case ModeSingleCall:
		return "simple"
	case ModeArrayCall:
		return string(KindArray)
	case ModeMapCall:
		return string(KindMap)
	case ModeUnknownMapCall:
		return "unknown"
	case ModeNullMapCall:
		return string(KindNull)
	}
	return "invalid"
}
type MapCallSource interface {
	fmt.GoStringer
	CallMode() CallMode
	KnownLength() bool
	ArrayLength() int
	Keys() map[string]Exp
}
type placeholderMapSource struct{}
var mapSourcePlaceholder placeholderMapSource