td = ReservedTypeDescriptor.INT;
}
+ public abstract boolean equals(Map remap, Expr e) {
+ if (e==null)
+ return false;
+ else if (!e instanceof BooleanLiteralExpr)
+ return false;
+ else return (((BooleanLiteralExpr)e).value==value);
+ }
+
public boolean getValue() {
return value;
}
this.expr = expr;
}
+ public abstract boolean equals(Map remap, Expr e) {
+ if (e==null)
+ return false;
+ else if (!e instanceof CastExpr)
+ return false;
+ else return ((this.type==((CastExpr)e).type)&&equals(remap,expr,((CastExpr)e).expr));
+ }
+
public Set getRequiredDescriptors() {
return expr.getRequiredDescriptors();
}
UpdateNode un=mun.getUpdate(i);
for (int j=0;j<un.numUpdates();j++) {
Updates update=un.getUpdate(j);
- Descriptor des=update.getDescriptor();
DNFRule drule=r.getDNFGuardExpr();
for(int k=0;k<drule.size();k++) {
RuleConjunction rconj=drule.get(k);
for(int l=0;l<rconj.size();l++) {
DNFExpr dexpr=rconj.get(l);
+ /* See if update interfers w/ dexpr */
+ Descriptor updatedes=update.getDescriptor();
}
}
}
return false;
}
-
-
}
public Expr() {}
+ public abstract boolean equals(Map remap, Expr e);
+
public abstract Set getRequiredDescriptors();
public abstract void generate(CodeWriter writer, VarDescriptor dest);
td = ReservedTypeDescriptor.INT;
}
+ public abstract boolean equals(Map remap, Expr e) {
+ if (e==null)
+ return false;
+ else if (!e instanceof IntegerLiteralExpr)
+ return false;
+ else return (((IntegerLiteralExpr)e).value==value);
+ }
+
public int getValue() {
return value;
}
boolean foundall=true;
if ((q instanceof SetQuantifier)||(q instanceof ForQuantifier)) {
VarDescriptor vd=null;
- if (q instanceof SetQuantifier)
+ SetDescriptor set=null;
+ if (q instanceof SetQuantifier) {
vd=((SetQuantifier)q).getVar();
- else
+ } else
vd=((ForQuantifier)q).getVar();
if(inc instanceof SetInclusion) {
SetInclusion si=(SetInclusion)inc;
}
}
+ public abstract boolean equals(Map remap, Expr e) {
+ if (e==null)
+ return false;
+ else if (!e instanceof TokenLiteralExpr)
+ return false;
+ else return ((BooleanLiteralExpr)e).num.equals(num);
+ }
+
public String getValue() {
return token;
}