func (m *macro) IsReceiverStyle() bool {
	return m.receiverStyle
}
IsReceiverStyle returns whether the macro is receiver style.
package parser
import (
	"fmt"
	"github.com/google/cel-go/common"
	"github.com/google/cel-go/common/operators"
	exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1"
)
func NewGlobalMacro(function string, argCount int, expander MacroExpander) Macro {
	return &macro{
		function: function,
		argCount: argCount,
		expander: expander}
}
func NewReceiverMacro(function string, argCount int, expander MacroExpander) Macro {
	return &macro{
		function:      function,
		argCount:      argCount,
		expander:      expander,
		receiverStyle: true}
}
func NewGlobalVarArgMacro(function string, expander MacroExpander) Macro {
	return &macro{
		function:    function,
		expander:    expander,
		varArgStyle: true}
}
func NewReceiverVarArgMacro(function string, expander MacroExpander) Macro {
	return &macro{
		function:      function,
		expander:      expander,
		receiverStyle: true,
		varArgStyle:   true}
}
type Macro interface {
	Function() string
	ArgCount() int
	IsReceiverStyle() bool
	MacroKey() string
	Expander() MacroExpander
}
type macro struct {
	function      string
	receiverStyle bool
	varArgStyle   bool
	argCount      int
	expander      MacroExpander
}
func (m *macro) Function() string {
	return m.function
}
func (m *macro) ArgCount() int {
	return m.argCount
}