@@ -0,0 +1,605 @@
+package bfrc.interpreter.test;%0A%0Aimport java.util.HashSet;%0Aimport java.util.Set;%0A%0Aimport com.google.common.collect.ImmutableSet;%0A%0Aimport bfrc.ast.Node;%0Aimport bfrc.ast.NodeType;%0Aimport bfrc.interpreter.Interpreter.InterpreterListener;%0A%0Apublic class CodeCoverage implements InterpreterListener %7B%0A%0A    private final Set%3CNode%3E visited = new HashSet%3C%3E();%0A%0A    @Override%0A    public void visit(Node n) %7B%0A        if (n.type == NodeType.ROOT)%0A            visited.clear();%0A        else%0A            visited.add(n);%0A    %7D%0A%0A    public Set%3CNode%3E getVisitedNodes() %7B%0A        return ImmutableSet.copyOf(visited);%0A    %7D%0A%7D%0A

introduce code coverage analysis