case XPR_TOK:
case XPR_FTDEFAULT:
case XPR_DEFAULT:
- case XPR_SWITCH:
+ // case XPR_SWITCH:
case XPR_FTCASE:
case XPR_CASE:
// case XPR_INIT:
case XPR_BLOCK:
case XPR_STMT:
case XPR_STMTLIST:
+ case XPR_SWITCH:
return TRUE;
default:
return FALSE;
exprData data;
data = e->edata;
- llassert(FALSE);
- //DPRINTF (( message ("doSwitch for: switch (%s) %s",
- // exprNode_unparse (exprData_getPairA (data)),
- // exprNode_unparse (exprData_getPairB (data))) ));
-
+ // llassert(FALSE);
+ DPRINTF (( message ("doSwitch for: switch (%s) %s",
+ exprNode_unparse (exprData_getPairA (data)),
+ exprNode_unparse (exprData_getPairB (data))) ));
+
body = exprData_getPairB (data);
- // exprNode_generateConstraints(body);
+ exprNode_generateConstraints(body);
- // e->requiresConstraints = constraintList_copy ( body->requiresConstraints );
- //e->ensuresConstraints = constraintList_copy ( body->ensuresConstraints );
+ constraintList_free(e->requiresConstraints);
+ constraintList_free(e->ensuresConstraints);
+
+ e->requiresConstraints = NULL;
+ e->ensuresConstraints = NULL;
+
+ e->requiresConstraints = constraintList_copy ( body->requiresConstraints );
+ e->ensuresConstraints = constraintList_copy ( body->ensuresConstraints );
return e;
}
exprData data;
constraintList ret;
- if (exprNode_handleError (e))
- {
- ret = constraintList_makeNew();
- return ret;
- }
+ if (exprNode_handleError (e))
+ {
+ ret = constraintList_makeNew();
+ return ret;
+ }
ret = constraintList_copy (e->trueEnsuresConstraints );
- handledExprNode = TRUE;
+ handledExprNode = TRUE;
data = e->edata;
ret = constraintList_addListFree (ret, exprNode_traversTrueEnsuresConstraints
(exprData_getUopNode (data) ) );
break;
+
+ case XPR_INIT:
+ ret = constraintList_addListFree (ret,
+ exprNode_traversTrueEnsuresConstraints
+ (exprData_getInitNode (data) ) );
+ break;
+
+
case XPR_ASSIGN:
ret = constraintList_addListFree (ret,
exprNode_traversTrueEnsuresConstraints
ret = constraintList_addListFree (ret, exprNode_traversFalseEnsuresConstraints
(exprData_getUopNode (data) ) );
break;
+ case XPR_INIT:
+ ret = constraintList_addListFree (ret,
+ exprNode_traversFalseEnsuresConstraints
+ ( exprData_getInitNode (data) ) );
+ break;
+
case XPR_ASSIGN:
ret = constraintList_addListFree (ret,
exprNode_traversFalseEnsuresConstraints
ret = constraintList_addListFree (ret, exprNode_traversRequiresConstraints
(exprData_getUopNode (data) ) );
break;
+ case XPR_INIT:
+ ret = constraintList_addListFree (ret,
+ exprNode_traversRequiresConstraints
+ (exprData_getInitNode (data) ) );
+ break;
+
case XPR_ASSIGN:
ret = constraintList_addListFree (ret,
exprNode_traversRequiresConstraints
ret = constraintList_addListFree (ret, exprNode_traversEnsuresConstraints
(exprData_getUopNode (data) ) );
break;
+
+ case XPR_INIT:
+ ret = constraintList_addListFree (ret,
+ exprNode_traversEnsuresConstraints
+ (exprData_getInitNode (data) ) );
+ break;
+
+
case XPR_ASSIGN:
ret = constraintList_addListFree (ret,
exprNode_traversEnsuresConstraints