5 public class SetQuantifier extends Quantifier {
10 public SetQuantifier() {
14 public void setVar(VarDescriptor vd) {
18 public void setSet(SetDescriptor sd) {
22 public Set getRequiredDescriptors() {
23 HashSet v = new HashSet();
28 public VarDescriptor getVar() {
32 public SetDescriptor getSet() {
36 public String toString() {
37 return "set quantifier " + var.getSymbol() + " in " + set.getSymbol();
40 public void generate_open(CodeWriter writer) {
41 writer.outputline("for (SimpleIterator* " + var.getSafeSymbol() + "_iterator = " + set.getSafeSymbol() + "_hash->iterator(); " + var.getSafeSymbol() + "_iterator->hasNext(); )");
43 writer.outputline(var.getType().getGenerateType() + " " + var.getSafeSymbol() + " = (" + var.getType().getGenerateType() + ") " + var.getSafeSymbol() + "_iterator->next();");
46 public int generate_worklistload(CodeWriter writer, int offset) {
47 String varname = var.getSafeSymbol();
48 writer.outputline("int " + varname + " = wi->word" + offset + ";");
52 public int generate_workliststore(CodeWriter writer, int offset) {
53 String varname = var.getSafeSymbol();
54 writer.outputline("wi->word" + offset + " = " + varname + ";");