1318 lines
41 KiB
C
1318 lines
41 KiB
C
/* Generated by Nim Compiler v1.9.0 */
|
|
#define NIM_INTBITS 64
|
|
|
|
#include "nimbase.h"
|
|
#include <string.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 tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
|
|
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
|
|
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
|
|
typedef struct NimStrPayload NimStrPayload;
|
|
typedef struct NimStringV2 NimStringV2;
|
|
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
|
|
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
|
|
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
|
|
typedef struct RootObj RootObj;
|
|
typedef struct TNimTypeV2 TNimTypeV2;
|
|
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
|
|
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
|
|
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
|
|
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
|
|
NU16 line;
|
|
NI16 col;
|
|
NI32 fileIndex;
|
|
};
|
|
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
|
|
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
|
|
struct NimStrPayload {
|
|
NI cap;
|
|
NIM_CHAR data[SEQ_DECL_SIZE];
|
|
};
|
|
struct NimStringV2 {
|
|
NI len;
|
|
NimStrPayload* p;
|
|
};
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
|
|
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
|
|
};
|
|
struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q {
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
|
|
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
|
|
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
|
|
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
|
|
union{
|
|
struct {NI64 intVal;
|
|
} _kind_1;
|
|
struct {NF floatVal;
|
|
} _kind_2;
|
|
struct {NimStringV2 strVal;
|
|
} _kind_3;
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
|
|
} _kind_4;
|
|
struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
|
|
} _kind_5;
|
|
struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons;
|
|
} _kind_6;
|
|
};
|
|
};
|
|
struct TNimTypeV2 {
|
|
void* destructor;
|
|
NI size;
|
|
NI16 align;
|
|
NI16 depth;
|
|
NU32* display;
|
|
void* traceImpl;
|
|
void* typeInfoV1;
|
|
NI flags;
|
|
};
|
|
struct RootObj {
|
|
TNimTypeV2* m_type;
|
|
};
|
|
struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
|
|
NI32 module;
|
|
NI32 item;
|
|
};
|
|
struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ {
|
|
RootObj Sup;
|
|
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId;
|
|
};
|
|
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
|
|
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
|
|
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
|
|
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
|
|
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
|
|
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
|
|
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
|
|
struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA {
|
|
tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k;
|
|
tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage;
|
|
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode;
|
|
NimStringV2 r;
|
|
};
|
|
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
|
|
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
|
|
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
|
|
union{
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
|
|
} _kind_1;
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
|
|
NI bitsize;
|
|
NI alignment;
|
|
} _kind_2;
|
|
};
|
|
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
|
|
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
|
|
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
|
|
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
|
|
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
|
|
NI position;
|
|
NI offset;
|
|
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
|
|
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
|
|
};
|
|
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
|
|
NI id;
|
|
NimStringV2 s;
|
|
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
|
|
NI h;
|
|
};
|
|
typedef NU16 tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA;
|
|
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
|
|
typedef NU8 tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ;
|
|
typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw;
|
|
typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
|
|
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ {
|
|
NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p;
|
|
};
|
|
struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA {
|
|
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
|
|
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
|
|
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
|
|
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
|
|
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
|
|
NI64 size;
|
|
NI16 align;
|
|
NI16 paddingAtEnd;
|
|
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst;
|
|
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId;
|
|
};
|
|
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
|
|
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
static N_INLINE(NIM_BOOL, sameFloatIgnoreNan__trees_59)(NF a, NF b);
|
|
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
|
|
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
|
|
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
|
|
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_1148)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
|
|
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_63)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b, NIM_BOOL strictSymEquality);
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA, whichPragma__trees_251)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA, whichKeyword__idents_287)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* id);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getRoot__trees_397)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg, getMagic__trees_144)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op);
|
|
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_165)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTreeAux__trees_4)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__xxu3GgaFAGO6lOns9aHaeLQ* visited);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4147)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3726)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest, tySequence__xxu3GgaFAGO6lOns9aHaeLQ src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3723)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest);
|
|
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pop__trees_32)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s);
|
|
N_LIB_PRIVATE N_NIMCALL(void, shrink__ast_3748)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, NI newLen);
|
|
N_LIB_PRIVATE N_NIMCALL(void, unnestStmts__trees_346)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3953)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI children);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_178)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL preventInheritance);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__0kvKTJpCwLz5GMPVAM8DVQ_2 = {
|
|
0x10, 0x28, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
|
|
0x00}
|
|
;
|
|
extern NIM_BOOL nimInErrorMode__system_3994;
|
|
static N_INLINE(NIM_BOOL, sameFloatIgnoreNan__trees_59)(NF a, NF b) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL T1_;
|
|
union { NF source; NU64 dest; } LOC2;
|
|
union { NF source; NU64 dest; } LOC3;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (NIM_BOOL)0;
|
|
LOC2.source = a;
|
|
LOC3.source = b;
|
|
T1_ = (LOC2.dest == LOC3.dest);
|
|
if (T1_) goto LA4_;
|
|
T1_ = (a == b);
|
|
LA4_: ;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
|
|
int result;
|
|
result = (int)0;
|
|
result = memcmp(a, b, ((size_t) (size)));
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
|
|
NIM_BOOL result;
|
|
int T1_;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (int)0;
|
|
T1_ = nimCmpMem(a, b, size);
|
|
result = (T1_ == ((NI32)0));
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
|
|
NIM_BOOL result;
|
|
NI alen;
|
|
NI blen;
|
|
{ result = (NIM_BOOL)0;
|
|
alen = a.len;
|
|
blen = b.len;
|
|
{
|
|
if (!(alen == blen)) goto LA3_;
|
|
{
|
|
if (!(alen == ((NI)0))) goto LA7_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA7_: ;
|
|
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI result;
|
|
NI T1_;
|
|
result = (NI)0;
|
|
T1_ = (*n)._kind_6.sons.len;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
|
|
NIM_BOOL* result;
|
|
result = (NIM_BOOL*)0;
|
|
result = (&nimInErrorMode__system_3994);
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_63)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b, NIM_BOOL strictSymEquality) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
if (!(a == b)) goto LA3_;
|
|
result = NIM_TRUE;
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
NIM_BOOL T6_;
|
|
NIM_BOOL T7_;
|
|
T6_ = (NIM_BOOL)0;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = !((a == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
|
|
if (!(T7_)) goto LA8_;
|
|
T7_ = !((b == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
|
|
LA8_: ;
|
|
T6_ = T7_;
|
|
if (!(T6_)) goto LA9_;
|
|
T6_ = ((*a).kind == (*b).kind);
|
|
LA9_: ;
|
|
if (!T6_) goto LA10_;
|
|
switch ((*a).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
{
|
|
if (!strictSymEquality) goto LA15_;
|
|
result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
|
|
}
|
|
goto LA13_;
|
|
LA15_: ;
|
|
{
|
|
result = ((*(*(*a)._kind_4.sym).name).id == (*(*(*b)._kind_4.sym).name).id);
|
|
}
|
|
LA13_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
|
|
{
|
|
result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)15):
|
|
{
|
|
result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)16) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)18):
|
|
{
|
|
result = sameFloatIgnoreNan__trees_59((*a)._kind_2.floatVal, (*b)._kind_2.floatVal);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22):
|
|
{
|
|
result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
|
|
{
|
|
NimStringV2 colontmpD_;
|
|
NimStringV2 colontmpD__2;
|
|
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
|
|
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
|
|
colontmpD_ = comment__ast_1148(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
colontmpD__2 = comment__ast_1148(b);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
result = eqStrings(colontmpD_, colontmpD__2);
|
|
{
|
|
LA23_:;
|
|
}
|
|
{
|
|
eqdestroy___stdZassertions_13((&colontmpD__2));
|
|
eqdestroy___stdZassertions_13((&colontmpD_));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4):
|
|
{
|
|
result = NIM_TRUE;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
{
|
|
NI T30_;
|
|
NI T31_;
|
|
T30_ = (NI)0;
|
|
T30_ = len__ast_3325(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T31_ = (NI)0;
|
|
T31_ = len__ast_3325(b);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(T30_ == T31_)) goto LA32_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA36 ;
|
|
i = i_2;
|
|
{
|
|
NIM_BOOL T39_;
|
|
T39_ = (NIM_BOOL)0;
|
|
T39_ = exprStructuralEquivalent__trees_63((*a)._kind_6.sons.p->data[i], (*b)._kind_6.sons.p->data[i], strictSymEquality);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!!(T39_)) goto LA40_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA40_: ;
|
|
i_2 += ((NI)1);
|
|
} LA36: ;
|
|
}
|
|
}
|
|
result = NIM_TRUE;
|
|
}
|
|
LA32_: ;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA10_: ;
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA, whichPragma__trees_251)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA result;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* key;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0;
|
|
key = NIM_NIL;
|
|
T1_ = NIM_NIL;
|
|
{
|
|
NIM_BOOL T4_;
|
|
NI T6_;
|
|
T4_ = (NIM_BOOL)0;
|
|
T4_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28));
|
|
if (!(T4_)) goto LA5_;
|
|
T6_ = (NI)0;
|
|
T6_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T4_ = (((NI)0) < T6_);
|
|
LA5_: ;
|
|
if (!T4_) goto LA7_;
|
|
eqcopy___ast_3457(&key, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA2_;
|
|
LA7_: ;
|
|
{
|
|
eqcopy___ast_3457(&key, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA2_: ;
|
|
switch ((*key).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
|
|
{
|
|
result = whichKeyword__idents_287((*key)._kind_5.ident);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
result = whichKeyword__idents_287((*(*key)._kind_4.sym).name);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
|
|
{
|
|
result = ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)9);
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57):
|
|
{
|
|
result = whichPragma__trees_251((*key)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
result = ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0);
|
|
}
|
|
break;
|
|
}
|
|
eqdestroy___ast_3454(&key);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, effectSpec__trees_291)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA effectType) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL oldNimErrFin4_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
if (!(i_2 < colontmp_)) goto LA3 ;
|
|
it = NIM_NIL;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
{
|
|
NIM_BOOL T7_;
|
|
tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA T9_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34));
|
|
if (!(T7_)) goto LA8_;
|
|
T9_ = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0;
|
|
T9_ = whichPragma__trees_251(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
T7_ = (T9_ == effectType);
|
|
LA8_: ;
|
|
if (!T7_) goto LA10_;
|
|
eqcopy___ast_3457(&result, (*it)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T16_;
|
|
if (!!(((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39) || (*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41)))) goto LA14_;
|
|
T16_ = NIM_NIL;
|
|
T16_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39), (*result).info);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
eqsink___ast_3460(&result, T16_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
add__ast_6233(result, (*it)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
}
|
|
LA14_: ;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
{
|
|
LA4_:;
|
|
}
|
|
{
|
|
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin4_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA3: ;
|
|
}
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg, getMagic__trees_144)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op) {
|
|
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg result;
|
|
{ result = (tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0;
|
|
{
|
|
if (!(op == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA3_;
|
|
result = ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0);
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
switch ((*op).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
switch ((*(*op)._kind_6.sons.p->data[((NI)0)]).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
result = (*(*(*op)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
result = ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
result = ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0);
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getRoot__trees_397)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
switch ((*n).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
{
|
|
if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3))) goto LA4_;
|
|
eqcopy___ast_4063(&result, (*n)._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA4_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63):
|
|
{
|
|
result = getRoot__trees_397((*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
|
|
{
|
|
result = getRoot__trees_397((*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
{
|
|
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg T11_;
|
|
T11_ = (tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0;
|
|
T11_ = getMagic__trees_144(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(T11_ == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)126))) goto LA12_;
|
|
result = getRoot__trees_397((*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA12_: ;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NI)0;
|
|
{
|
|
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA3_;
|
|
result = ((NI)0);
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
result = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_165)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)139))) goto LA3_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = safeLen__ast_3318(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA7 ;
|
|
i = i_2;
|
|
{
|
|
NIM_BOOL T10_;
|
|
T10_ = (NIM_BOOL)0;
|
|
T10_ = isCaseObj__trees_165((*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!T10_) goto LA11_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA11_: ;
|
|
i_2 += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstExpr__trees_153)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL T1_;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (NIM_BOOL)0;
|
|
T1_ = ((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
|
|
if (T1_) goto LA2_;
|
|
T1_ = (((*n).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)4)))&31U)))!=0);
|
|
LA2_: ;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pop__trees_32)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NI L;
|
|
NI T1_;
|
|
result = NIM_NIL;
|
|
T1_ = (*s).len;
|
|
L = (NI)(T1_ - ((NI)1));
|
|
result = (*s).p->data[L];
|
|
(*s).p->data[L] = 0;
|
|
shrink__ast_3748(s, ((NI) (L)));
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTreeAux__trees_4)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__xxu3GgaFAGO6lOns9aHaeLQ* visited) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL oldNimErrFin19_;
|
|
NIM_BOOL oldNimErrFin17_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
if (!(n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA3_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** v;
|
|
NI i;
|
|
NI L;
|
|
NI T6_;
|
|
v = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
|
|
i = ((NI)0);
|
|
T6_ = (*visited).len;
|
|
L = T6_;
|
|
{
|
|
while (1) {
|
|
if (!(i < L)) goto LA8 ;
|
|
v = &(*visited).p->data[i];
|
|
{
|
|
if (!((*v) == n)) goto LA11_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA11_: ;
|
|
i += ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
|
|
if (!!(((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23)))) goto LA15_;
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD__2 = NIM_NIL;
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_3457(&colontmpD_, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
add__ast_4147((&(*visited)), colontmpD_);
|
|
{
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ colontmp_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** nSon;
|
|
NI i_2;
|
|
NI L_2;
|
|
NI T20_;
|
|
colontmp_.len = 0; colontmp_.p = NIM_NIL;
|
|
nSon = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
|
|
eqcopy___ast_3726((&colontmp_), (*n)._kind_6.sons);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
|
|
i_2 = ((NI)0);
|
|
T20_ = colontmp_.len;
|
|
L_2 = T20_;
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < L_2)) goto LA22 ;
|
|
nSon = &colontmp_.p->data[i_2];
|
|
{
|
|
NIM_BOOL T25_;
|
|
T25_ = (NIM_BOOL)0;
|
|
T25_ = cyclicTreeAux__trees_4((*nSon), visited);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
|
|
if (!T25_) goto LA26_;
|
|
result = NIM_TRUE;
|
|
eqdestroy___ast_3723((&colontmp_));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
eqdestroy___ast_3454(&colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA26_: ;
|
|
i_2 += ((NI)1);
|
|
} LA22: ;
|
|
}
|
|
{
|
|
LA19_:;
|
|
}
|
|
{
|
|
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3723((&colontmp_));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
*nimErr_ = oldNimErrFin19_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
}
|
|
colontmpD__2 = pop__trees_32(visited);
|
|
(void)(colontmpD__2);
|
|
{
|
|
LA17_:;
|
|
}
|
|
{
|
|
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin17_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA15_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTree__trees_51)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ visited;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
visited.len = 0; visited.p = NIM_NIL;
|
|
visited.len = 0; visited.p = (tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content*) newSeqPayload(0, sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*), NIM_ALIGNOF(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*));
|
|
result = cyclicTreeAux__trees_4(n, (&visited));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
eqdestroy___ast_3723((&visited));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, unnestStmts__trees_346)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115))) goto LA3_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
|
|
x = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = safeLen__ast_3318(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA8 ;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
unnestStmts__trees_346(x, result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 += ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
eqdestroy___ast_3454(&x);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
if (!!(((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23)))) goto LA10_;
|
|
add__ast_6233(result, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA1_;
|
|
LA10_: ;
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, flattenStmts__trees_362)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
unnestStmts__trees_346(n, result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI T3_;
|
|
T3_ = (NI)0;
|
|
T3_ = len__ast_3325(result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!(T3_ == ((NI)1))) goto LA4_;
|
|
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA4_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_411)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI T2_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
T2_ = (NI)0;
|
|
T2_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
colontmp_ = (NI)(T2_ - ((NI)1));
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA4 ;
|
|
i = i_2;
|
|
{
|
|
if (!!(((*(*n)._kind_6.sons.p->data[i]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) || (*(*n)._kind_6.sons.p->data[i]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125)))) goto LA7_;
|
|
result = NIM_FALSE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA7_: ;
|
|
i_2 += ((NI)1);
|
|
} LA4: ;
|
|
}
|
|
}
|
|
result = NIM_TRUE;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, propSpec__trees_323)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA effectType) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL oldNimErrFin4_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
if (!(i_2 < colontmp_)) goto LA3 ;
|
|
it = NIM_NIL;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
{
|
|
NIM_BOOL T7_;
|
|
tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA T9_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34));
|
|
if (!(T7_)) goto LA8_;
|
|
T9_ = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0;
|
|
T9_ = whichPragma__trees_251(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
T7_ = (T9_ == effectType);
|
|
LA8_: ;
|
|
if (!T7_) goto LA10_;
|
|
eqcopy___ast_3457(&result, (*it)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
{
|
|
LA4_:;
|
|
}
|
|
{
|
|
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin4_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA3: ;
|
|
}
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, extractRange__trees_369)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI a, NI b) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
result = newNodeI__ast_3953(k, (*n).info, (NI)((NI)(b - a) + ((NI)1)));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI res;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = (NI)(b - a);
|
|
res = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(res <= colontmp_)) goto LA3 ;
|
|
i = res;
|
|
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[i], (*n)._kind_6.sons.p->data[(NI)(i + a)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
res += ((NI)1);
|
|
} LA3: ;
|
|
}
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_178)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL preventInheritance) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL oldNimErrFin17_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
switch ((*n).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
|
|
{
|
|
result = NIM_TRUE;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
{
|
|
result = isDeepConstExpr__trees_178((*n)._kind_6.sons.p->data[((NI)1)], preventInheritance);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44):
|
|
{
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI colontmp__2;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
colontmp_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38));
|
|
colontmp__2 = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = colontmp_;
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp__2)) goto LA6 ;
|
|
i = i_2;
|
|
{
|
|
NIM_BOOL T9_;
|
|
T9_ = (NIM_BOOL)0;
|
|
T9_ = isDeepConstExpr__trees_178((*n)._kind_6.sons.p->data[i], preventInheritance);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!!(T9_)) goto LA10_;
|
|
result = NIM_FALSE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
} LA6: ;
|
|
}
|
|
}
|
|
{
|
|
if (!((*n).typ == 0)) goto LA14_;
|
|
result = NIM_TRUE;
|
|
}
|
|
goto LA12_;
|
|
LA14_: ;
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
|
|
t = NIM_NIL;
|
|
t = skipTypes__ast_4803((*n).typ, TM__0kvKTJpCwLz5GMPVAM8DVQ_2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
{
|
|
NIM_BOOL T20_;
|
|
T20_ = (NIM_BOOL)0;
|
|
T20_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21));
|
|
if (T20_) goto LA21_;
|
|
T20_ = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)1)))&63U)))!=0);
|
|
LA21_: ;
|
|
if (!T20_) goto LA22_;
|
|
result = NIM_FALSE;
|
|
eqdestroy___ast_3543(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA22_: ;
|
|
{
|
|
if (!((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17))) goto LA26_;
|
|
{
|
|
NIM_BOOL T30_;
|
|
T30_ = (NIM_BOOL)0;
|
|
T30_ = preventInheritance;
|
|
if (!(T30_)) goto LA31_;
|
|
T30_ = !(((*t).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
|
|
LA31_: ;
|
|
if (!T30_) goto LA32_;
|
|
result = NIM_FALSE;
|
|
}
|
|
goto LA28_;
|
|
LA32_: ;
|
|
{
|
|
NIM_BOOL T35_;
|
|
T35_ = (NIM_BOOL)0;
|
|
T35_ = isCaseObj__trees_165((*t).n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
if (!T35_) goto LA36_;
|
|
result = NIM_FALSE;
|
|
}
|
|
goto LA28_;
|
|
LA36_: ;
|
|
{
|
|
result = NIM_TRUE;
|
|
}
|
|
LA28_: ;
|
|
}
|
|
goto LA24_;
|
|
LA26_: ;
|
|
{
|
|
result = NIM_TRUE;
|
|
}
|
|
LA24_: ;
|
|
{
|
|
LA17_:;
|
|
}
|
|
{
|
|
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin17_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA12_: ;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__trees_382)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL T1_;
|
|
NIM_BOOL T2_;
|
|
NIM_BOOL T3_;
|
|
NIM_BOOL T7_;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (NIM_BOOL)0;
|
|
T2_ = (NIM_BOOL)0;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T3_)) goto LA4_;
|
|
T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20));
|
|
LA4_: ;
|
|
T2_ = T3_;
|
|
if (!(T2_)) goto LA5_;
|
|
T2_ = !(((*(*n)._kind_4.sym).position == ((NI)0)));
|
|
LA5_: ;
|
|
T1_ = T2_;
|
|
if (T1_) goto LA6_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6));
|
|
if (!(T7_)) goto LA8_;
|
|
T7_ = !(((*n)._kind_1.intVal == IL64(0)));
|
|
LA8_: ;
|
|
T1_ = T7_;
|
|
LA6_: ;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNoSideEffectPragma__trees_264)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA k;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
k = whichPragma__trees_251(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
if (!(k == ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)9))) goto LA3_;
|
|
k = whichPragma__trees_251((*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
result = (k == ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)109));
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, findPragma__trees_278)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA which) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL oldNimErrFin6_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
{
|
|
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)90))) goto LA3_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son;
|
|
son = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = safeLen__ast_3318(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA9 ;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&son, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
{
|
|
tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA T12_;
|
|
T12_ = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0;
|
|
T12_ = whichPragma__trees_251(son);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
if (!(T12_ == which)) goto LA13_;
|
|
eqsink___ast_3460(&result, son);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
son = 0;
|
|
eqdestroy___ast_3454(&son);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA13_: ;
|
|
i_2 += ((NI)1);
|
|
} LA9: ;
|
|
}
|
|
}
|
|
{
|
|
LA6_:;
|
|
}
|
|
{
|
|
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&son);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin6_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
}
|
|
LA3_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|