operator []= method

void operator []=(
  1. String key,
  2. Object value
)

Sets a parameter to a value.

Supported types are String, int, double, bool, and Sym.

Implementation

operator []=(String key, Object value) {
  final k = _c._createSymbol(StringSym(key));
  if (value is String) {
    final v = _c._createSymbol(StringSym(value));
    _c._z3.params_set_symbol(_params, k, v);
  } else if (value is int) {
    _c._z3.params_set_uint(_params, k, value);
  } else if (value is double) {
    _c._z3.params_set_double(_params, k, value);
  } else if (value is bool) {
    _c._z3.params_set_bool(_params, k, value);
  } else if (value is Sym) {
    _c._z3.params_set_symbol(_params, k, _c._createSymbol(value));
  } else {
    throw ArgumentError.value(
      value,
      'value',
      'must be String, int, double, bool, or Sym, got ${value.runtimeType}',
    );
  }
}