csources_v2/c_code/5_6/@mdfa.nim.c
2022-12-16 10:54:01 +08:00

2529 lines
82 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 tySequence__QhKW39aBdj2b0D43QtN2bjA tySequence__QhKW39aBdj2b0D43QtN2bjA;
typedef struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content tySequence__QhKW39aBdj2b0D43QtN2bjA_Content;
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw;
typedef struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ tySequence__IPtyN4X4M7AM4OiTlP3GXQ;
typedef struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content;
typedef struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg;
typedef struct tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw;
typedef struct tySequence__oFoKqOMdasuVwZhYxHFrVw tySequence__oFoKqOMdasuVwZhYxHFrVw;
typedef struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content tySequence__oFoKqOMdasuVwZhYxHFrVw_Content;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
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_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;
typedef struct tyTuple__SCMnwYO9aLsJgaGprCp9avVA tyTuple__SCMnwYO9aLsJgaGprCp9avVA;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
struct tySequence__QhKW39aBdj2b0D43QtN2bjA {
NI len; tySequence__QhKW39aBdj2b0D43QtN2bjA_Content* p;
};
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ {
NI len; tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content* p;
};
struct tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw {
tySequence__QhKW39aBdj2b0D43QtN2bjA code;
NI inTryStmt;
NI interestingInstructions;
tySequence__IPtyN4X4M7AM4OiTlP3GXQ blocks;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root;
};
typedef NU8 tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg;
struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg {
tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg kind;
union{
NI dest;
struct {tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
} _kind_2;
};
};
struct tySequence__oFoKqOMdasuVwZhYxHFrVw {
NI len; tySequence__oFoKqOMdasuVwZhYxHFrVw_Content* p;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw {
NIM_BOOL isTryBlock;
union{
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* label;
tySequence__oFoKqOMdasuVwZhYxHFrVw breakFixups;
} _isTryBlock_1;
struct {tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finale;
tySequence__qwqHTkRvwhrRyENtudHQ7g raiseFixups;
} _isTryBlock_2;
};
};
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;
};
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
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 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
struct tyTuple__SCMnwYO9aLsJgaGprCp9avVA {
NI Field0;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ Field1;
};
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU8 tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ[21];
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
#define tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content { NI cap; tyTuple__SCMnwYO9aLsJgaGprCp9avVA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw 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__QhKW39aBdj2b0D43QtN2bjA_Content_PP
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg 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
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI 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__oFoKqOMdasuVwZhYxHFrVw_Content_PP
#define tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content { NI cap; tyTuple__SCMnwYO9aLsJgaGprCp9avVA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_776)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* x, tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* value);
N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_274)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_1309)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipTrivials__dfa_1297)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_95)(tySequence__QhKW39aBdj2b0D43QtN2bjA* x, tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg value);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1398)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_932)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_89)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_249)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg);
N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_1334)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_1359)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_1018)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_202)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_281)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI value);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4147)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_1041)(tySequence__oFoKqOMdasuVwZhYxHFrVw* x, tyTuple__SCMnwYO9aLsJgaGprCp9avVA value);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_802)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_838)(tySequence__QhKW39aBdj2b0D43QtN2bjA* s, NI newlen);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_578)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align);
N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_939)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_767)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__dfa_212)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_749)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, jmpBack__dfa_220)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p);
N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_277)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI oldLen);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_442)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest, tySequence__oFoKqOMdasuVwZhYxHFrVw src);
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_456)(tySequence__oFoKqOMdasuVwZhYxHFrVw* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3723)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3726)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest, tySequence__xxu3GgaFAGO6lOns9aHaeLQ src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_439)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest);
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_391)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_1004)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_1282)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_1272)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_1240)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_1112)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_1148)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNode__ast_3934)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_581)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_594)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s, NI newlen);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1412)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1639)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1534)(tySequence__QhKW39aBdj2b0D43QtN2bjA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1077)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* dest);
static const struct {
NI cap; NIM_CHAR data[99+1];
} TM__9aNn2jEg4ezQBM0yZx8s2cA_2 = { 99 | NIM_STRLIT_FLAG, "dfa.nim(101, 3) `low(int) div 2 + 1 < c.code.len - p.int and c.code.len - p.int < high(int) div 2` " };
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_3 = {99, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_2};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__9aNn2jEg4ezQBM0yZx8s2cA_4 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ TM__9aNn2jEg4ezQBM0yZx8s2cA_5 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x80,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__9aNn2jEg4ezQBM0yZx8s2cA_6 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[99+1];
} TM__9aNn2jEg4ezQBM0yZx8s2cA_7 = { 99 | NIM_STRLIT_FLAG, "dfa.nim(101, 3) `low(int) div 2 + 1 < p.int - c.code.len and p.int - c.code.len < high(int) div 2` " };
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_8 = {99, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_7};
static const struct {
NI cap; NIM_CHAR data[82+1];
} TM__9aNn2jEg4ezQBM0yZx8s2cA_9 = { 82 | NIM_STRLIT_FLAG, "dfa.nim(470, 15) `false` dfa construction pass requires the elimination of \'defer\'" };
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_10 = {82, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_9};
extern NIM_BOOL nimInErrorMode__system_3994;
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3994);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_7(p, ((int)0), size);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipTrivials__dfa_1297)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
switch ((*result).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
{
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
gen__dfa_274(c, (*result)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
{
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
goto LA1;
}
break;
}
}
} LA1: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_1309)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n = NIM_NIL;
n = skipTrivials__dfa_1297(c, orig);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA4_;
{
NIM_BOOL T8_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T12_;
T8_ = (NIM_BOOL)0;
T8_ = ((*(*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)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
if (!(T8_)) goto LA9_;
T8_ = ((*n)._kind_4.sym == (*c).root);
LA9_: ;
if (!T8_) goto LA10_;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T12_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4);
colontmpD_ = 0;
eqcopy___ast_3457(&colontmpD_, orig);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T12_._kind_2.n = colontmpD_;
add__dfa_95((&(*c).code), T12_);
(*c).interestingInstructions += ((NI)1);
}
LA10_: ;
}
goto LA2_;
LA4_: ;
{
gen__dfa_274(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_89)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
NI result;
NI T1_;
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T2_;
result = (NI)0;
T1_ = (*c).code.len;
result = T1_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T2_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2);
T2_.dest = ((NI)0);
add__dfa_95((&(*c).code), T2_);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_249)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p) {
NI T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NI T4_;
NI T6_;
T3_ = (NIM_BOOL)0;
T4_ = (*c).code.len;
T3_ = (((NI)IL64(-4611686018427387903)) < (NI)(T4_ - p));
if (!(T3_)) goto LA5_;
T6_ = (*c).code.len;
T3_ = ((NI)(T6_ - p) < ((NI)IL64(4611686018427387903)));
LA5_: ;
if (!!(T3_)) goto LA7_;
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
T9_ = (*c).code.len;
(*c).code.p->data[p].dest = (NI)(T9_ - p);
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_932)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI lab1X60gensym25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
lab1X60gensym25_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
patch__dfa_249(c, lab1X60gensym25_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_1334)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n = NIM_NIL;
n = skipTrivials__dfa_1297(c, orig);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T4_)) goto LA5_;
T4_ = ((*(*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)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
LA5_: ;
if (!T4_) goto LA6_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T12_;
if (!((*n)._kind_4.sym == (*c).root)) goto LA10_;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T12_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3);
colontmpD_ = 0;
eqcopy___ast_3457(&colontmpD_, orig);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T12_._kind_2.n = colontmpD_;
add__dfa_95((&(*c).code), T12_);
(*c).interestingInstructions += ((NI)1);
}
LA10_: ;
}
LA6_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
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(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n).sons.len;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)45)))&63U)))!=0);
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_202)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
NI result;
NI T1_;
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T2_;
result = (NI)0;
T1_ = (*c).code.len;
result = T1_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T2_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
T2_.dest = ((NI)0);
add__dfa_95((&(*c).code), T2_);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_1018)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI lab1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lab1 = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(*c).blocks.p->data[i].isTryBlock) goto LA3_;
add__dfa_281((&(*c).blocks.p->data[i]._isTryBlock_2.raiseFixups), lab1);
}
goto LA1_;
LA3_: ;
{
tySequence__xxu3GgaFAGO6lOns9aHaeLQ trailingFinales;
tyTuple__SCMnwYO9aLsJgaGprCp9avVA T18_;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ blitTmp;
trailingFinales.len = 0; trailingFinales.p = NIM_NIL;
{
if (!(((NI)0) < (*c).inTryStmt)) goto LA8_;
{
NI b;
NI colontmp_;
NI T11_;
NI res;
b = (NI)0;
colontmp_ = (NI)0;
T11_ = ((*c).blocks.len-1);
colontmp_ = T11_;
res = colontmp_;
{
while (1) {
if (!(i <= res)) goto LA13 ;
b = res;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!(*c).blocks.p->data[b].isTryBlock) goto LA16_;
colontmpD_ = NIM_NIL;
colontmpD_ = 0;
eqcopy___ast_3457(&colontmpD_, (*c).blocks.p->data[b]._isTryBlock_2.finale);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_4147((&trailingFinales), colontmpD_);
}
LA16_: ;
res -= ((NI)1);
} LA13: ;
}
}
}
LA8_: ;
T18_.Field0 = lab1;
blitTmp = trailingFinales;
T18_.Field1 = blitTmp;
add__dfa_1041((&(*c).blocks.p->data[i]._isTryBlock_1.breakFixups), T18_);
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_1359)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&t, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T6_;
if (!!((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA4_;
T6_ = NIM_NIL;
T6_ = skipTypes__ast_4803(t, TM__9aNn2jEg4ezQBM0yZx8s2cA_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&t, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)1);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA9 ;
i = i_2;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T12_;
NIM_BOOL T13_;
NI T15_;
T12_ = (NIM_BOOL)0;
T13_ = (NIM_BOOL)0;
T13_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T13_)) goto LA14_;
T15_ = (NI)0;
T15_ = len__ast_5071(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = (i < T15_);
LA14_: ;
T12_ = T13_;
if (!(T12_)) goto LA16_;
T12_ = isOutParam__ast_6694((*t).sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA16_: ;
if (!T12_) goto LA17_;
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA17_: ;
i_2 += ((NI)1);
} LA9: ;
}
}
{
NI lab1X60gensym72_;
if (!NIM_FALSE) goto LA21_;
lab1X60gensym72_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i_3;
NI colontmp__2;
NI T24_;
NI res;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T24_ = ((*c).blocks.len-1);
colontmp__2 = T24_;
res = colontmp__2;
{
while (1) {
if (!(((NI)0) <= res)) goto LA26 ;
i_3 = res;
{
if (!(*c).blocks.p->data[i_3].isTryBlock) goto LA29_;
genBreakOrRaiseAux__dfa_1018(c, i_3, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA23;
}
LA29_: ;
res -= ((NI)1);
} LA26: ;
}
} LA23: ;
patch__dfa_249(c, lab1X60gensym72_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA21_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1398)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch (m) {
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)109):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110):
{
genAndOr__dfa_932(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)32):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)33):
{
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
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)2);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA5 ;
i = i_2;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA5: ;
}
}
}
break;
default:
{
genCall__dfa_1359(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
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(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
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_: ;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_161)(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg* dest, tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg src) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*dest).kind) {
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1):
{
(*dest).dest = 0;
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4):
{
{
NIM_BOOL T5_;
T5_ = (NIM_BOOL)0;
T5_ = nimDecRefIsLast((*dest)._kind_2.n);
if (!T5_) goto LA6_;
eqdestroy___ast_3466((*dest)._kind_2.n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimZeroMem((void*)(&(*(*dest)._kind_2.n)), sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q));
nimRawDispose((*dest)._kind_2.n, ((NI)8));
}
LA6_: ;
}
break;
}
(*dest).kind = 0;
(*dest).kind = src.kind;
switch ((*dest).kind) {
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1):
{
(*dest).dest = src.dest;
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3):
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4):
{
(*dest)._kind_2.n = src._kind_2.n;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_578)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest) {
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(NI));
}
}
N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_802)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
NI oldInteresting;
NI oldLen;
NI T2_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
endings.len = 0; endings.p = NIM_NIL;
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
oldInteresting = (*c).interestingInstructions;
T2_ = (*c).code.len;
oldLen = T2_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA5 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
gen__dfa_274(c, (*it)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
NI T9_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI lab1X60gensym23_;
NI T13_;
T9_ = (NI)0;
T9_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!(T9_ == ((NI)2))) goto LA10_;
colontmpD_ = NIM_NIL;
lab1X60gensym23_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD_ = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
gen__dfa_274(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T13_ = (NI)0;
T13_ = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__dfa_281((&endings), T13_);
patch__dfa_249(c, lab1X60gensym23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA10_: ;
i_2 += ((NI)1);
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA5: ;
}
}
{
if (!(oldInteresting == (*c).interestingInstructions)) goto LA20_;
setLen__dfa_838((&(*c).code), ((NI) (oldLen)));
}
goto LA18_;
LA20_: ;
{
{
NI i_3;
NI colontmp__2;
NI T24_;
NI res;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T24_ = (endings.len-1);
colontmp__2 = T24_;
res = colontmp__2;
{
while (1) {
if (!(((NI)0) <= res)) goto LA26 ;
i_3 = res;
patch__dfa_249(c, endings.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
res -= ((NI)1);
} LA26: ;
}
}
}
LA18_: ;
{
LA1_:;
}
{
eqdestroy___dfa_578((&endings));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_939)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
NIM_BOOL isExhaustive;
NI oldInteresting;
NI oldLen;
NI T2_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
endings.len = 0; endings.p = NIM_NIL;
colontmpD_ = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__9aNn2jEg4ezQBM0yZx8s2cA_6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
isExhaustive = !(((*colontmpD_).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29)));
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
oldInteresting = (*c).interestingInstructions;
T2_ = (*c).code.len;
oldLen = T2_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA5 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
NIM_BOOL T9_;
NI T10_;
NIM_BOOL T12_;
NI T13_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T9_ = (NIM_BOOL)0;
T10_ = (NI)0;
T10_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T9_ = (T10_ == ((NI)1));
if (T9_) goto LA11_;
T12_ = (NIM_BOOL)0;
T13_ = (NI)0;
T13_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T12_ = (i == (NI)(T13_ - ((NI)1)));
if (!(T12_)) goto LA14_;
T12_ = isExhaustive;
LA14_: ;
T9_ = T12_;
LA11_: ;
if (!T9_) goto LA15_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
gen__dfa_274(c, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
goto LA7_;
LA15_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NI lab1X60gensym31_;
NI T22_;
colontmpD__3 = NIM_NIL;
lab1X60gensym31_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
colontmpD__3 = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
gen__dfa_274(c, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
T22_ = (NI)0;
T22_ = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__dfa_281((&endings), T22_);
patch__dfa_249(c, lab1X60gensym31_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA7_: ;
i_2 += ((NI)1);
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA5: ;
}
}
{
if (!(oldInteresting == (*c).interestingInstructions)) goto LA29_;
setLen__dfa_838((&(*c).code), ((NI) (oldLen)));
}
goto LA27_;
LA29_: ;
{
{
NI i_3;
NI colontmp__2;
NI T33_;
NI res;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T33_ = (endings.len-1);
colontmp__2 = T33_;
res = colontmp__2;
{
while (1) {
if (!(((NI)0) <= res)) goto LA35 ;
i_3 = res;
patch__dfa_249(c, endings.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
res -= ((NI)1);
} LA35: ;
}
}
}
LA27_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___dfa_578((&endings));
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__dfa_212)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*c).code.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_749)(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(void, jmpBack__dfa_220)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p) {
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T1_;
NI T10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&T1_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T1_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T1_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1);
{
NIM_BOOL T4_;
NI T5_;
NI T7_;
T4_ = (NIM_BOOL)0;
T5_ = (*c).code.len;
T4_ = (((NI)IL64(-4611686018427387903)) < (NI)(p - T5_));
if (!(T4_)) goto LA6_;
T7_ = (*c).code.len;
T4_ = ((NI)(p - T7_) < ((NI)IL64(4611686018427387903)));
LA6_: ;
if (!!(T4_)) goto LA8_;
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA8_: ;
T10_ = (*c).code.len;
T1_.dest = (NI)(p - T10_);
add__dfa_95((&(*c).code), T1_);
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_497)(tyTuple__SCMnwYO9aLsJgaGprCp9avVA* dest, tyTuple__SCMnwYO9aLsJgaGprCp9avVA src) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
(*dest).Field0 = src.Field0;
if ((*dest).Field1.p != src.Field1.p) { eqdestroy___ast_3723((&(*dest).Field1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
(*dest).Field1.len = src.Field1.len; (*dest).Field1.p = src.Field1.p;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_442)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest, tySequence__oFoKqOMdasuVwZhYxHFrVw src) {
NI T1_;
NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = src.len;
setLen__dfa_456((&(*dest)), T1_);
colontmp_ = ((NI)0);
{
while (1) {
NI T4_;
T4_ = (*dest).len;
if (!(colontmp_ < T4_)) goto LA3 ;
(*dest).p->data[colontmp_].Field0 = src.p->data[colontmp_].Field0;
eqcopy___ast_3726((&(*dest).p->data[colontmp_].Field1), src.p->data[colontmp_].Field1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmp_ += ((NI)1);
} LA3: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_439)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest) {
NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmp_ = ((NI)0);
{
while (1) {
NI T3_;
T3_ = (*dest).len;
if (!(colontmp_ < T3_)) goto LA2 ;
eqdestroy___ast_3723((&(*dest).p->data[colontmp_].Field1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmp_ += ((NI)1);
} LA2: ;
}
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__SCMnwYO9aLsJgaGprCp9avVA));
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_433)(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* dest, tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* src) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*dest).isTryBlock) {
case NIM_FALSE:
{
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = nimDecRefIsLast((*dest)._isTryBlock_1.label);
if (!T4_) goto LA5_;
nimDestroyAndDispose((*dest)._isTryBlock_1.label);
}
LA5_: ;
eqdestroy___dfa_439((&(*dest)._isTryBlock_1.breakFixups));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest)._isTryBlock_1.breakFixups.len = 0; (*dest)._isTryBlock_1.breakFixups.p = NIM_NIL;
}
break;
case NIM_TRUE:
{
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = nimDecRefIsLast((*dest)._isTryBlock_2.finale);
if (!T10_) goto LA11_;
eqdestroy___ast_3466((*dest)._isTryBlock_2.finale);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimZeroMem((void*)(&(*(*dest)._isTryBlock_2.finale)), sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q));
nimRawDispose((*dest)._isTryBlock_2.finale, ((NI)8));
}
LA11_: ;
eqdestroy___dfa_578((&(*dest)._isTryBlock_2.raiseFixups));
(*dest)._isTryBlock_2.raiseFixups.len = 0; (*dest)._isTryBlock_2.raiseFixups.p = NIM_NIL;
}
break;
default:
{
}
break;
}
(*dest).isTryBlock = 0;
(*dest).isTryBlock = (*src).isTryBlock;
switch ((*dest).isTryBlock) {
case NIM_FALSE:
{
(*dest)._isTryBlock_1.label = (*src)._isTryBlock_1.label;
(*dest)._isTryBlock_1.breakFixups = (*src)._isTryBlock_1.breakFixups;
}
break;
case NIM_TRUE:
{
(*dest)._isTryBlock_2.finale = (*src)._isTryBlock_2.finale;
(*dest)._isTryBlock_2.raiseFixups = (*src)._isTryBlock_2.raiseFixups;
}
break;
default:
{
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_277)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI oldLen) {
tySequence__qwqHTkRvwhrRyENtudHQ7g exits;
NI T2_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
exits.len = 0; exits.p = NIM_NIL;
T2_ = (NI)0;
T2_ = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__dfa_281((&exits), T2_);
{
tySequence__oFoKqOMdasuVwZhYxHFrVw colontmp_;
tyTuple__SCMnwYO9aLsJgaGprCp9avVA* f;
NI i;
NI L;
NI T5_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
f = (tyTuple__SCMnwYO9aLsJgaGprCp9avVA*)0;
eqcopy___dfa_442((&colontmp_), (*c).blocks.p->data[oldLen]._isTryBlock_1.breakFixups);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
i = ((NI)0);
T5_ = colontmp_.len;
L = T5_;
{
while (1) {
NI T15_;
if (!(i < L)) goto LA7 ;
f = (&colontmp_.p->data[i]);
patch__dfa_249(c, (*f).Field0);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
{
tySequence__xxu3GgaFAGO6lOns9aHaeLQ colontmp__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** finale;
NI i_2;
NI L_2;
NI T10_;
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
finale = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
eqcopy___ast_3726((&colontmp__2), (*f).Field1);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
i_2 = ((NI)0);
T10_ = colontmp__2.len;
L_2 = T10_;
{
while (1) {
if (!(i_2 < L_2)) goto LA12 ;
finale = &colontmp__2.p->data[i_2];
gen__dfa_274(c, (*finale));
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
i_2 += ((NI)1);
} LA12: ;
}
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3723((&colontmp__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
}
T15_ = (NI)0;
T15_ = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
add__dfa_281((&exits), T15_);
i += ((NI)1);
} LA7: ;
}
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___dfa_439((&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin4_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
NI* e;
NI i_3;
NI L_3;
NI T19_;
e = (NI*)0;
i_3 = ((NI)0);
T19_ = exits.len;
L_3 = T19_;
{
while (1) {
if (!(i_3 < L_3)) goto LA21 ;
e = (&exits.p->data[i_3]);
patch__dfa_249(c, (*e));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_3 += ((NI)1);
} LA21: ;
}
}
setLen__dfa_391((&(*c).blocks), ((NI) (oldLen)));
{
LA1_:;
}
{
eqdestroy___dfa_578((&exits));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_767)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI lab1;
NI oldLenX60gensym15_;
NI T1_;
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lab1 = genLabel__dfa_212((&(*c)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (*c).blocks.len;
oldLenX60gensym15_ = T1_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
T2_.isTryBlock = NIM_FALSE;
T2_._isTryBlock_1.label = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL);
add__dfa_776((&(*c).blocks), (&T2_));
{
NIM_BOOL T5_;
T5_ = (NIM_BOOL)0;
T5_ = isTrue__dfa_749((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T5_) goto LA6_;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
jmpBack__dfa_220(c, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA6_: ;
{
NI lab1X60gensym19_;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
lab1X60gensym19_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
jmpBack__dfa_220(c, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
patch__dfa_249(c, lab1X60gensym19_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
popBlock__dfa_277(c, oldLenX60gensym15_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_1004)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NI oldLenX60gensym33_;
NI T1_;
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
T1_ = (*c).blocks.len;
oldLenX60gensym33_ = T1_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
T2_.isTryBlock = NIM_FALSE;
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_._isTryBlock_1.label = colontmpD_;
add__dfa_776((&(*c).blocks), (&T2_));
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
popBlock__dfa_277(c, oldLenX60gensym33_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_1272)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NI T5_;
T3_ = (NIM_BOOL)0;
T3_ = ((*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16));
if (!(T3_)) goto LA4_;
T5_ = (NI)0;
T5_ = len__ast_3325((*(*c).owner).ast);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = (((NI)7) < T5_);
LA4_: ;
if (!T3_) goto LA6_;
gen__dfa_274(c, (*(*(*c).owner).ast)._kind_6.sons.p->data[((NI)7)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_1282)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
(*c).interestingInstructions += ((NI)1);
{
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA3_;
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
genImplicitReturn__dfa_1272(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
genBreakOrRaiseAux__dfa_1018(c, ((NI)0), n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_1240)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
(*c).interestingInstructions += ((NI)1);
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) < (*c).inTryStmt)) goto LA3_;
{
NI i;
NI colontmp_;
NI T6_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T6_ = ((*c).blocks.len-1);
colontmp_ = T6_;
res = colontmp_;
{
while (1) {
if (!(((NI)0) <= res)) goto LA8 ;
i = res;
{
if (!(*c).blocks.p->data[i].isTryBlock) goto LA11_;
genBreakOrRaiseAux__dfa_1018(c, i, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA11_: ;
res -= ((NI)1);
} LA8: ;
}
}
}
goto LA1_;
LA3_: ;
{
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T14_;
NI T15_;
nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T14_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
T15_ = (*c).code.len;
T14_.dest = (NI)(((NI)IL64(9223372036854775807)) - T15_);
add__dfa_95((&(*c).code), T14_);
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_1112)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
(*c).interestingInstructions += ((NI)1);
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA3_;
{
NI i;
NI colontmp_;
NI T6_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T6_ = ((*c).blocks.len-1);
colontmp_ = T6_;
res = colontmp_;
{
while (1) {
if (!(((NI)0) <= res)) goto LA8 ;
i = res;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = !((*c).blocks.p->data[i].isTryBlock);
if (!(T11_)) goto LA12_;
T11_ = ((*c).blocks.p->data[i]._isTryBlock_1.label == (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
LA12_: ;
if (!T11_) goto LA13_;
genBreakOrRaiseAux__dfa_1018(c, i, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA13_: ;
res -= ((NI)1);
} LA8: ;
}
}
}
goto LA1_;
LA3_: ;
{
{
NI i_2;
NI colontmp__2;
NI T17_;
NI res_2;
i_2 = (NI)0;
colontmp__2 = (NI)0;
T17_ = ((*c).blocks.len-1);
colontmp__2 = T17_;
res_2 = colontmp__2;
{
while (1) {
if (!(((NI)0) <= res_2)) goto LA19 ;
i_2 = res_2;
{
if (!!((*c).blocks.p->data[i_2].isTryBlock)) goto LA22_;
genBreakOrRaiseAux__dfa_1018(c, i_2, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA22_: ;
res_2 -= ((NI)1);
} LA19: ;
}
}
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_581)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src) {
NI T1_;
NI colontmp_;
T1_ = src.len;
setLen__dfa_594((&(*dest)), T1_);
colontmp_ = ((NI)0);
{
while (1) {
NI T4_;
T4_ = (*dest).len;
if (!(colontmp_ < T4_)) goto LA3 ;
(*dest).p->data[colontmp_] = src.p->data[colontmp_];
colontmp_ += ((NI)1);
} LA3: ;
}
}
N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_1148)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fin;
NI oldLen;
NI T2_;
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T3_;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
endings.len = 0; endings.p = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
fin = NIM_NIL;
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
T2_ = (*c).blocks.len;
oldLen = T2_;
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
T3_.isTryBlock = NIM_TRUE;
{
NI T6_;
NI T9_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp;
T6_ = (NI)0;
T6_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!((*(*n)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA7_;
T9_ = (NI)0;
T9_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&colontmpD_, (*n)._kind_6.sons.p->data[(NI)(T9_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
blitTmp = colontmpD_;
colontmpD_ = 0;
T3_._isTryBlock_2.finale = blitTmp;
}
goto LA4_;
LA7_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp_2;
colontmpD__2 = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
blitTmp_2 = colontmpD__2;
colontmpD__2 = 0;
T3_._isTryBlock_2.finale = blitTmp_2;
}
LA4_: ;
add__dfa_776((&(*c).blocks), (&T3_));
(*c).inTryStmt += ((NI)1);
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*c).inTryStmt -= ((NI)1);
{
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
NI* f;
NI i;
NI L;
NI T12_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
f = (NI*)0;
eqcopy___dfa_581((&colontmp_), (*c).blocks.p->data[oldLen]._isTryBlock_2.raiseFixups);
i = ((NI)0);
T12_ = colontmp_.len;
L = T12_;
{
while (1) {
if (!(i < L)) goto LA14 ;
f = (&colontmp_.p->data[i]);
patch__dfa_249(c, (*f));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i += ((NI)1);
} LA14: ;
}
eqdestroy___dfa_578((&colontmp_));
}
setLen__dfa_391((&(*c).blocks), ((NI) (oldLen)));
{
NI i_2;
NI colontmp__2;
NI i_3;
i_2 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_3 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_3 < colontmp__2)) goto LA17 ;
it = NIM_NIL;
i_2 = i_3;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i_2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NI lab1X60gensym47_;
NI T24_;
if (!!(((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107)))) goto LA21_;
colontmpD__3 = NIM_NIL;
lab1X60gensym47_ = forkI__dfa_89(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
colontmpD__3 = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
gen__dfa_274(c, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
T24_ = (NI)0;
T24_ = gotoI__dfa_202(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
add__dfa_281((&endings), T24_);
patch__dfa_249(c, lab1X60gensym47_);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
{
LA23_:;
}
{
oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
*nimErr_ = oldNimErrFin23_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
LA21_: ;
i_3 += ((NI)1);
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA17: ;
}
}
{
NI i_4;
NI colontmp__3;
NI T30_;
NI res;
i_4 = (NI)0;
colontmp__3 = (NI)0;
T30_ = (endings.len-1);
colontmp__3 = T30_;
res = colontmp__3;
{
while (1) {
if (!(((NI)0) <= res)) goto LA32 ;
i_4 = res;
patch__dfa_249(c, endings.p->data[i_4]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
res -= ((NI)1);
} LA32: ;
}
}
fin = lastSon__ast_6268(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*fin).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA35_;
gen__dfa_274(c, (*fin)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA35_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&fin);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___dfa_578((&endings));
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
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(void, genVarSection__dfa_1412)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = 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 LA2_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA5 ;
i = i_2;
eqcopy___ast_3457(&a, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125))) goto LA8_;
}
goto LA6_;
LA8_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36))) goto LA11_;
colontmpD_ = NIM_NIL;
colontmpD_ = lastSon__ast_6268(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
gen__dfa_274(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
NI i_3;
NI colontmp__2;
NI T15_;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T15_ = (NI)0;
T15_ = len__ast_3325(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
colontmp__2 = (NI)(T15_ - ((NI)2));
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA17 ;
i_3 = i_4;
genDef__dfa_1334(c, (*a)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
i_4 += ((NI)1);
} LA17: ;
}
}
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin13_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA6_;
LA11_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__2 = lastSon__ast_6268(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
gen__dfa_274(c, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
colontmpD__3 = lastSon__ast_6268(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
if (!!(((*colontmpD__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA24_;
genDef__dfa_1334(c, (*a)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA24_: ;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA6_: ;
i_2 += ((NI)1);
} LA5: ;
}
}
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_274)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
genUse__dfa_1309(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
{
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA5_;
s = NIM_NIL;
eqcopy___ast_4063(&s, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
if (!!(((*s).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0)))) goto LA10_;
genMagic__dfa_1398(c, n, (*s).magic);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
goto LA8_;
LA10_: ;
{
genCall__dfa_1359(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA8_: ;
{
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T17_;
NI T18_;
if (!(((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)16)))&63U)))!=0)) goto LA15_;
nimZeroMem((void*)(&T17_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
nimZeroMem((void*)(&T17_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
T17_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
T18_ = (*c).code.len;
T17_.dest = (NI)(((NI)IL64(9223372036854775807)) - T18_);
add__dfa_95((&(*c).code), T17_);
}
LA15_: ;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA5_: ;
{
genCall__dfa_1359(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149):
{
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!((TM__9aNn2jEg4ezQBM0yZx8s2cA_5[(NU)(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0)) goto LA26_;
a = NIM_NIL;
a = skipTrivials__dfa_1297(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA31_;
gen__dfa_274(c, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
}
LA31_: ;
{
LA28_:;
}
{
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin28_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA26_: ;
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
genUse__dfa_1309(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
genIf__dfa_802(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
{
gen__dfa_274(c, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
genCase__dfa_939(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
genWhile__dfa_767(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
{
genBlock__dfa_1004(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
genReturn__dfa_1282(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
genRaise__dfa_1240(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
genBreak__dfa_1112(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)154):
{
genTry__dfa_1148(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104):
{
{
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 LA47_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA50 ;
i = i_2;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
gen__dfa_274(c, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
i_2 += ((NI)1);
} LA50: ;
}
}
{
LA47_:;
}
{
oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin47_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)91):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = lastSon__ast_6268(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
gen__dfa_274(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
{
LA54_:;
}
{
oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin54_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)71):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)72):
{
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
{
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
{
genVarSection__dfa_1412(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)105):
{
{
if (!NIM_TRUE) goto LA63_;
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_10);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA63_: ;
}
break;
default:
{
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1077)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* dest) {
NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmp_ = ((NI)0);
{
while (1) {
NI T3_;
T3_ = (*dest).len;
if (!(colontmp_ < T3_)) goto LA2 ;
switch ((*dest).p->data[colontmp_].isTryBlock) {
case NIM_FALSE:
{
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = nimDecRefIsLast((*dest).p->data[colontmp_]._isTryBlock_1.label);
if (!T7_) goto LA8_;
nimDestroyAndDispose((*dest).p->data[colontmp_]._isTryBlock_1.label);
}
LA8_: ;
eqdestroy___dfa_439((&(*dest).p->data[colontmp_]._isTryBlock_1.breakFixups));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case NIM_TRUE:
{
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).p->data[colontmp_]._isTryBlock_2.finale);
if (!T13_) goto LA14_;
eqdestroy___ast_3466((*dest).p->data[colontmp_]._isTryBlock_2.finale);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).p->data[colontmp_]._isTryBlock_2.finale, ((NI)8));
}
LA14_: ;
eqdestroy___dfa_578((&(*dest).p->data[colontmp_]._isTryBlock_2.raiseFixups));
}
break;
default:
{
}
break;
}
colontmp_ += ((NI)1);
} LA2: ;
}
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1639)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqdestroy___dfa_1534((&(*dest).code));
eqdestroy___dfa_1077((&(*dest).blocks));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).owner);
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest).owner);
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).root);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).root);
}
LA9_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__QhKW39aBdj2b0D43QtN2bjA, constructCfg__dfa_1507)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root) {
tySequence__QhKW39aBdj2b0D43QtN2bjA result;
tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw c;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
NI oldLenX60gensym96_;
NI T2_;
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
nimZeroMem((void*)(&c), sizeof(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw));
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)(&c), sizeof(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw));
c.code.len = 0; c.code.p = (tySequence__QhKW39aBdj2b0D43QtN2bjA_Content*) newSeqPayload(0, sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg), NIM_ALIGNOF(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
c.blocks.len = 0; c.blocks.p = (tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content*) newSeqPayload(0, sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw), NIM_ALIGNOF(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
c.owner = colontmpD_;
colontmpD__2 = 0;
eqcopy___ast_4063(&colontmpD__2, root);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
c.root = colontmpD__2;
T2_ = c.blocks.len;
oldLenX60gensym96_ = T2_;
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
T3_.isTryBlock = NIM_FALSE;
colontmpD__3 = 0;
eqcopy___ast_4063(&colontmpD__3, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_._isTryBlock_1.label = colontmpD__3;
add__dfa_776((&c.blocks), (&T3_));
gen__dfa_274((&c), body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*root).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11))) goto LA6_;
genImplicitReturn__dfa_1272((&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
popBlock__dfa_277((&c), oldLenX60gensym96_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = c.code;
c.code.len = 0; c.code.p = NIM_NIL;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___dfa_1639((&c));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}