func (ps *printState) isEmpty(a AST) bool {
	switch a := a.(type) {
	case *ArgumentPack:
		return len(a.Args) == 0
	case *ExprList:
		return len(a.Exprs) == 0
	case *PackExpansion:
		return a.Pack != nil && ps.isEmpty(a.Base)
	default:
		return false
	}
}
func (ps *printState) isEmpty(a AST) bool {
	switch a := a.(type) {
	case *ArgumentPack:
		return len(a.Args) == 0
	case *ExprList:
		return len(a.Exprs) == 0
	case *PackExpansion:
		return a.Pack != nil && ps.isEmpty(a.Base)
	default:
		return false
	}
}
func ( ps * printState ) isEmpty ( a AST ) bool { switch a := a . ( type ) { case * ArgumentPack : return len ( a . Args ) == 0 case * ExprList : return len ( a . Exprs ) == 0 case * PackExpansion : return a . Pack != nil && ps . isEmpty ( a . Base ) default : return false } }
// isEmpty returns whether printing a will not print anything.
isEmpty returns whether printing a will not print anything .