@Override public ASTNode visit(org.kframework.kil.SetUpdate node, Void _void) { Variable set = (Variable) this.visitNode(node.set()); HashSet<Term> removeSet = new HashSet<>(node.removeEntries().size()); for (org.kframework.kil.Term term : node.removeEntries()) { removeSet.add((Term) this.visitNode(term)); } return DataStructures.setDifference(set, removeSet, termContext); }
@Override public ASTNode transform(org.kframework.kil.SetUpdate node) throws TransformerException { Variable set = (Variable) node.set().accept(this); HashSet<Term> removeSet = new HashSet<Term>(node.removeEntries().size()); for (org.kframework.kil.Term term : node.removeEntries()) { removeSet.add((Term) term.accept(this)); } return new SetUpdate(set, removeSet); }