func NewRule(kind, name string) *Rule {
	nameAttr := &bzl.AssignExpr{
		LHS: &bzl.Ident{Name: "name"},
		RHS: &bzl.StringExpr{Value: name},
		Op:  "=",
	}
	r := &Rule{
		stmt: stmt{
			expr: &bzl.CallExpr{
				X:    &bzl.Ident{Name: kind},
				List: []bzl.Expr{nameAttr},
			},
		},
		kind:    kind,
		attrs:   map[string]*bzl.AssignExpr{"name": nameAttr},
		private: map[string]interface{}{},
	}
	return r
}
func NewRule(kind, name string) *Rule {
	nameAttr := &bzl.AssignExpr{
		LHS: &bzl.Ident{Name: "name"},
		RHS: &bzl.StringExpr{Value: name},
		Op:  "=",
	}
	r := &Rule{
		stmt: stmt{
			expr: &bzl.CallExpr{
				X:    &bzl.Ident{Name: kind},
				List: []bzl.Expr{nameAttr},
			},
		},
		kind:    kind,
		attrs:   map[string]*bzl.AssignExpr{"name": nameAttr},
		private: map[string]interface{}{},
	}
	return r
}
func NewRule ( kind , name string ) * Rule { nameAttr := & bzl . AssignExpr { LHS : & bzl . Ident { Name : " " } , RHS : & bzl . StringExpr { Value : name } , Op : " " , } r := & Rule { stmt : stmt { expr : & bzl . CallExpr { X : & bzl . Ident { Name : kind } , List : [ ] bzl . Expr { nameAttr } , } , } , kind : kind , attrs : map [ string ] * bzl . AssignExpr { " " : nameAttr } , private : map [ string ] interface { } { } , } return r }
// NewRule creates a new, empty rule with the given kind and name.
NewRule creates a new empty rule with the given kind and name .