Singleton for managing iterations of the IDE analysis.
return Objects.equal(this.stmt, locationIdentifier.stmt)
&& Objects.equal(this.symbol, locationIdentifier.symbol)
&& Objects.equal(this.field, locationIdentifier.field)
&& Objects.equal(this.type, locationIdentifier.type)
Determines if a fixed point has been reached or there are no undetermined values.
- True if a fixed point has been reached or there are no undetermined values.
Initializes the iteration manager before an iteration. This should be called before every
propagationSolver The solver from the previous iteration, or null if this is the first
Generates a set of field transformers that represent the influence of a referenced value. This
is used when the argument of a COAL modifier is a value that is itself modeled with COAL. In
this case, once the referenced value is known, we generate field transformers that take all the
possible values of the argument into account. The argument may have more than one value, which
is why the return type is a set.
stmt The call statement that references another COAL value.
symbol The variable (referenced COAL value) whose value should be determined.
field The field that the transformer should operate on.
type The type of the field.
operation The operation to be performed.
- The set of field transformers that represent the influence of the referenced value.
logger.debug("Making transformer for " + symbol + " for " + field + " at \n" + stmt);
solver, operation, returnedTop);