@@ -48,6 +48,15 @@ class ai_domain_baset
48
48
// b) there is an edge from the last instruction (END_FUNCTION)
49
49
// of the function to the instruction _following_ the call site
50
50
// (this also needs to set the LHS, if applicable)
51
+ //
52
+ // "this" is the domain before the instruction "from"
53
+ // "from" is the instruction to be interpretted
54
+ // "to" is the next instruction (for GOTO, FUNCTION_CALL, END_FUNCTION)
55
+ //
56
+ // PRECONDITION(from.is_dereferenceable(), "Must not be _::end()")
57
+ // PRECONDITION(to.is_dereferenceable(), "Must not be _::end()")
58
+ // PRECONDITION(are_comparable(from,to) ||
59
+ // (from->is_function_call() || from->is_end_function())
51
60
52
61
virtual void transform (
53
62
locationt from,
@@ -90,6 +99,11 @@ class ai_domain_baset
90
99
//
91
100
// This computes the join between "this" and "b".
92
101
// Return true if "this" has changed.
102
+ // In the usual case, "b" is the updated state after "from"
103
+ // and "this" is the state before "to".
104
+ //
105
+ // PRECONDITION(from.is_dereferenceable(), "Must not be _::end()")
106
+ // PRECONDITION(to.is_dereferenceable(), "Must not be _::end()")
93
107
94
108
// This method allows an expression to be simplified / evaluated using the
95
109
// current state. It is used to evaluate assertions and in program
0 commit comments