csources_v2/c_code/4_9/@m..@slib@spure@sunicode.nim.c
2022-12-16 10:54:01 +08:00

572 lines
16 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 64
#include "nimbase.h"
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct TNimTypeV2 TNimTypeV2;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
typedef struct {
N_NIMCALL_PTR(NimStringV2, ClP_0) (NimStringV2 key, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
N_LIB_PRIVATE N_NIMCALL(NI, runeLenAt__pureZunicode_94)(NIM_CHAR* s, NI sLen_0, NI i);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NIM_BOOL, lteqpercent___system_1059)(NI32 x, NI32 y);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s);
static N_INLINE(void, nimIncRefCyclic)(void* p, NIM_BOOL cyclic);
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3166)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
static const struct {
NI cap; NIM_CHAR data[0+1];
} TM__e1RUVS0Bw7xmj9cnDPXLJMQ_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__e1RUVS0Bw7xmj9cnDPXLJMQ_3 = {0, (NimStrPayload*)&TM__e1RUVS0Bw7xmj9cnDPXLJMQ_2};
extern NIM_BOOL nimInErrorMode__system_4003;
N_LIB_PRIVATE N_NIMCALL(NI, nucruneLen)(NIM_CHAR* s, NI sLen_0) {
NI result;
NI i;
result = (NI)0;
result = ((NI)0);
i = ((NI)0);
{
while (1) {
if (!(i < sLen_0)) goto LA2 ;
{
if (!((NU64)(((NU) (((NU8)(s[i]))))) <= (NU64)(((NU)127)))) goto LA5_;
i += ((NI)1);
}
goto LA3_;
LA5_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)5))) == ((NU)6))) goto LA8_;
i += ((NI)2);
}
goto LA3_;
LA8_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)4))) == ((NU)14))) goto LA11_;
i += ((NI)3);
}
goto LA3_;
LA11_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)3))) == ((NU)30))) goto LA14_;
i += ((NI)4);
}
goto LA3_;
LA14_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)2))) == ((NU)62))) goto LA17_;
i += ((NI)5);
}
goto LA3_;
LA17_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)1))) == ((NU)126))) goto LA20_;
i += ((NI)6);
}
goto LA3_;
LA20_: ;
{
i += ((NI)1);
}
LA3_: ;
result += ((NI)1);
} LA2: ;
}
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, runeLenAt__pureZunicode_94)(NIM_CHAR* s, NI sLen_0, NI i) {
NI result;
result = (NI)0;
{
if (!((NU64)(((NU) (((NU8)(s[i]))))) <= (NU64)(((NU)127)))) goto LA3_;
result = ((NI)1);
}
goto LA1_;
LA3_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)5))) == ((NU)6))) goto LA6_;
result = ((NI)2);
}
goto LA1_;
LA6_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)4))) == ((NU)14))) goto LA9_;
result = ((NI)3);
}
goto LA1_;
LA9_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)3))) == ((NU)30))) goto LA12_;
result = ((NI)4);
}
goto LA1_;
LA12_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)2))) == ((NU)62))) goto LA15_;
result = ((NI)5);
}
goto LA1_;
LA15_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)1))) == ((NU)126))) goto LA18_;
result = ((NI)6);
}
goto LA1_;
LA18_: ;
{
result = ((NI)1);
}
LA1_: ;
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_4003);
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, runeOffset__pureZunicode_794)(NIM_CHAR* s, NI sLen_0, NI pos, NI start) {
NI result;
NI i;
NI o;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
i = ((NI)0);
o = start;
{
while (1) {
NI T3_;
if (!(i < ((NI) (pos)))) goto LA2 ;
T3_ = (NI)0;
T3_ = runeLenAt__pureZunicode_94(s, sLen_0, o);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
o += ((NI) (T3_));
{
if (!(sLen_0 <= ((NI) (o)))) goto LA6_;
result = ((NI)-1);
goto BeforeRet_;
}
LA6_: ;
i += ((NI)1);
} LA2: ;
}
result = ((NI) (o));
goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, validateUtf8__pureZunicode_329)(NIM_CHAR* s, NI sLen_0) {
NI result;
NI i;
NI L;
{ result = (NI)0;
i = ((NI)0);
L = sLen_0;
{
while (1) {
if (!(i < L)) goto LA2 ;
{
if (!((NU64)(((NU) (((NU8)(s[i]))))) <= (NU64)(((NU)127)))) goto LA5_;
i += ((NI)1);
}
goto LA3_;
LA5_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)5))) == ((NU)6))) goto LA8_;
{
if (!((NU64)(((NU) (((NU8)(s[i]))))) < (NU64)(((NU)194)))) goto LA12_;
result = i;
goto BeforeRet_;
}
LA12_: ;
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = ((NI)(i + ((NI)1)) < L);
if (!(T16_)) goto LA17_;
T16_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)1))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA17_: ;
if (!T16_) goto LA18_;
i += ((NI)2);
}
goto LA14_;
LA18_: ;
{
result = i;
goto BeforeRet_;
}
LA14_: ;
}
goto LA3_;
LA8_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)4))) == ((NU)14))) goto LA22_;
{
NIM_BOOL T26_;
NIM_BOOL T27_;
T26_ = (NIM_BOOL)0;
T27_ = (NIM_BOOL)0;
T27_ = ((NI)(i + ((NI)2)) < L);
if (!(T27_)) goto LA28_;
T27_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)1))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA28_: ;
T26_ = T27_;
if (!(T26_)) goto LA29_;
T26_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)2))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA29_: ;
if (!T26_) goto LA30_;
i += ((NI)3);
}
goto LA24_;
LA30_: ;
{
result = i;
goto BeforeRet_;
}
LA24_: ;
}
goto LA3_;
LA22_: ;
{
if (!((NU)((NU64)(((NU) (((NU8)(s[i]))))) >> (NU64)(((NI)3))) == ((NU)30))) goto LA34_;
{
NIM_BOOL T38_;
NIM_BOOL T39_;
NIM_BOOL T40_;
T38_ = (NIM_BOOL)0;
T39_ = (NIM_BOOL)0;
T40_ = (NIM_BOOL)0;
T40_ = ((NI)(i + ((NI)3)) < L);
if (!(T40_)) goto LA41_;
T40_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)1))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA41_: ;
T39_ = T40_;
if (!(T39_)) goto LA42_;
T39_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)2))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA42_: ;
T38_ = T39_;
if (!(T38_)) goto LA43_;
T38_ = ((NU)((NU64)(((NU) (((NU8)(s[(NI)(i + ((NI)3))]))))) >> (NU64)(((NI)6))) == ((NU)2));
LA43_: ;
if (!T38_) goto LA44_;
i += ((NI)4);
}
goto LA36_;
LA44_: ;
{
result = i;
goto BeforeRet_;
}
LA36_: ;
}
goto LA3_;
LA34_: ;
{
result = i;
goto BeforeRet_;
}
LA3_: ;
} LA2: ;
}
result = ((NI)-1);
goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZunicode_1065)(NI32 a, NI32 b) {
NIM_BOOL result;
{ result = (NIM_BOOL)0;
result = (((NI) (a)) == ((NI) (b)));
goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, size__pureZunicode_5855)(NI32 r) {
NI result;
NU32 v;
result = (NI)0;
v = ((NU32) (r));
{
if (!((NU32)(v) <= (NU32)(((NU32)127)))) goto LA3_;
result = ((NI)1);
}
goto LA1_;
LA3_: ;
{
if (!((NU32)(v) <= (NU32)(((NU32)2047)))) goto LA6_;
result = ((NI)2);
}
goto LA1_;
LA6_: ;
{
if (!((NU32)(v) <= (NU32)(((NU32)65535)))) goto LA9_;
result = ((NI)3);
}
goto LA1_;
LA9_: ;
{
if (!((NU32)(v) <= (NU32)(((NU32)2097151)))) goto LA12_;
result = ((NI)4);
}
goto LA1_;
LA12_: ;
{
if (!((NU32)(v) <= (NU32)(((NU32)67108863)))) goto LA15_;
result = ((NI)5);
}
goto LA1_;
LA15_: ;
{
if (!((NU32)(v) <= (NU32)(((NU32)2147483647)))) goto LA18_;
result = ((NI)6);
}
goto LA1_;
LA18_: ;
{
result = ((NI)1);
}
LA1_: ;
return result;
}
static N_INLINE(NIM_BOOL, lteqpercent___system_1059)(NI32 x, NI32 y) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = ((NU32)(((NU32) (x))) <= (NU32)(((NU32) (y))));
return result;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_2301(s);
}
LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nuctoUTF8)(NI32 c) {
NimStringV2 result;
NI32 iX60gensym21_;
result.len = 0; result.p = NIM_NIL;
result = TM__e1RUVS0Bw7xmj9cnDPXLJMQ_3;
iX60gensym21_ = c;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)127));
if (!T3_) goto LA4_;
setLengthStrV2((&result), ((NI)1));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) (iX60gensym21_))));
}
goto LA1_;
LA4_: ;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)2047));
if (!T7_) goto LA8_;
setLengthStrV2((&result), ((NI)2));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)6))) | ((NI32)192))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym21_ & ((NI32)63)) | ((NI32)128))))));
}
goto LA1_;
LA8_: ;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)65535));
if (!T11_) goto LA12_;
setLengthStrV2((&result), ((NI)3));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)12))) | ((NI32)224))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)6))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym21_ & ((NI32)63)) | ((NI32)128))))));
}
goto LA1_;
LA12_: ;
{
NIM_BOOL T15_;
T15_ = (NIM_BOOL)0;
T15_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)2097151));
if (!T15_) goto LA16_;
setLengthStrV2((&result), ((NI)4));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)18))) | ((NI32)240))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)12))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)6))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym21_ & ((NI32)63)) | ((NI32)128))))));
}
goto LA1_;
LA16_: ;
{
NIM_BOOL T19_;
T19_ = (NIM_BOOL)0;
T19_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)67108863));
if (!T19_) goto LA20_;
setLengthStrV2((&result), ((NI)5));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)24))) | ((NI32)248))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)18))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)12))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)6))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)4)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym21_ & ((NI32)63)) | ((NI32)128))))));
}
goto LA1_;
LA20_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = lteqpercent___system_1059(iX60gensym21_, ((NI32)2147483647));
if (!T23_) goto LA24_;
setLengthStrV2((&result), ((NI)6));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)30))) | ((NI32)252))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)24))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)18))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)12))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)4)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI64)(iX60gensym21_) >> (NU64)(((NI)6))) & ((NI32)63)) | ((NI32)128))))));
nimPrepareStrMutationV2((&result));
result.p->data[((NI)5)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym21_ & ((NI32)63)) | ((NI32)128))))));
}
goto LA1_;
LA24_: ;
{
}
LA1_: ;
return result;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(void, nimIncRefCyclic)(void* p, NIM_BOOL cyclic) {
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* h;
NI T1_;
T1_ = (NI)0;
T1_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
h = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T1_));
(*h).rc += ((NI)16);
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3166(result, cell, (*((TNimTypeV2**) (p))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZunicode_3668)(tyProc__oFHfEKFsiYTMAy9a42cSiKw* dest, tyProc__oFHfEKFsiYTMAy9a42cSiKw src, NIM_BOOL cyclic) {
void* colontmp_;
colontmp_ = (*dest).ClE_0;
{
if (!src.ClE_0) goto LA3_;
nimIncRefCyclic(src.ClE_0, cyclic);
}
LA3_: ;
(*dest).ClE_0 = src.ClE_0;
(*dest).ClP_0 = src.ClP_0;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = nimDecRefIsLastCyclicDyn(colontmp_);
if (!T7_) goto LA8_;
nimDestroyAndDispose(colontmp_);
}
LA8_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZunicode_3665)(tyProc__oFHfEKFsiYTMAy9a42cSiKw* dest) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLastCyclicDyn((*dest).ClE_0);
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest).ClE_0);
}
LA4_: ;
}