Lines Matching refs:rule

47 	rules    map[string]*rule
52 suffixRules map[string][]*rule
53 firstRule *rule
69 rule *rule member
84 func (rt *ruleTrie) add(name string, r *rule) {
89 rule: r,
102 func (rt *ruleTrie) lookup(name string) []*rule {
107 var rules []*rule
110 rules = append(rules, entry.rule)
151 func (db *depBuilder) canPickImplicitRule(r *rule, output string) bool {
186 func (db *depBuilder) pickRule(output string) (*rule, Vars, bool) {
210 ir := &rule{}
249 sr := &rule{}
267 func expandInputs(rule *rule, output string) []string { argument
269 for _, input := range rule.inputs {
270 if len(rule.outputPatterns) > 0 {
271 if len(rule.outputPatterns) != 1 {
274 input = intern(rule.outputPatterns[0].subst(input, output))
275 } else if rule.isSuffixRule {
298 rule, vars, present := db.pickRule(output)
341 inputs := expandInputs(rule, output)
342 glog.Infof("Evaluating command: %s inputs:%q => %q", output, rule.inputs, inputs)
356 for _, input := range rule.orderOnlyInputs {
370 n.Cmds = rule.cmds
379 n.Filename = rule.filename
380 if len(rule.cmds) > 0 {
381 if rule.cmdLineno > 0 {
382 n.Lineno = rule.cmdLineno
384 n.Lineno = rule.lineno
390 func (db *depBuilder) populateSuffixRule(r *rule, output string) bool {
405 sr := &rule{}
409 db.suffixRules[outputSuffix] = append([]*rule{sr}, db.suffixRules[outputSuffix]...)
413 func mergeRules(oldRule, r *rule, output string, isSuffixRule bool) (*rule, error) { argument
422 mr := &rule{}
445 func expandPattern(r *rule) []*rule { argument
447 return []*rule{r}
450 return []*rule{r}
452 var rules []*rule
455 nr := new(rule)
469 func (db *depBuilder) populateExplicitRule(r *rule) error {
495 func (db *depBuilder) populateImplicitRule(r *rule) {
497 ir := &rule{}
539 rules: make(map[string]*rule),
542 suffixRules: make(map[string][]*rule),
554 rule, present := db.rules[".PHONY"]
556 for _, input := range rule.inputs {