(transform *ast.Transform, vardefs map[ast.Variable]bool, varuse map[ast.Variable]bool)
| 815 | } |
| 816 | |
| 817 | func addTransformVars(transform *ast.Transform, vardefs map[ast.Variable]bool, varuse map[ast.Variable]bool) { |
| 818 | if transform == nil { |
| 819 | return |
| 820 | } |
| 821 | for _, transformStmt := range transform.Statements { |
| 822 | if transformStmt.Var != nil { |
| 823 | vardefs[*transformStmt.Var] = true |
| 824 | } |
| 825 | for _, baseTerm := range transformStmt.Fn.Args { |
| 826 | ast.AddVars(baseTerm, varuse) |
| 827 | } |
| 828 | } |
| 829 | } |
| 830 | |
| 831 | func checkAtomArity(atom ast.Atom) error { |
| 832 | if atom.Predicate.Arity != len(atom.Args) { |