buildSort method

  1. @override
Z3_sort buildSort(
  1. Context c
)
override

Implementation

@override
Z3_sort buildSort(Context c) {
  final constructorPtr = calloc<Z3_constructor>(constructors.length);
  try {
    for (var i = 0; i < constructors.length; i++) {
      constructorPtr[i] = constructors[i].buildConstructor(c);
    }
    final result = c._z3.mk_datatype(
      c._createSymbol(name),
      constructors.length,
      constructorPtr,
    );
    for (var i = 0; i < constructors.length; i++) {
      c._z3.del_constructor(constructorPtr[i]);
    }
    return result;
  } finally {
    malloc.free(constructorPtr);
  }
}