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

1903 lines
71 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 32
#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_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag;
typedef struct tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ;
typedef struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ;
typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw tySequence__oJNUGvppFP9c7bQcQ1vFDNw;
typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content;
typedef struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA tySequence__npXKLeClRo4ZDs6rPxQ9bRA;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw tySequence__o8paxaScVM7VHajE9a8rbyw;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content tySequence__o8paxaScVM7VHajE9a8rbyw_Content;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg tySequence__SE64IkxZVzsW0aLsNjnJHg;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content tySequence__SE64IkxZVzsW0aLsNjnJHg_Content;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
typedef struct tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
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 tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg;
typedef struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ;
struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw {
NI len; tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content* p;
};
struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ {
NI counter;
tySequence__oJNUGvppFP9c7bQcQ1vFDNw data;
};
struct tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* genSymOwner;
NIM_BOOL instLines;
NIM_BOOL isDeclarative;
tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ mapping;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic;
NI instID;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w;
typedef NU8 tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow;
typedef NU8 tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg {
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow targetCPU;
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow hostCPU;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg targetOS;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag;
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA {
NI len; tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw data;
NI counter;
};
struct tySequence__o8paxaScVM7VHajE9a8rbyw {
NI len; tySequence__o8paxaScVM7VHajE9a8rbyw_Content* p;
};
struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag errorOutputs;
tySequence__npXKLeClRo4ZDs6rPxQ9bRA msgContext;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__o8paxaScVM7VHajE9a8rbyw fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ;
typedef NU8 tyEnum_Command__b145RBTl7bacomLHdBguHg;
typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg;
typedef NU8 tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ;
typedef NU8 tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA;
typedef NU8 tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g;
typedef NU8 tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg;
typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g;
typedef NU8 tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw[12];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA;
struct tySequence__SE64IkxZVzsW0aLsNjnJHg {
NI len; tySequence__SE64IkxZVzsW0aLsNjnJHg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result, void* ClE_0);
void* ClE_0;
} tyProc__UwsGaXGCDEc7Akhwij5HRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 msg, tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g severity, void* ClE_0);
void* ClE_0;
} tyProc__9a8L4QvXftisHTVzCsMCKUA;
struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg target;
NI linesCompiled;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag m;
tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ filenameOption;
NimStringV2 unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__b145RBTl7bacomLHdBguHg cmd;
NimStringV2 cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringV2 headerFile;
tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features;
tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g legacyFeatures;
NimStringV2 arguments;
tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw modifiedyNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw cmdlineNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw foreignPackageNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw notes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw warningAsErrors;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
NimStringV2 outFile;
NimStringV2 outDir;
NimStringV2 jsonBuildFile;
NimStringV2 prefixDir;
NimStringV2 libpath;
NimStringV2 nimcacheDir;
tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringV2 projectName;
NimStringV2 projectPath;
NimStringV2 projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringV2 command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
NimStringV2 commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
NimStringV2 docSeeSrcUrl;
NimStringV2 docRoot;
NimStringV2 docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
NimStringV2 linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
NimStringV2 linkOptions;
NimStringV2 compileOptions;
NimStringV2 cCompilerPath;
tySequence__SE64IkxZVzsW0aLsNjnJHg toCompile;
tyProc__UwsGaXGCDEc7Akhwij5HRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__9a8L4QvXftisHTVzCsMCKUA structuredErrorHook;
NimStringV2 cppCustomNamespace;
NimStringV2 nimMainPrefix;
tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ* vmProfileData;
};
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
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 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 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 NU16 tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA;
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
typedef NU8 tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ[21];
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key;
RootObj* val;
};
#ifndef tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP
#define tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP
struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content { NI cap; tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0;
NimStringV2 Field1;
};
#ifndef tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
#define tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content { NI cap; tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringV2 Field1;
NI32 Field2;
};
#ifndef tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
#define tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg {
NimStringV2 fullPath;
NimStringV2 projPath;
NimStringV2 shortName;
NimStringV2 quotedName;
NimStringV2 quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
NimStringV2 dirtyFile;
NimStringV2 hash;
NIM_BOOL dirty;
};
#ifndef tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
#define tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content { NI cap; tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringV2 Field1;
};
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og;
struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ {
NimStringV2 nimname;
NimStringV2 cname;
NimStringV2 obj;
tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og flags;
NimStringV2 customArgs;
};
#ifndef tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
#define tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content { NI cap; tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ 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
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 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_NOINLINE(void, liMessage__msgs_1172)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg, tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, evalTemplateArgs__evaltempl_197)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NIM_BOOL fromHlo);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr, NimStringV2 a);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_50)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA renderFlags);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
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, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_3378)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg** dest, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_266)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ** dest, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_5200)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* x);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3247)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag** dest, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* src, NIM_BOOL cyclic);
static N_INLINE(NIM_BOOL, isAtom__ast_6204)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, evalTemplateAux__evaltempl_24)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* templ, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actual, tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src);
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_176)(NimStringV2* result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1510)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_65)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ t, tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, copySym__ast_5140)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id);
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x);
N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_71)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* t, tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key, RootObj* val);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIdentNode__ast_4780)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, getIdent__idents_166)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NimStringV2 identifier);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4787)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__evaltempl_19)(tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__ast_5733)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, setInfoRecursive__ast_3918)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples__ast_6127)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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*, wrapInComesFrom__evaltempl_260)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___evaltempl_322)(tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* dest);
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, nimDestroyAndDispose)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4524)(tySequence__oJNUGvppFP9c7bQcQ1vFDNw* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_3149)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3157)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_224)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3232)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* dest);
static const struct {
NI cap; NIM_CHAR data[33+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_2 = { 33 | NIM_STRLIT_FLAG, "template instantiation too nested" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_3 = {33, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_2};
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_5 = { 39 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/evaltempl.nim" };
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_6 = { 25 | NIM_STRLIT_FLAG, "wrong number of arguments" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_7 = {25, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_6};
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_9 = { 39 | NIM_STRLIT_FLAG, "\'$1\' has unspecified generic parameters" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_10 = {39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_9};
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_12 = {25, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_6};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_14 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_15 = {1, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_14};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_16 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_17 = {2, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_16};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_18 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_19 = {1, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_18};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_21 = { 7 | NIM_STRLIT_FLAG, "`gensym" };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_22 = {7, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_21};
static NIM_CONST tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ TM__bDep2LgNruC0l9bDFCq6TlQ_23 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x1f, 0x00, 0x3c, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00}
;
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__bDep2LgNruC0l9bDFCq6TlQ_24 = { 15 | NIM_STRLIT_FLAG, "illformed AST: " };
static const NimStringV2 TM__bDep2LgNruC0l9bDFCq6TlQ_25 = {15, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_24};
extern TNimTypeV2 NTIv2__4yiDOEx3Y9aOTV1fsziBtCQ_;
extern TNimTypeV2 NTIv2__C1k2TcDRT9cU4DEatQIT09ag_;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_4 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)180),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_8 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)124),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_11 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)127),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_13 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)139),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_20 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)49),
((NI)8)}
;
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_338;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__bDep2LgNruC0l9bDFCq6TlQ_26 = {{39, (NimStrPayload*)&TM__bDep2LgNruC0l9bDFCq6TlQ_5},
((NI)201),
((NI)16)}
;
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_: ;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, evalTemplateArgs__evaltempl_197)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NIM_BOOL fromHlo) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NI colontmpD_;
NI colontmpD__2;
NI colontmpD__3;
NI colontmpD__4;
NI totalParams;
NI genericParams;
NI expectedRegularParams;
NI T9_;
NI givenRegularParams;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = (NI)0;
colontmpD__2 = (NI)0;
colontmpD__3 = (NI)0;
colontmpD__4 = (NI)0;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
{
NI T2_;
T2_ = (NI)0;
T2_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = (NI)(T2_ - ((NI)1));
totalParams = colontmpD_;
}
break;
default:
{
colontmpD__2 = ((NI)0);
totalParams = colontmpD__2;
}
break;
}
{
if (!fromHlo) goto LA6_;
colontmpD__3 = ((NI)0);
genericParams = colontmpD__3;
}
goto LA4_;
LA6_: ;
{
colontmpD__4 = len__ast_3325((*(*s).ast)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genericParams = colontmpD__4;
}
LA4_: ;
T9_ = (NI)0;
T9_ = len__ast_5071((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
expectedRegularParams = (NI)(T9_ - ((NI)1));
givenRegularParams = (NI)(totalParams - genericParams);
{
if (!(givenRegularParams < ((NI)0))) goto LA12_;
givenRegularParams = ((NI)0);
}
LA12_: ;
{
if (!((NI)(expectedRegularParams + genericParams) < totalParams)) goto LA16_;
liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__bDep2LgNruC0l9bDFCq6TlQ_7, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), TM__bDep2LgNruC0l9bDFCq6TlQ_8, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA16_: ;
{
NimStringV2 colontmpD__5;
tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA T23_;
NimStringV2 T24_;
if (!(totalParams < genericParams)) goto LA20_;
colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
T23_ = 0;
T24_.len = 0; T24_.p = NIM_NIL;
T24_ = renderTree__renderer_50(n, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__5 = nsuFormatSingleElem(TM__bDep2LgNruC0l9bDFCq6TlQ_10, T24_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__5, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), TM__bDep2LgNruC0l9bDFCq6TlQ_11, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__5));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA20_: ;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i;
NI res;
i = (NI)0;
res = ((NI)1);
{
while (1) {
if (!(res <= givenRegularParams)) goto LA29 ;
i = res;
add__ast_6233(result, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res += ((NI)1);
} LA29: ;
}
}
{
NI i_2;
NI colontmp_;
NI res_2;
i_2 = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (NI)(givenRegularParams + ((NI)1));
res_2 = colontmp_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* default_1;
if (!(res_2 <= expectedRegularParams)) goto LA32 ;
default_1 = NIM_NIL;
i_2 = res_2;
eqcopy___ast_3457(&default_1, (*(*(*(*(*s).typ).n)._kind_6.sons.p->data[i_2])._kind_4.sym).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
{
NIM_BOOL T36_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
T36_ = (NIM_BOOL)0;
T36_ = (default_1 == 0);
if (T36_) goto LA37_;
T36_ = ((*default_1).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
LA37_: ;
if (!T36_) goto LA38_;
colontmpD__6 = NIM_NIL;
liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__bDep2LgNruC0l9bDFCq6TlQ_12, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__bDep2LgNruC0l9bDFCq6TlQ_13, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
colontmpD__6 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
{
LA40_:;
}
{
oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
*nimErr_ = oldNimErrFin40_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
}
goto LA34_;
LA38_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
colontmpD__7 = NIM_NIL;
colontmpD__7 = copyTree__ast_5856(default_1);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
{
LA44_:;
}
{
oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
*nimErr_ = oldNimErrFin44_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
}
LA34_: ;
res_2 += ((NI)1);
{
LA33_:;
}
{
oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&default_1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin33_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA32: ;
}
}
{
NI i_3;
NI res_3;
i_3 = (NI)0;
res_3 = ((NI)1);
{
while (1) {
if (!(res_3 <= genericParams)) goto LA51 ;
i_3 = res_3;
add__ast_6233(result, (*n)._kind_6.sons.p->data[(NI)(givenRegularParams + i_3)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res_3 += ((NI)1);
} LA51: ;
}
}
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isAtom__ast_6204)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) <= (*n).kind);
if (!(T1_)) goto LA2_;
T1_ = ((*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
LA2_: ;
result = T1_;
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;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
{
if (!(((NI)0) < src.len)) goto LA3_;
copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1)))));
(*dest).len += src.len;
}
LA3_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x) {
addInt__stdZprivateZdigitsutils_176(result, ((NI64) (x)));
}
static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
NimStringV2 result;
result.len = 0; result.p = NIM_NIL;
prepareAdd((&result), info.Field0.len + 0);
appendString((&result), info.Field0);
{
if (!(((NI)0) < info.Field1)) goto LA3_;
prepareAdd((&result), 1);
appendString((&result), TM__bDep2LgNruC0l9bDFCq6TlQ_15);
addInt__stdZprivateZdigitsutils_198((&result), info.Field1);
{
if (!(((NI)0) < (NI)(info.Field2 + ((NI)1)))) goto LA7_;
prepareAdd((&result), 2);
appendString((&result), TM__bDep2LgNruC0l9bDFCq6TlQ_17);
addInt__stdZprivateZdigitsutils_198((&result), (NI)(info.Field2 + ((NI)1)));
}
LA7_: ;
prepareAdd((&result), 1);
appendString((&result), TM__bDep2LgNruC0l9bDFCq6TlQ_19);
}
LA3_: ;
return result;
}
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).symId += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).symId;
result.item = colontmpD__2;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__evaltempl_19)(tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = copyNode__ast_5733(a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(*ctx).instLines) goto LA3_;
setInfoRecursive__ast_3918(result, (*b).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, evalTemplateAux__evaltempl_24)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* templ, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actual, tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin54_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin60_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin104_;
NIM_BOOL oldNimErrFin112_;
NIM_BOOL oldNimErrFin135_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*templ).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
s = NIM_NIL;
eqcopy___ast_4063(&s, (*templ)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
NIM_BOOL T5_;
NIM_BOOL T6_;
T5_ = (NIM_BOOL)0;
T6_ = (NIM_BOOL)0;
T6_ = ((*s).owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (!(T6_)) goto LA7_;
T6_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
LA7_: ;
T5_ = T6_;
if (T5_) goto LA8_;
T5_ = ((*s).owner == (*c).owner);
LA8_: ;
if (!T5_) goto LA9_;
{
NIM_BOOL T13_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xX60gensym0_;
T13_ = (NIM_BOOL)0;
T13_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
if (!(T13_)) goto LA14_;
T13_ = ((IL64(1236950581248) & (*s).flags) == IL64(1099511627776));
LA14_: ;
if (!T13_) goto LA15_;
xX60gensym0_ = NIM_NIL;
eqcopy___ast_3457(&xX60gensym0_, (*actual)._kind_6.sons.p->data[(*s).position]);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
if (!((*xX60gensym0_).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152))) goto LA20_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* yX60gensym0_;
yX60gensym0_ = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(xX60gensym0_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA25 ;
i = i_2;
eqcopy___ast_3457(&yX60gensym0_, (*xX60gensym0_)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(result, yX60gensym0_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
i_2 += ((NI)1);
} LA25: ;
}
}
eqdestroy___ast_3454(&yX60gensym0_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
}
goto LA18_;
LA20_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = copyTree__ast_5856(xX60gensym0_);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA18_: ;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&xX60gensym0_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA11_;
LA15_: ;
{
NIM_BOOL T33_;
NIM_BOOL T35_;
NIM_BOOL T37_;
NIM_BOOL T38_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xX60gensym4_;
NI T44_;
T33_ = (NIM_BOOL)0;
T33_ = !(((*s).owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T33_)) goto LA34_;
T35_ = (NIM_BOOL)0;
T35_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)4));
if (T35_) goto LA36_;
T37_ = (NIM_BOOL)0;
T38_ = (NIM_BOOL)0;
T38_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7));
if (!(T38_)) goto LA39_;
T38_ = !(((*s).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA39_: ;
T37_ = T38_;
if (!(T37_)) goto LA40_;
T37_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12));
LA40_: ;
T35_ = T37_;
LA36_: ;
T33_ = T35_;
LA34_: ;
if (!T33_) goto LA41_;
xX60gensym4_ = NIM_NIL;
T44_ = (NI)0;
T44_ = len__ast_5071((*(*s).owner).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
eqcopy___ast_3457(&xX60gensym4_, (*actual)._kind_6.sons.p->data[(NI)((NI)(T44_ + (*s).position) - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
{
if (!((*xX60gensym4_).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152))) goto LA47_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* yX60gensym4_;
yX60gensym4_ = NIM_NIL;
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = safeLen__ast_3318(xX60gensym4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA52 ;
i_3 = i_4;
eqcopy___ast_3457(&yX60gensym4_, (*xX60gensym4_)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
add__ast_6233(result, yX60gensym4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
i_4 += ((NI)1);
} LA52: ;
}
}
eqdestroy___ast_3454(&yX60gensym4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
}
}
goto LA45_;
LA47_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = copyTree__ast_5856(xX60gensym4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
{
LA54_:;
}
{
oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
*nimErr_ = oldNimErrFin54_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
}
LA45_: ;
{
LA43_:;
}
{
oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&xX60gensym4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin43_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA11_;
LA41_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x;
RootObj* T70_;
x = NIM_NIL;
{
NIM_BOOL T63_;
NimStringV2 argX60gensym7_;
T63_ = (NIM_BOOL)0;
T63_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)37)))&63U)))!=0);
if (T63_) goto LA64_;
T63_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7));
LA64_: ;
if (!!(T63_)) goto LA65_;
argX60gensym7_.len = 0; argX60gensym7_.p = NIM_NIL;
argX60gensym7_ = toFileLineCol__msgs_666(TM__bDep2LgNruC0l9bDFCq6TlQ_20);
if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym7_, TM__bDep2LgNruC0l9bDFCq6TlQ_20);
if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
{
LA67_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym7_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
}
LA65_: ;
T70_ = NIM_NIL;
T70_ = idTableGet__astalgo_65((*c).mapping, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&(s)))));
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
x = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) (T70_));
{
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T75_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T76_;
if (!(x == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA73_;
T75_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
T76_ = NIM_NIL;
T76_ = copySym__ast_5140(s, T75_);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqsink___ast_4066(&x, T76_);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqsink___ast_4066(&(*x).owner, ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
idTablePut__astalgo_71((&(*c).mapping), (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&(s)))), (*((RootObj**) (&(x)))));
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
}
LA73_: ;
{
NimStringV2 colontmpD__3;
NimStringV2 colontmpD__4;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__5;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__6;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
NimStringV2 T81_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T82_;
if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)37)))&63U)))!=0)) goto LA79_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
colontmpD__5 = NIM_NIL;
nimZeroMem((void*)(&colontmpD__6), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
nimZeroMem((void*)(&colontmpD__7), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD__8 = NIM_NIL;
T81_.len = 0; T81_.p = NIM_NIL;
colontmpD__3 = dollar___systemZdollars_3((*c).instID);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
T81_ = rawNewString((*(*x).name).s.len + colontmpD__3.len + 7);
appendString((&T81_), (*(*x).name).s);
appendString((&T81_), TM__bDep2LgNruC0l9bDFCq6TlQ_22);
appendString((&T81_), colontmpD__3);
colontmpD__4 = T81_;
colontmpD__5 = getIdent__idents_166((*c).ic, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
{
if (!(*c).instLines) goto LA85_;
colontmpD__6 = (*actual).info;
T82_ = colontmpD__6;
}
goto LA83_;
LA85_: ;
{
colontmpD__7 = (*templ).info;
T82_ = colontmpD__7;
}
LA83_: ;
colontmpD__8 = newIdentNode__ast_4780(colontmpD__5, T82_);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
add__ast_6233(result, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqdestroy___idents_133(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqdestroy___stdZassertions_13((&colontmpD__4));
eqdestroy___stdZassertions_13((&colontmpD__3));
}
goto LA77_;
LA79_: ;
{
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__9;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T89_;
nimZeroMem((void*)(&colontmpD__9), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
nimZeroMem((void*)(&colontmpD__10), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD__11 = NIM_NIL;
{
if (!(*c).instLines) goto LA92_;
colontmpD__9 = (*actual).info;
T89_ = colontmpD__9;
}
goto LA90_;
LA92_: ;
{
colontmpD__10 = (*templ).info;
T89_ = colontmpD__10;
}
LA90_: ;
colontmpD__11 = newSymNode__ast_4787(x, T89_);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
add__ast_6233(result, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
}
LA77_: ;
{
LA60_:;
}
{
oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin60_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA11_: ;
}
goto LA3_;
LA9_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
colontmpD__12 = NIM_NIL;
colontmpD__12 = copyNode__evaltempl_19((&(*c)), templ, actual);
if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
add__ast_6233(result, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
{
LA98_:;
}
{
oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin98_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA3_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
colontmpD__13 = NIM_NIL;
colontmpD__13 = copyNode__evaltempl_19((&(*c)), templ, actual);
if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
add__ast_6233(result, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA104_;
{
LA104_:;
}
{
oldNimErrFin104_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin104_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res;
if (!(*c).isDeclarative) goto LA110_;
res = NIM_NIL;
res = copyNode__evaltempl_19((&(*c)), templ, actual);
if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
{
NI i_5;
NI colontmp__3;
NI i_6;
i_5 = (NI)0;
colontmp__3 = (NI)0;
colontmp__3 = len__ast_3325(templ);
if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
i_6 = ((NI)0);
{
while (1) {
if (!(i_6 < colontmp__3)) goto LA115 ;
i_5 = i_6;
evalTemplateAux__evaltempl_24((*templ)._kind_6.sons.p->data[i_5], actual, c, res);
if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
i_6 += ((NI)1);
} LA115: ;
}
}
add__ast_6233(result, res);
if (NIM_UNLIKELY(*nimErr_)) goto LA112_;
{
LA112_:;
}
{
oldNimErrFin112_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&res);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin112_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA108_;
LA110_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
colontmpD__14 = NIM_NIL;
colontmpD__14 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*templ).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA108_: ;
}
break;
default:
{
NIM_BOOL isDeclarative;
isDeclarative = NIM_FALSE;
{
NIM_BOOL T122_;
T122_ = (NIM_BOOL)0;
T122_ = ((TM__bDep2LgNruC0l9bDFCq6TlQ_23[(NU)(((*templ).kind))>>3] &(1U<<((NU)(((*templ).kind))&7U)))!=0);
if (!(T122_)) goto LA123_;
T122_ = !((*c).isDeclarative);
LA123_: ;
if (!T122_) goto LA124_;
(*c).isDeclarative = NIM_TRUE;
isDeclarative = NIM_TRUE;
}
LA124_: ;
{
NIM_BOOL T128_;
NIM_BOOL T129_;
T128_ = (NIM_BOOL)0;
T129_ = (NIM_BOOL)0;
T129_ = !((*c).isDeclarative);
if (!(T129_)) goto LA130_;
T129_ = ((*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*templ).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32));
LA130_: ;
T128_ = T129_;
if (!(T128_)) goto LA131_;
T128_ = isRunnableExamples__ast_6127((*templ)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA131_: ;
if (!T128_) goto LA132_;
}
goto LA126_;
LA132_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res_2;
res_2 = NIM_NIL;
res_2 = copyNode__evaltempl_19((&(*c)), templ, actual);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
{
NI i_7;
NI colontmp__4;
NI i_8;
i_7 = (NI)0;
colontmp__4 = (NI)0;
colontmp__4 = len__ast_3325(templ);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
i_8 = ((NI)0);
{
while (1) {
if (!(i_8 < colontmp__4)) goto LA138 ;
i_7 = i_8;
evalTemplateAux__evaltempl_24((*templ)._kind_6.sons.p->data[i_7], actual, c, res_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
i_8 += ((NI)1);
} LA138: ;
}
}
add__ast_6233(result, res_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
{
LA135_:;
}
{
oldNimErrFin135_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&res_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin135_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA126_: ;
{
if (!isDeclarative) goto LA143_;
(*c).isDeclarative = NIM_FALSE;
}
LA143_: ;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, wrapInComesFrom__evaltempl_260)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, res);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result).info = info;
{
NIM_BOOL T3_;
NI T5_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T3_ = (NIM_BOOL)0;
T3_ = ((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115) || (*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126));
if (!(T3_)) goto LA4_;
T5_ = (NI)0;
T5_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = (((NI)0) < T5_);
LA4_: ;
if (!T3_) goto LA6_;
colontmpD_ = NIM_NIL;
colontmpD_ = lastSon__ast_6268(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*colontmpD_).info = info;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((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)8));
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;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3157(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___evaltempl_322)(tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
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).genSymOwner);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).genSymOwner);
}
LA9_: ;
eqdestroy___ast_4524((&(*dest).mapping.data));
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).config);
if (!T13_) goto LA14_;
eqdestroy___options_3149((*dest).config);
nimRawDispose((*dest).config, ((NI)4));
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLastCyclicStatic((*dest).ic, (&NTIv2__4yiDOEx3Y9aOTV1fsziBtCQ_));
if (!T18_) goto LA19_;
eqdestroy___idents_224((*dest).ic);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).ic, ((NI)4));
}
LA19_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T23_) goto LA24_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA24_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, evalTemplate__evaltempl_275)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmpl, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* genSymOwner, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NI* instID, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, NIM_BOOL fromHlo) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* args;
tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ ctx;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
args = NIM_NIL;
nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__7Jzi7qpo50OxGz9aF5HyeJQ));
body = NIM_NIL;
(*conf).evalTemplateCounter += ((NI)1);
{
if (!(((NI)1000) < (*conf).evalTemplateCounter)) goto LA4_;
liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__bDep2LgNruC0l9bDFCq6TlQ_3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), TM__bDep2LgNruC0l9bDFCq6TlQ_4, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
args = evalTemplateArgs__evaltempl_197(n, tmpl, conf, fromHlo);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_4063(&ctx.owner, tmpl);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_4063(&ctx.genSymOwner, genSymOwner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___options_3378(&ctx.config, conf);
eqcopy___idents_266(&ctx.ic, ic, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
initIdTable__ast_5200((&ctx.mapping));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
ctx.instID = (*instID);
eqcopy___ast_3247(&ctx.idgen, idgen, NIM_TRUE);
eqcopy___ast_3457(&body, (*(*tmpl).ast)._kind_6.sons.p->data[((NI)6)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = isAtom__ast_6204(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T8_) goto LA9_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
evalTemplateAux__evaltempl_24(body, args, (&ctx), result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T13_;
T13_ = (NI)0;
T13_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T13_ == ((NI)1))) goto LA14_;
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA11_;
LA14_: ;
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T18_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T18_.len = 0; T18_.p = NIM_NIL;
colontmpD_ = renderTree__renderer_50(result, 4);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
T18_ = rawNewString(colontmpD_.len + 15);
appendString((&T18_), TM__bDep2LgNruC0l9bDFCq6TlQ_25);
appendString((&T18_), colontmpD_);
colontmpD__2 = T18_;
liMessage__msgs_1172(conf, (*result).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__bDep2LgNruC0l9bDFCq6TlQ_26, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
}
goto LA6_;
LA9_: ;
{
result = copyNode__ast_5733(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
ctx.instLines = (((*tmpl).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)36)))&63U)))!=0);
{
if (!ctx.instLines) goto LA24_;
setInfoRecursive__ast_3918(result, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA24_: ;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA28 ;
i = i_2;
evalTemplateAux__evaltempl_24((*body)._kind_6.sons.p->data[i], args, (&ctx), result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 += ((NI)1);
} LA28: ;
}
}
}
LA6_: ;
(*result).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)17))) & 31);
T29_ = NIM_NIL;
T29_ = wrapInComesFrom__evaltempl_260((*n).info, tmpl, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T29_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*conf).evalTemplateCounter -= ((NI)1);
(*instID) += ((NI)1);
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___evaltempl_322((&ctx));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&args);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}