generateInternalLink method

String generateInternalLink(
  1. bool includePreview
)

generating an internal acter:-link

Implementation

String generateInternalLink(bool includePreview) {
  final tmp1 = includePreview;
  var tmp0 = 0;
  var tmp2 = 0;
  tmp0 = _box.borrow();
  tmp2 = tmp1 ? 1 : 0;
  final tmp3 = _api._refDetailsGenerateInternalLink(tmp0, tmp2);
  final tmp5 = tmp3.arg0;
  final tmp6 = tmp3.arg1;
  final tmp7 = tmp3.arg2;
  final tmp8 = tmp3.arg3;
  final tmp9 = tmp3.arg4;
  final tmp10 = tmp3.arg5;
  final tmp11 = tmp3.arg6;
  if (tmp5 == 0) {
    debugAllocation("handle error", tmp6, tmp7);
    final ffi.Pointer<ffi.Uint8> tmp6_0 = ffi.Pointer.fromAddress(tmp6);
    final tmp5_0 = utf8.decode(
      tmp6_0.asTypedList(tmp7),
      allowMalformed: true,
    );
    if (tmp7 > 0) {
      final ffi.Pointer<ffi.Void> tmp6_0;
      tmp6_0 = ffi.Pointer.fromAddress(tmp6);
      _api.__deallocate(tmp6_0, tmp8, 1);
    }
    throw tmp5_0;
  }
  if (tmp10 == 0) {
    print("returning empty string");
    return "";
  }
  final ffi.Pointer<ffi.Uint8> tmp9_ptr = ffi.Pointer.fromAddress(tmp9);
  List<int> tmp9_buf = [];
  final tmp9_precast = tmp9_ptr.cast<ffi.Uint8>();
  for (int i = 0; i < tmp10; i++) {
    int char = tmp9_precast.elementAt(i).value;
    tmp9_buf.add(char);
  }
  final tmp4 = utf8.decode(tmp9_buf, allowMalformed: true);
  if (tmp11 > 0) {
    final ffi.Pointer<ffi.Void> tmp9_0;
    tmp9_0 = ffi.Pointer.fromAddress(tmp9);
    _api.__deallocate(tmp9_0, tmp11 * 1, 1);
  }
  return tmp4;
}