(Decl d)
| 293 | } |
| 294 | |
| 295 | @Override |
| 296 | public void visitDeclaration(Decl d) { |
| 297 | // NOTE: this is needed to prevent traversal into type invariants, etc. |
| 298 | if (d instanceof Decl.Lambda) { |
| 299 | // NOTE: must account for variable capture here |
| 300 | Decl.Lambda l = (Decl.Lambda) d; |
| 301 | HashSet<Decl.Variable> tmp = new HashSet<>(); |
| 302 | // Traverse quantify body |
| 303 | super.visitLambda(l); |
| 304 | // Remove all captured variables |
| 305 | for (Decl.Variable v : l.getParameters()) { |
| 306 | tmp.remove(v); |
| 307 | } |
| 308 | // Done |
| 309 | uses.addAll(tmp); |
| 310 | } |
| 311 | } |
| 312 | |
| 313 | @Override |
| 314 | public void visitUniversalQuantifier(Expr.UniversalQuantifier q) { |
nothing calls this directly
no test coverage detected